프로그래밍 기술/소프트웨어 접근성, UI 자동화

[소프트웨어 접근성] 가상 키보드 만들기 4 -한글 오토마타 만들기 개요

언제나휴일 2016. 5. 13. 16:54
반응형

[소프트웨어 접근성] 가상 키보드 만들기4-한글 오토마타 만들기 개요



 가상 키보드에서는 한글을 입력할 수 있게 한글 오토마타가 필요합니다. 이번에는 한글 오토마타 라이브러리를 만들어 봅시다.

 

 한글을 입력할 대상 컨트롤에 포커스를 유지하는 방식으로 보조기술을 만들면 키보드 이벤트로 처리할 수 있지만 한글을 입력시키기 위해 포커스를 잠시 변경하면 원하는 한글 입력을 할 수 없습니다. 예를 들어 '', '' 순으로 키를 누르면 ''로 바뀌길 원하지만 'ㅁ ㅏ'로 바뀝니다.

 

 여기에서는 이러한 문제를 해결하기 위해 한글 오토마타를 만들어 볼게요.

 

 완성형 한글 코드는 초성과 중성과 중성의 각 코드값을 다음의 식으로 환산합니다.

 

한글 코드 값 = 초성*중성개수*종성 개수+중성 *종성개수+종성+BASE 코드(0xAC00)

 

 초성은 모두 19자로 0부터 18의 값을 ㄱ,,,,,,,,,,,,,,,,,,ㅎ 순으로 결정하였습니다. 중성은 모두 21자로 0부터 20까지 값을 부여하였습니다. 중성은 ㅏ,,,,,,,,,,,,,,,,,,,,ㅣ순입니다. 종성은 27자인데 받침이 없는 것까지 코드를 부여하고 있어서 0~27까지 값을 부여하였습니다. 종성은 받침 없음,,,,,,,,,,,,,,,,,,,,,,,,,ㅎ 순입니다.

 

 예를 들어 한글의 첫 글자인 '' 0*21*28+0*28+0+0xAC00 이므로 BASE 코드 값이 됩니다. 그리고 초성의 시작점인 '' 0x1100이며 중성의 시작점인 '' 0x1161입니다.


가상 키보드 만들기 결과물

가상키보드 관련 실습.zip


 


반응형