NDK 샘플소스를 이클립스로 로드하는 방법입니다.
아주 간단합니다~
하지만 처음하려니 헤메이더군요 ^^;

1. 이클립스에서 New Android Project 창을 띄웁니다.
    [File] - [New] - [Project]

2. New Project에서 Android Project를 선택합니다.
    Create project from existing source 를 선택하고
    Location에 샘슬 소스의 경로를 적어줍니다~
 
  

사용자 삽입 이미지

AND

안드로이드 helloworld  프로젝트만 생성했을 뿐인데
느닷없이 java.lang.IllegalArgumentException 에러가 발생하는 경우
해결될 수도 있습니다.

일반적으로 helloworld 프로젝트 경로에 한글이 포함되어 있는 경우
발생할 수 있다고 하는데,
제 경우 한글 경로는 아니었습니다.

이클립스를 사용하는 경우 메뉴에 Run - Run Configurations 의
설정을 약간 변경한 후에 해결되었습니다.

사용자 삽입 이미지

android 탭의 project 와 Launch Actiond의 Launch 부분이 비어있더군요
그래서 project의 browse버튼 눌러서 찾아주었더니
해결되더군요~

AND

출처: http://comlog.kr/77

닥터 왓슨 (Dr. Watson) 은 명탐정 셜록 홈즈의 든든한 친구로 활약하기도 했지만 우리가 사용하고 있는 윈도우에서도 보이지 않게 많은 활약을 하고 있습니다. :)

윈도우에 고용된 닥터왓슨 (Dr. Watson, drwtsn32.exe) 은 윈도우 응용프로그램에서 오류가 발생했을 때, 해당 오류를 수정하기 용이하도록 오류 정보를 기록하고 메모리 덤프를 저장하는 디버거 (Debugger, 오류를 수정하는데 도움을 주는 프로그램) 역할을 하고 있습니다.

하지만 직접 디버깅 (Debugging, 오류를 수정하는 일) 을 하지 않고, 저장된 오류 정보를 분석하기 힘든 일반 사용자들에게는 그저 월급만 축내는 귀찮은 존재입니다. 오늘은 윈도우 응용프로그램 오류 디버거닥터 왓슨 (Dr. Watson) 을 해고하여 보겠습니다. :)

먼저, 윈도우 프로그램에서 오류가 발생했을 때 닥터 왓슨이 아무 일도 하지 않게 설정하여 보겠습니다.
'시작 - 실행' 을 선택하거나 '윈도우 + R' 키를 눌러 실행창을 띄운 후 다음 명령어를 입력합니다.

drwtsn32


그러면 아래와 같은 닷터왓슨 설정창이 나타납니다.

윈도우 닥터 왓슨 Dr. Watson drwtsn32.exe


위 화면같이 '명령 개수' 와 '저장할 오류 개수' 를 '0' 으로 수정하고, 아래 옵션 항목의 모든 체크를 해제합니다.
이제 닥터 왓슨은 응용프로그램에서 오류가 발생해도 아무런 일도 수행하지 않습니다. :) 즐거운 컴퓨터고난기록기

만약 윈도우가 디버거 자체를 사용하지 않도록 하려면 아래의 레지스트리 키를 삭제합니다.

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug


레지스트리 작업을 할 때는 그 어느 때보다 주의를 기울여야 합니다. 자칫 다른 레지스트리의 항목을 잘못 수정하거나 삭제하면 윈도우 동작에 이상이 발생할 수도 있습니다.

반대로, 다시 닥터 왓슨을 윈도우 기본 디버거로 사용하려면 실행창에서 다음 명령어를 입력합니다.

drwtsn32 -i
AND

출처 : 「윈도우즈 MFC 프로그래밍 - 원리...」본문 中 ### - 71페이지



매로크의 # ##

#define macro_define(str)   (#str)

가령 매크로를 위와 같이 정의하고, char *p = macro_define(string); 이라고 코드를 구현한다면 p는
"string"이라는 문자열을가리키게 된다, 즉 매크로정의의 인자를 문자열화 한다.

