[소프트웨어 접근성] 가상 키보드 만들기4-한글 오토마타 만들기 개요
가상 키보드에서는 한글을 입력할 수 있게 한글 오토마타가 필요합니다. 이번에는 한글 오토마타 라이브러리를 만들어 봅시다.
한글을 입력할 대상 컨트롤에 포커스를 유지하는 방식으로 보조기술을 만들면 키보드 이벤트로 처리할 수 있지만 한글을 입력시키기 위해 포커스를 잠시 변경하면 원하는 한글 입력을 할 수 없습니다. 예를 들어 'ㅁ', 'ㅏ' 순으로 키를 누르면 '마'로 바뀌길 원하지만 'ㅁ ㅏ'로 바뀝니다.
여기에서는 이러한 문제를 해결하기 위해 한글 오토마타를 만들어 볼게요.
완성형 한글 코드는 초성과 중성과 중성의 각 코드값을 다음의 식으로 환산합니다.
한글 코드 값 = 초성*중성개수*종성 개수+중성 *종성개수+종성+BASE 코드(0xAC00)
초성은 모두 19자로 0부터 18의 값을 ㄱ,ㄲ,ㄴ,ㄷ,ㄸ,ㄹ,ㅁ,ㅂ,ㅃ,ㅅ,ㅆ,ㅇ,ㅈ,ㅉ,ㅊ,ㅋ,ㅌ,ㅍ,ㅎ 순으로 결정하였습니다. 중성은 모두 21자로 0부터 20까지 값을 부여하였습니다. 중성은 ㅏ,ㅐ,ㅑ,ㅒ,ㅓ,ㅔ,ㅕ,ㅖ,ㅗ,ㅘ,ㅙ,ㅚ,ㅛ,ㅜ,ㅝ,ㅞ,ㅟ,ㅠ,ㅡ,ㅢ,ㅣ순입니다. 종성은 27자인데 받침이 없는 것까지 코드를 부여하고 있어서 0~27까지 값을 부여하였습니다. 종성은 받침 없음,ㄱ,ㄲ,ㄳ,ㄴ,ㄵ,ㄶ,ㄷ,ㄹ,ㄺ,ㄻ,ㄼ,ㄽ,ㅀ,ㅁ,ㅂ,ㅄ,ㅅ,ㅆ,ㅇ,ㅈ,ㅊ,ㅋ,ㅌ,ㅍ,ㅎ 순입니다.
예를 들어 한글의 첫 글자인 '가' 는 0*21*28+0*28+0+0xAC00 이므로 BASE 코드 값이 됩니다. 그리고 초성의 시작점인 'ㄱ'은 0x1100이며 중성의 시작점인 'ㅏ'는 0x1161입니다.
가상 키보드 만들기 결과물
'프로그래밍 기술 > 소프트웨어 접근성, UI 자동화' 카테고리의 다른 글
9. 접근성 평가 도구 만들기 - 1. 소개 (0) | 2016.10.18 |
---|---|
[소프트웨어 접근성] 가상 키보드 만들기 8 - 가상 키보드 만들기 (0) | 2016.05.13 |
[소프트웨어 접근성] 가상 키보드 만들기 7 - 가상 키보드 타겟 데모 (0) | 2016.05.13 |
[소프트웨어 접근성] 가상 키보드 만들기 6 -한글 라이브러리 만들기 (0) | 2016.05.13 |
[소프트웨어 접근성] 가상 키보드 만들기 5 -한글 문자 생성기 (0) | 2016.05.13 |
[소프트웨어 접근성] 가상 키보드 만들기 3 - 마우스 이벤트 예광탄 (0) | 2016.05.13 |
[소프트웨어 접근성] 가상 키보드 만들기 2 - 키보드 이벤트 예광탄 (2) | 2016.05.13 |
[소프트웨어 접근성] 가상 키보드 만들기 1 (1) | 2016.05.13 |
[소프트웨어 접근성] 포커스 소유 UI 요소 정보 수집기 만들기 4 (0) | 2016.05.12 |
[소프트웨어 접근성] 포커스 소유 UI 요소 정보 수집기 만들기 3 (0) | 2016.05.12 |