자바스크립트로 만들어진 한글 입력기가 몇가지 있습니다.

가장 유명한 것이 alee님이 만든 OHI 자바스크립트 한글 입력기이며, 이것 이외에도 몇가지가 더 있습니다.

alee님의 OHI 한글 입력기는 전체 소스 라인이 200줄도 안되는 극한의 크기로 두벌식/세벌식을 모두 지원하고 있으며, 심지어 영문은 QWERTY뿐만 아니라 QWERTZ/AZERTY 자판도 지원하고 있습니다.

그런데 이렇게 극한의 크기로 최적화된 소스이기때문에 그 기능을 추가하는 것이 쉽지 않고, 자판을 다른 조합으로 쉽게 확장하기가 어려운 단점이 있습니다.



그래서 자바스크립트로 구현된 한글 입력기를 새로 작성해보았으며, 오토마타는 새나루 한글입력기를 거의 그대로 가져오고 개선시켰습니다. 그러한 이유로 이 자바스크립트 한글 입력기의 이름을 가칭 새나루(saenaru.js)라고 지었습니다. (alee님의 OHI한글 입력기 소스도 같이 참고하였습니다.)


자바스크립트 새나루 한글입력기의 특징은 다음과 같습니다.

  • 자판을 손쉽게 확장/추가 가능 (외부 자바스크립트 파일 형태로 확장)
  • 현재 두벌식 오토마타만 지원 (종성 조합을 지원하는 두벌식 오토마타)
    • 세벌식 오토마타는 추가 지원 예정입니다.
  • 글자 조합 방식을 확장/추가 가능
  • 단어단위 편집 기능 지원
  • 새나루 혹은 나비 한글 입력기처럼 모음+자음 입력시 교정 기능 (단, 느리게 입력하면 입력 순서대로 입력됨)
    • 예) ㅏ + ㄴ => 나
  • 그밖에 새나루 한글 입력기와 같이 ㅂ+ㄹ을 빠르게 입력하면 ㄼ으로 자동 교정
    • 새나루 한글 입력기보다 더 영리하게 입력 키 조합의 시간 간격을 체크하여 교정할 것인지 말것인지를 판별합니다.

그밖에 다음과 같은 재밌는 기능을 추가/개선해보았습니다.

  • 영문 입력 오류시 => F2키 입력하면 한글로 자동 변환
  • 쉬프트-백스페이스를 누르면 이미 한글로 입력된 음절을 자소단위로 지워줌
  • Firefox 최신 / 크롬 및 IE9에서 테스트 (크롬에서도 Ctrl-Z 잘 지원)

이렇게 만든 새나루 자바스크립트 입력기는 "사용자 조합 방식"을 지원하기때문에 다음과 같은 확장이 가능합니다.

  • ㅏ+ㅏ=>ㅑ 조합 및 ㅑ+ㅏ=>ㅏ 등으로 순환 조합 지원 가능 - 즉, ㅏ 연타가 ㅑ로 입력되고, 한번 더 ㅏ를 입력하면 ㅏ
  • 한손 자판 지원 가능

그밖에 필기인식 기능을 조합해서 한글 필기인식기능을 테스트해볼 생각입니다.


자바스크립트 새나루 한글입력기 소스받기

https://gist.github.com/wkpark/5310769

JSBin에서 테스트해보기

http://jsbin.com/ewizox/6/ (한영 전환키는 Ctrl-space입니다)

by dumpcookie 2013. 4. 4. 23:19
| 1 |