다음의 매크로 정의에 사용되는 ##은 매크로 인자를 연결하여 새로운 토큰을 구성한다.

#define macro_define(t1,t2)   (t1##t2)

위와 같이 매크로를 정의하고 int macro_define(na,na2); 라고 코드를 기술하면 int na1na2;로 구현한 것과 같다.
즉, ## 는 전처리 단계에서 두 개의 매크로 인자를 연결하여 새로운 토큰을 생성한다. 이렇게 매크로 정의에서
사용되는 두개의 #과 ##은 MFC가 자신이 사용하는 여러 매크로( 메세지 매크로, CRuntimeClass 매크로)를
구현하기 위해 내부적으로 자주 사용 한다.

AND

출처: http://blog.naver.com/nerve21i?Redirect=Log&logNo=100067291943

관리목적의 기본 공유 폴더(C$,d$,Admin$,IPC$)의 공유해제하는 방법

레지스트리 정보에서 변경하고 재부팅하면 기본 공유 폴더가 자동 해제된다.

-regedit

HKLM -> System -> CurrentControlSet -> Services -> LanmanServer -> Parameters 에 아래의 조건으로 값을 새로 생성

키 값 : AutoShareWks (Windows XP Pro)

           AutoShareServer (Wind Server2003 혹은 Win2000 Server)

DWORD : 0(Zero)


참고: 외부에서 내 컴퓨터의 공유폴더에 접근하지 못하도록 차단하기

HKLM -> System -> CurrentControlSet -> Control -> LSA 에 아래  조건으로 값 생성

키값: restrictanonymous

데이터형식: DWORD : 1 (Windows XP/2003)

                                    2 (Windows 2000)


XP에서는 SAM 정보 획득 방지를 위해 다음 항목을 확인함

-restrictanonymoussam을 '1'로 변경 (SAM 정보획득 방지)

-everyoneincludesanonymous '0'으로 설정(null세션 사용자차단)


대소문자 주의


3. 공유 폴더 해제하기

3-1) 명령어 입력을 통한 해제: [시작] -> [실행] -> cmd 엔터

-net share c$ /delete 엔터  //C$공유해제

-net share ADMIN$ /delete

-net share print$ /delete

이 방법은 부팅 후 다시 기본 공유가 설정됨으로 일시적 방편이다

AND

출처: http://blog.naver.com/baljern?Redirect=Log&logNo=140105847638

VMware에서 Android OS 사용하기  
 



애플 아이폰의 대항마로 나선 안드로이드폰의 OS를 체험해보는 간단한 방법은 안드로이드OS를 VMware나 VMware Player용 안드로이드 OS를 다운받아 가상머신에 설치하면 됩니다. 안드로이드가 내장된 스마트폰을 구입하기에 앞서 미리 체험해보는 것도 괜찮을 것입니다.


구글 안드로이드
안드로이드(Android)는 휴대전화기를 비롯, 모바일 디바이스를 위한 운영체제와 미들웨어 그리고 핵심 어플리케이션을 포함하고 있는 소프트웨어 스택이다. 안드로이드는 개발자들이 자바(Java) 언어로 어플리케이션을 작성 할 수 있게 하였으며, 컴파일된 바이트코드를 구동할 수 있는 런타임 라이브러리를 제공한다. 또한 안드로이드 SDK를 통해 어플리케이션을 개발하기 위해 필요한 각종 도구들과 API를 제공한다. 안드로이드는 리눅스 커널 위에서 동작하며, 다양한 안드로이드 시스템 컴포넌트에서 사용되는 C/C++ 라이브러리들을 포함하고 있다. 안드로이드는 기존의 자바 가상 머신 과는 다른 가상 머신인 달빅 가상 머신을 통해 자바로 작성된 어플리케이션을 별도의 프로세스에서 실행하는 구조로 되어있다.


2005년 안드로이드 사를 구글에서 인수한 후 2007년 11월, 안드로이드 플랫폼을 휴대전화용 OS로서 무료 공개한다고 발표한 후 48개의 하드웨어, 소프트웨어, 통신 회사가 모여 만든 OHA(Open Handset Alliance)에서 공개 표준을 위해 개발하고 있다. 구글은 안드로이드의 모든 소스 코드를 오픈 소스 라이센스인 아파치 라이센스로 배포하고 있다.


