3ebed928f1db34aa6ff2d1a11d826934c3d9a9c7e6d6a2b7399754d0af8752c68010


3ebed928f1db34aa6ff2d1a11d826934c3d9aac7e6d6a2b7399754d0af8353c1ae66


3ebed928f1db34aa6ff2d1a11d826934c3d9abc7e6d6a2b7399754d0af8259c34082


위 스크린샷은 지니(Geany) 에디터에서 사용된 신틸라(Scintilla) 에디터 컴포넌트의 소스코드 중 다국어 입력 IM 처리가 적용된 부분을 인용한 캡쳐입니다. 신틸라는 GTK3를 백엔드로 사용하기 때문에 윈도우/리눅스 관계없이 다국어 IM 처리 또한 단일소스로 구현됩니다만 일정부분은 플랫폼 고유의 특징과 차이로 인해 도우용 GTK3에서 별도의 처리가 필요한 부분에 대해서는 PLAT_GTK_WIN32라는 매크로로 정의되어 있습니다.


아직도 리눅스용 프로그램 중에는 여전히 다국어 IM 입력기가 작동하지 하는 프로그램들이 많습니다. (IM입력기가 작동하더라도 입력 과정에서 캐럿 위치가 부자연스럽거나 끝글자가 마우스 커서를 따라다니는 버그가 있음) 이들 프로그램에서 IM 입력기가 작동하도록 소스코드를 적절히 수정하기 위해서는 지니 에디터 소스에 포함된 소스파일들 중 신틸라 컴포넌트의 소스코드에서 위 스크린샷에 나온 IM 처리 부분의 소스코드를 각 어플의 특성에 맞게 변형해서 적용해 주는, 매우 까다로운 고난이도의 프로그래밍 처리가 필요합니다. 안타깝게도 이와 관련해서는 IM 입력기 차원에서는 도저히 손을 쓸 수가 없음을 명심하시기 바랍니다.