인도계 문자 입력기

Windows, macOS, Linux, 모바일 인도어 IME, 로마자 변환·자음·matra·연자, composition

인도계 문자(힌디·벵골·타밀·텔루구 등) 입력기는 로마자 → 인도 문자 변환(IME) 또는 인도어 키보드에서 자음·모음(matra) 순서로 입력한다. OS·플랫폼마다 연동 방식이 다르고, composition 이벤트가 발생할 수도, insertText만 올 수도 있다.


1. Windows

  • Windows: “Hindi”, “Bengali”, “Tamil”, “Telugu” 등 키보드. TSF로 조합 중(preedit)·commit을 앱에 전달.
  • Google Input Tools 등 서드파티 IME로 로마자→데바나가리 변환. 브라우저는 CompositionEvent 또는 insertText로 전달.

2. macOS

  • 시스템 환경설정 → 키보드 → 입력 소스에서 “Hindi”, “Bengali” 등 추가.
  • NSTextInputClient: setMarkedText(preedit), insertText(commit). 브라우저가 composition 이벤트 또는 insertText로 전달.

3. Linux

  • IBus, Fcitx에서 힌디(Devanagari)·벵골·타밀 등 엔진 사용. (상세는 Linux IME 참고.)
  • 조합 문자열·commit은 프레임워크가 앱에 전달.

4. 모바일

  • Android/iOS: 힌디·벵골·타밀 등 키보드. 로마자 변환 또는 자음·matra 조합. composition 이벤트 또는 insertText로 전달. 환경에 따라 다름.

5. 에디터에서의 주의

  • 커서·삭제·선택: 인도계 문자 조합 원리에서 다룬 대로 그래핀 클러스터 단위로 처리. Intl.Segmenter (granularity: 'grapheme', locale: 'hi' 등) 사용을 권장.
  • 정규화: 저장·검색 시 NFC 또는 NFD 중 하나로 통일하면 비교·검색이 안정된다.