PC에서 안드로이드를 구동하기 위해서는 VMware Workstation(상용) 또는 VMware Player(공개용)
Android-x86-1.6-r2.iso 파일이 필요합니다. (Downlaod)
Android OS 다운로드 사이트 http://code.google.com/p/android-x86/downloads/list

저는 VMware Workstation을 사용하고 있으므로, VMware에서 설치하는 방법을 다루겠습니다.
테스트에는 Windows 7 Pro K x64 / Intel Core2Duo / VMware Workstation 7.0.1을 이용했습니다. 

 
 VMware에서 가상머신 만들기
 


    가상머신에서 Android를 구동하는 방법은 CDROM(이미지파일)로 구동하는 방법과 가상 하드디스크에 파일로 설치하여 구동하는
    2가지의 방법이 있습니다만, 하드디스크에 설치하는 방법은 파티션 포맷 등의 추가 작업이 필요하기 때문에, 여기서는 간단하게
    이미지파일을 이용하여 구동하는 방법을 다루려합니다.



 

VMware의 File > New > Virtual Machine...을 클릭합니다.
 




 Next를 클릭합니다.


 



 Browse...를 클릭해 android-x86-1.6-r2.iso파일을 지정하고 Next를 클릭합니다.




 

 Guest OS에 Other, Version에 Other을 선택하고 Next를 클릭합니다.


 



 가상머신 이름을 입력하고 Next를 클릭합니다.


 



어차피 하드디스크는 필요없기 때문에, 설정없이 Next를 클릭합니다.
 




Customize Hardware를 클릭합니다.
 




Memory 설정항목을 512MB로 고쳐줍니다.
 




Floppy는 필요없으니 선택 후에 Remove를 클릭하고 OK를 클릭하여 설정을 끝냅니다.
 




한 가지 설정을 더 해야 하므로 Power on this virtual machine after creation에 체크를 빼고 Finish를 클릭합니다.
 




Edit virtual machine settings를 클릭합니다.





Hard Disk를 선택하고 Remove를 클릭한 후에 OK를 클릭합니다.
 




Power on this virtual machine을 클릭하여 가상머신을 실행합니다. 


   
 
안드로이드 구동  
 



 

Live CD - Run Android-x86 without installation을 선택하고 엔터를 누릅니다.
 




 로고 화면이 지나가면


 



안드로이드 기본화면이 나옵니다.




 

 마우스 오른쪽 버튼을 클릭하여 설정화면을 불러낼 수 있습니다.




 

설정은 핸드폰의 설정과 비슷하네요. (안드로이드는 구글의 태플릿PC인 위패드 등에도 사용될 예정입니다)




 

 웹브라우저를 구동하고 검색란을 클릭하니 입력자판이 나옵니다.




 

 제 블로그에 접속해보니 안드로이드에서는 이렇게 나오는군요.




 

 화면 우측에 화살표를 당깁니다.


 



 여러가지 어플리케이션이 들어 있는데, 실제 폰이 아니기 때문에 어플리케이션을 추가 할 수 없는 점이 아쉽군요.




 

 간단한 내장게임을 실행해봤습니다.




뮤직 플레이어인데 디자인이 심플하다 못해 썰렁하네요.


 
 

스마트폰은 필요한 어플리케이션을 추가로 구입하거나 무료로 제공되는 것들을 다운로드하여 설치하고, 입맛에 맞게 설정하고
배열 할 수 있기 때문에, 위에서 살펴 본 내용들은 말 그대로 맛보기에 지나지 않습니다. 폰이 아니기 때문에 웹에 연결이 안되고
SD메모리 카드 슬롯도 가상머신 내에서는 동작하지않기 때문에 추가 어플리케이션을 사용 할 수 없어, 썰렁한 화면만 볼 수 있
고 터치스크린이 모니터가 아닌 관계로 편리함을 느낄 수도 없습니다만, 베이스 파일만 이용해봐도 아이폰OS와 비교하기엔 충
분하군요.  짧은 시간이었지만 안드로이드를 써보고는 스마트폰으로 교체하게 된다면 어떤 폰을 골라야 하는지 결정을 내리는데 는 충분했다고 생각합니다. 

HDD에 설치하는 방법도 이용해봤는데 NTFS 포맷까지 호환이 가능한 점을 볼 때 PC에서 NTFS로 포맷된 대용량의 메모리카드
에 동영상파일과 같은 컨텐츠들을 담아 안드로이드폰에서 이용하는데에도 문제가 없을 것 같네요.

 
 
 
 
관련포스트 - VMware에서 Google Chrome OS 돌리기 http://blog.naver.com/baljern/140105563310

관련사이트 - 안드로이드펍 http://www.androidpub.com/usergroup
                   네이버 안드로이드폰 사용자모임 http://cafe.naver.com/mp3o
                   삼성안드로이드폰랜드 http://cafe.naver.com/androidland
                   다음 안
[출처] VMware에서 안드로이드 OS 사용하기|작성자 비모씨

AND

출처 :http://bwangel.egloos.com/923770

Batch 파일

SET MSDEVOPENFILE=%1
call C:\Rnd\Ms\PlatSDK_2K3SP1\setenv /X64 /RETAIL
call "%MSDevDir%\Bin\msdev" %MSDEVOPENFILE% /useenv
VC++ 6.0 환경
01. x64 Configuration 환경을 추가한다.
02. Project - Sttings - ProjectSettings 창을 띄운다.
03. General Tab - Output directories - Intermediate files, Output files 를 수정한다.
04. Link Tab - General - Output file name 을 수정한다.
05. Link Tab - General - Object/library modules 에 BufferOverflowU.lib 추가한다.
06. Link Tab - Debug - Debug Info 에 Separate types 항목의 체크를 없애준다.
07. Link Tab - Project Options 에서 /machine:I386 을 삭제한다.
08. Link Tab - Project Options 에서 /machine:AMD64 로 추가한다.
09. Link Tab - Output에서 Entry-Point Symbol 에 wWinMainCRTStartup를 추가한다.

10. C/C++ Tab - General - Preprocessor definitions 에 _MBCS 삭제한다.
11. C/C++ Tab - General - Preprocessor definitions 에    
      WIN32,_AMD64_=1,WIN64,_WIN64,_UNICODE,UNICODE 를 추가한다.
12. C/C++ Tab - General - Debug info 를 Program Database 로 변경한다.
13. C/C++ Tab - C++ Language - /GX(Enable exception handling) 체크를 삭제한다.
14. C/C++ Tab - C++ Language - Project Options 에서 /GZ(Calling Convention)
     삭제한다.
15. C/C++ Tab - C++ Language - Project Options 에서 /EHsc 추가한다.
16. C/C++ Tab - C++ Language - Project Options 에서 /Wp64 추가한다.
AND

출처: http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=60392&sca=&sfl=wr_subject%7C%7Cwr_content&stx=ssh&sop=and

2000년대 접어들면서 리눅스에서는 암호화 통신인 ssh 사용이 일반화 되었습니다.
그리고 ssh 를 이용하여 ftp 대신 sftp 서비스를 이용하기도 합니다.
저 역시 대부분의 서버작업을 ssh 를 이용하며 ftp 대신 sftp 를 이용합니다.

그런데 윈도우에서는 서버작업시 터미널을 주로 이용하는데 문제는 ftp 였습니다.
그래서 혹시나 sftp 를 지원하는 프로그램이 없나 찾아보게 되었습니다.
윈도우용 ssh 클라이언트 프로그램으로는 대표적으로 putty(ssh) 나 winscp(sftp) 등이 있지만
윈도우 ssh Server 용 프로그램은 본적이 없었던거 같습니다.

구글링을 해보니.. cygwin 으로 openssh 를 동작시키는 방법이 있었지만
http://pigtail.net/LRP/printsrv/cygwin-sshd.html
귀차니즘과 어느정도 아시는 분들이나 문제없이 설치할듯 하고 해서 계속 찾아보니..
몇가지 프로그램을 발견했지만 대부분 유료가 많았습니다. 그러다 freeSSHd 라는 프로그램을 찾게되었고
그 프로그램을 이용하여 쉽게 구축할수 있더군요.

다음은 freeSSHd 를 이용하여 설치 및 설정을 하는 방법입니다.

테스트환경 : 윈도우 XP 프로페셔널
필요 환경 : NT 계열
freeSSHd Download : http://www.freesshd.com

다운로드에 가시면 하시면 2개의 설치 실행화일을 받으실수 있습니다.
freeSSHd.exe 는 ssh server 를 설치하는 install 화일이고 freeUserImport.exe 는 윈도우 계정을
ssh 서버로 접근가능하게 컨버팅해주는 util 입니다.

우선 freeSSHd.exe 를 실행합니다.
설치중에 어려움은 없을거고 설치 중간에 시스템 서비스로 등록하겠느냐고 나오는데 그건 여러분의 판단에
맏기겠습니다. 저같은경우는 등록해서 사용했습니다.

이제 설치가 완료되고 freeSSHd 셋팅을 할 차례입니다.
트레이에 못보던 아이콘이 생기고 클릭하면 freeSSHd 아래와 같이 셋팅창이 뜰겁니다.


1. Server satatus
Telnet Server 와 SSH Server 의 실행 과 중지를 하는곳입니다.
사용자 삽입 이미지


2. Telnet
텔넷 서버의 설정을 하는경우 설정합니다. 그러나 텔넷은 권장하지 않습니다.
텔넷을 사용할거라면 굳이 freeSSHd를 설치할 필요가 없죠.
사용자 삽입 이미지


3. SSH
Listen address 에서 특정 IP를 지정할수도 있습니다.
Max number of connections 설정은 최대 접속갯수를 설정합니다. 0은 제한이 없다는 것입니다.
Idle timeout 은 입력이 없으면 얼마후에 접속을 서버쪽에서 종료시키는 기능입니다. 0은 제한이 없습니다.
Command shell 은 SSH 접속시 사용할 명령어 실행하기 위한 인터페이스이고 리눅스에서는 shell 이죠.
그외 옵션은 아래와 같이 설정하고....
RSA , DSA 설정은 기본값으로 두고.. 다음
사용자 삽입 이미지


4. Authentication
ssh 인증을 어떤식으로 할것이냐는 것입니다.
패스워드 방식과 공개키 방식이 있습니다.
저는 두가지 경우를 모두 선택했습니다. 여기서 Allowed 와 Required 는 차이가 없습니다.
공개키 생성을 이용하기 위해서는 puttygen.exe 를 이용하시면 됩니다.
puttygen.exe 다운로드
puttygen.exe 사용방법은 인터넷에도 자료가 많으니 따로 정리하지 않겠습니다.
사용자 삽입 이미지


5. Encryption
어떤 암호화 알고리즘을 사용할것인가를 선택합니다.
사용자 삽입 이미지


6. Tunneling
freeSSHd 를 통해 터널링을 지원할것인가의 여부를 설정합니다.
실제 원격에서 putty 등을 통해 터널링을 이용할수있습니다. putty 설정을 통해 외부접속하는 방법은
인터넷에 ssh 터널링으로 검색해보면 될듯하고 스쿨에도 꽤 자료가 있습니다.
사용자 삽입 이미지


7. SFTP
sftp 접속시 홈디렉토리를 설정합니다.
여러가지 sftp 프로그램이 있지만 개인적으로는 winscp 를 추천합니다.
winscp 다운로드
사용자 삽입 이미지


8. Automatic updates
업데이트 설정입니다.
사용자 삽입 이미지


9. Online users
현재 접속해 있는 User 리스트를 출력합니다.
해당유저를 두번클릭하면 Disconnect 버튼이 활성화 되며 해당 유저의 접속을 강제로 종료시킬수 있습니다.
사용자 삽입 이미지


10. Logging
아래와 같이 체크하면 사용자들의 접속 기록을 확인할수 있습니다.
사용자 삽입 이미지


11. Host restrictions
접속 제한 IP들을 설정하는 곳입니다.
tcp_wrapper 와 같은 보안정책을 실행합니다.
Allow only these IP addresses : 전체를 막고 지정한 특정 IP의 접속을 허용합니다.
Refuse these IP addresses : 전체를 풀고 지정한 특정 IP의 접속을 차단합니다.
사용자 삽입 이미지


12 Users
현재 등록된 User를 등록, 수정, 삭제 할수 있습니다.
Add 를 클릭하게 되면 아래와 같이 새창이 뜹니다.
Login  : ID입력
Authorization : 인증은 윈도인증, 패스워드, 공개키인증방식을 선택할수 있습니다.
패스워드 방식을 선택하면 패스워드 입력창이 활성화 됩니다.
사용자 삽입 이미지


여기까지 설정이 되었다면 freeSSHd 의 셋팅이 모두 끝났습니다.
하지만 일반적인 경우 접속이 되지 않습니다. 그건 윈도우의 방화벽 때문입니다.
대부분의 분들은 잘 아실거라 생각하지만 혹시 잘모르시는 분들도 있다고 보고 윈도우 방화벽에서
22번 포트를 푸는 방법을 설명하자면...
제어판 => Windows 방화벽 => 고급탭 선택 후 설정하려는 연결설정을 선택한후 설정을 클릭
=> 고급설정창이 뜨고 추가 버튼을 클릭한후 아래의 이미지에 나와있는것처럼 설정을 하시면됩니다.
사용자 삽입 이미지


AND

출처: http://blog.naver.com/hypalgesia3?Redirect=Log&logNo=70074511013

CoInitialize : http://msdn.microsoft.com/en-us/library/ms678543(VS.85).aspx

CoInitializeEx :  http://msdn.microsoft.com/en-us/library/ms695279(VS.85).aspx

COINIT Enumeration : http://msdn.microsoft.com/en-us/library/ms678505(VS.85).aspx


Peek Message : http://msdn.microsoft.com/en-us/library/ms644943(VS.85).aspx 

Send Message : http://msdn.microsoft.com/en-us/library/ms644950(VS.85).aspx


STA : single threaded apartment

MTA : multi  threaded apartment


STA의 경우 :

thread A가 objects들을 생성한다.

다른 thread들이 이 object들의 method를 호출하면, 이 모든 것들은 thread A 안에서, serialization이 되어서 동작을 한다.

즉, 외부의 모든 call들은 message queue로 들어오고, 따라서 자연스럽게 serialization이 된다.

따라서 object 코드를 작성할 때, 단일 쓰레드에서 동작한다고 가정하고 코드를 작성하면 된다.


MTA의 경우 :

CoInitializeEx에 COINIT_MULTITHREADED값을 주어서, COM library를 initialization을 하면 된다.

다른 thread들이 이 object들의 method들을 호출하면, 이 method들은 다른 thread들 내부에서 실행이 되는것 같다.

특정 method, 또는 특정 object가 동시에 여러 thread들로 부터 호출이 될 수 있으므로,

object의 code 내에서 synchronization (critical section, semaphore, mutex)을 구현해야 한다.

특정 thread data를 object 내부에 저장을 할 수 없다.(왜냐하면, object는 자신을 호출한 thread의 수명을 제어하지 않기 때문이다.)

(특정 thread의 정보를 저장하고 싶다면, Thread Local Storage를 이용하라)


[출처] STA와 MTA의 개념|작성자 hypalgesia3

AND

출처: http://msdn.microsoft.com/en-us/goglobal/bb964664.aspx


see Locale ID and Language Collections for Windows XP and Windows Server 2003.

Language - Country/Region LCID Hex LCID Dec
Afrikaans - South Africa 0436 1078
Albanian - Albania 041c 1052
Amharic - Ethiopia 045e 1118
Arabic - Saudi Arabia 0401 1025
Arabic - Algeria 1401 5121
Arabic - Bahrain 3c01 15361
Arabic - Egypt 0c01 3073
Arabic - Iraq 0801 2049
Arabic - Jordan 2c01 11265
Arabic - Kuwait 3401 13313
Arabic - Lebanon 3001 12289
Arabic - Libya 1001 4097
Arabic - Morocco 1801 6145
Arabic - Oman 2001 8193
Arabic - Qatar 4001 16385
Arabic - Syria 2801 10241
Arabic - Tunisia 1c01 7169
Arabic - U.A.E. 3801 14337
Arabic - Yemen 2401 9217
Armenian - Armenia 042b 1067
Assamese 044d 1101
Azeri (Cyrillic) 082c 2092
Azeri (Latin) 042c 1068
Basque 042d 1069
Belarusian 0423 1059
Bengali (India) 0445 1093
Bengali (Bangladesh) 0845 2117
Bosnian (Bosnia/Herzegovina) 141A 5146
Bulgarian 0402 1026
Burmese 0455 1109
Catalan 0403 1027
Cherokee - United States 045c 1116
Chinese - People's Republic of China 0804 2052
Chinese - Singapore 1004 4100
Chinese - Taiwan 0404 1028
Chinese - Hong Kong SAR 0c04 3076
Chinese - Macao SAR 1404 5124
Croatian 041a 1050
Croatian (Bosnia/Herzegovina) 101a 4122
Czech 0405 1029
Danish 0406 1030
Divehi 0465 1125
Dutch - Netherlands 0413 1043
Dutch - Belgium 0813 2067
Edo 0466 1126
English - United States 0409 1033
English - United Kingdom 0809 2057
English - Australia 0c09 3081
English - Belize 2809 10249
English - Canada 1009 4105
English - Caribbean 2409 9225
English - Hong Kong SAR 3c09 15369
English - India 4009 16393
English - Indonesia 3809 14345
English - Ireland 1809 6153
English - Jamaica 2009 8201
English - Malaysia 4409 17417
English - New Zealand 1409 5129
English - Philippines 3409 13321
English - Singapore 4809 18441
English - South Africa 1c09 7177
English - Trinidad 2c09 11273
English - Zimbabwe 3009 12297
Estonian 0425 1061
Faroese 0438 1080
Farsi 0429 1065
Filipino 0464 1124
Finnish 040b 1035
French - France 040c 1036
French - Belgium 080c 2060
French - Cameroon 2c0c 11276
French - Canada 0c0c 3084
French - Democratic Rep. of Congo 240c 9228
French - Cote d'Ivoire 300c 12300
French - Haiti 3c0c 15372
French - Luxembourg 140c 5132
French - Mali 340c 13324
French - Monaco 180c 6156
French - Morocco 380c 14348
French - North Africa e40c 58380
French - Reunion 200c 8204
French - Senegal 280c 10252
French - Switzerland 100c 4108
French - West Indies 1c0c 7180
Frisian - Netherlands 0462 1122
Fulfulde - Nigeria 0467 1127
FYRO Macedonian 042f 1071
Gaelic (Ireland) 083c 2108
Gaelic (Scotland) 043c 1084
Galician 0456 1110
Georgian 0437 1079
German - Germany 0407 1031
German - Austria 0c07 3079
German - Liechtenstein 1407 5127
German - Luxembourg 1007 4103
German - Switzerland 0807 2055
Greek 0408 1032
Guarani - Paraguay 0474 1140
Gujarati 0447 1095
Hausa - Nigeria 0468 1128
Hawaiian - United States 0475 1141
Hebrew 040d 1037
Hindi 0439 1081
Hungarian 040e 1038
Ibibio - Nigeria 0469 1129
Icelandic 040f 1039
Igbo - Nigeria 0470 1136
Indonesian 0421 1057
Inuktitut 045d 1117
Italian - Italy 0410 1040
Italian - Switzerland 0810 2064
Japanese 0411 1041
Kannada 044b 1099
Kanuri - Nigeria 0471 1137
Kashmiri 0860 2144
Kashmiri (Arabic) 0460 1120
Kazakh 043f 1087
Khmer 0453 1107
Konkani 0457 1111
Korean 0412 1042
Kyrgyz (Cyrillic) 0440 1088
Lao 0454 1108
Latin 0476 1142
Latvian 0426 1062
Lithuanian 0427 1063
Malay - Malaysia 043e 1086
Malay - Brunei Darussalam 083e 2110
Malayalam 044c 1100
Maltese 043a 1082
Manipuri 0458 1112
Maori - New Zealand 0481 1153
Marathi 044e 1102
Mongolian (Cyrillic) 0450 1104
Mongolian (Mongolian) 0850 2128
Nepali 0461 1121
Nepali - India 0861 2145
Norwegian (Bokmål) 0414 1044
Norwegian (Nynorsk) 0814 2068
Oriya 0448 1096
Oromo 0472 1138
Papiamentu 0479 1145
Pashto 0463 1123
Polish 0415 1045
Portuguese - Brazil 0416 1046
Portuguese - Portugal 0816 2070
Punjabi 0446 1094
Punjabi (Pakistan) 0846 2118
Quecha - Bolivia 046B 1131
Quecha - Ecuador 086B 2155
Quecha - Peru 0C6B 3179
Rhaeto-Romanic 0417 1047
Romanian 0418 1048
Romanian - Moldava 0818 2072
Russian 0419 1049
Russian - Moldava 0819 2073
Sami (Lappish) 043b 1083
Sanskrit 044f 1103
Sepedi 046c 1132
Serbian (Cyrillic) 0c1a 3098
Serbian (Latin) 081a 2074
Sindhi - India 0459 1113
Sindhi - Pakistan 0859 2137
Sinhalese - Sri Lanka 045b 1115
Slovak 041b 1051
Slovenian 0424 1060
Somali 0477 1143
Sorbian 042e 1070
Spanish - Spain (Modern Sort) 0c0a 3082
Spanish - Spain (Traditional Sort) 040a 1034
Spanish - Argentina 2c0a 11274
Spanish - Bolivia 400a 16394
Spanish - Chile 340a 13322
Spanish - Colombia 240a 9226
Spanish - Costa Rica 140a 5130
Spanish - Dominican Republic 1c0a 7178
Spanish - Ecuador 300a 12298
Spanish - El Salvador 440a 17418
Spanish - Guatemala 100a 4106
Spanish - Honduras 480a 18442
Spanish - Latin America 580a 58378
Spanish - Mexico 080a 2058
Spanish - Nicaragua 4c0a 19466
Spanish - Panama 180a 6154
Spanish - Paraguay 3c0a 15370
Spanish - Peru 280a 10250
Spanish - Puerto Rico 500a 20490
Spanish - United States 540a 21514
Spanish - Uruguay 380a 14346
Spanish - Venezuela 200a 8202
Sutu 0430 1072
Swahili 0441 1089
Swedish 041d 1053
Swedish - Finland 081d 2077
Syriac 045a 1114
Tajik 0428 1064
Tamazight (Arabic) 045f 1119
Tamazight (Latin) 085f 2143
Tamil 0449 1097
Tatar 0444 1092
Telugu 044a 1098
Thai 041e 1054
Tibetan - Bhutan 0851 2129
Tibetan - People's Republic of China 0451 1105
Tigrigna - Eritrea 0873 2163
Tigrigna - Ethiopia 0473 1139
Tsonga 0431 1073
Tswana 0432 1074
Turkish 041f 1055
Turkmen 0442 1090
Uighur - China 0480 1152
Ukrainian 0422 1058
Urdu 0420 1056
Urdu - India 0820 2080
Uzbek (Cyrillic) 0843 2115
Uzbek (Latin) 0443 1091
Venda 0433 1075
Vietnamese 042a 1066
Welsh 0452 1106
Xhosa 0434 1076
Yi 0478 1144
Yiddish 043d 1085
Yoruba 046a 1130
Zulu 0435 1077
HID (Human Interface Device) 04ff 1279


AND