1. 개요
Input Method Editor(IME) / 入 力 方 式 編 輯 機컴퓨터 키보드 글쇠의 개수보다 더 많은 글자를 쓰는 문자로 된 언어를 입력할 때 특정한 방식의 키보드 입력을 하면 해당하는 글자를 띄워주도록 하는 시스템을 말한다.
Windows에 IME 다국어를 설치했을 때 전환하는 방법은 윈도우 키와 스페이스 바를 동시에 입력하거나 Alt 키와 Shift 키[1]를 동시에 입력하면 가능하다.
2. 원리
프로그래밍 관점에서 IME를 사용하는 경우 1. "키를 누른다" 2. "IME가 합성(Compositing)중인 글쇠 이벤트들을 받고 이 상황의 값은 데이터에 반영이 되지는 않지만 출력만 한다" 3. "IME가 합성을 완료했다는 이벤트를 보내면 그 글리프를 프로그램이 최종적으로 출력한다."의 과정으로 입력을 처리한다.IME를 쓰지 않는 환경에서의 키보드 입력은 1. "키를 누른다" 2. "입력 받은 스캔코드의 값을 출력한다" 로 끝난다. 그래서 IME를 사용하지 않는 곳(로마자 사용 지역 등)에서 만들어진 소프트웨어들은 IME에 대한 지원이 없기 때문에 입력시 자소가 분리되거나 입력이 즉시 반응하지 않고 마지막에 친 글자가 두번 출력되는 문제들이 생긴다.
3. 언어별 양상
3.1. 한국어
한국어는 비록 표음 문자인 한글을 쓰지만 특유의 모아쓰기 방식 때문에 한글 자모로 만들어낼 수 있는 글자가 만 자를 넘는다. 이 문제 때문에 풀어쓰기를 주장하는 사람들도 있었지만, 풀어쓰기 대신 모아쓰기를 유지하되 자모를 입력하면 자동으로 이를 한 글자로 조합해주는 IME를 쓰게 되었다.예를 들면 ' 대한민국'을 입력하려면 'ㄷ → ㅐ → ㅎ → ㅏ → ㄴ → ㅁ → ㅣ → ㄴ → ㄱ → ㅜ → ㄱ' 순으로 입력해야 하는데, IME 없이는 이를 '대한민국'으로 조합할 수 없다. 그러나 IME는 한글 자모로 조합해 만들어진 글자 데이터에 기반하여 'ㄷㅐㅎㅏㄴㅁㅣㄴㄱㅜㄱ'을 '대한민국'으로 모아준다.
3.2. 중국어/일본어
중국어는 글자 수가 수천 개나 되는 한자를 쓰기 때문에 키보드 한 글쇠에 하나의 한자를 대응하는 방식은 불가능하므로 IME가 필수적이다. 중국어/입력기에 나와 있는 수많은 입력 방식대로 한자의 독음을 입력하거나 한자의 획에 키보드 글쇠 하나를 대응해 한자를 직접 입력하면 그 입력 조합에 대응되는 수많은 한자 혹은 한자어가 나타나고 이를 찾아서 입력하는 방식을 쓴다.일본어도 한자를 많이 쓰는 문제 때문에 IME의 도움을 받아 한자를 입력하며 그 방식은 중국어와 비슷하다. 히라가나는 Ctrl 키와 Caps Lock을 동시 입력해 전환하고, 가타카나는 Alt 키와 Caps Lock키로, 영문 입력 고정은 Alt 키와 ` 키를 입력한다. 더불어 가나 글자 수가 많아 숫자 키까지 차지해 입력이 불편하다는 점 때문에 로마자로 입력하고 이를 일본어 로마자 표기법에 따라 IME를 이용해 가나 혹은 한자로 전환하는 방식도 있다.
중국어와 일본어는 한자를 쓰기 때문에 한자어 신조어가 생겨나거나 생소한 고유명사가 있다면 IME에 해당하는 데이터가 없어서 이를 바로 입력하기 힘들다. 이 문제 때문에 중국어와 일본어 IME는 개인이 자주 입력하는 한자나 한자어를 IME에서 최상단으로 띄워주는 기능을 가지고 있어 어떻게든 한 번 입력했다면 다시 입력할 때 똑같이 한자를 다시 찾아야 하는 불편을 덜어주고 있다. 또한 신조어, 생소한 고유명사 등에 바로 대응할 수 있도록 IME의 업데이트가 주기적으로 이루어진다. Windows 10 이래로는 빅데이터 갱신이 반영되기 때문에 신조어나 고유명사, 심지어는 공식 IME가 일부 서브컬처의 유명 고유명사까지도 변환테이블에 반영한다.
일본어 IME는 윈도우즈의 공식적인 IME뿐만 아니라, 비공식적인 입력방식 편집기들도 존재한다. 알려진 바로 2ch(현 5ch)에서 제작된 IME의 경우 온갖 2ch 은어나 아스키 아트들이 자동완성 테이블에 있다는 이야기가(...)
3.3. 기타
브라흐미계 문자들을 컴퓨터로 입력할 때에도 IME가 많이 사용된다. 브라흐미계 문자들은 대부분 아부기다로서 각 자음에 내재 모음이 있고 여기에 기호를 붙여 다른 모음을 내는 식이므로 한글과 유사하게 원형에 해당하는 특정 문자와 모음 부호를 입력하면 둘을 IME가 자동으로 결합해준다.로마자, 키릴 문자 등을 입력할 때에도 다이어크리틱이 있을 때 IME를 통해 처리하기도 한다. 예를 들면 베트남어의 쯔꾸옥응으가 그런데, 일부 베트남어 IME는 쯔꾸옥응으를 입력하면 성조와 발음을 구별하는 다이어크리틱을 붙이지 않고도 일본어나 중국어 입력하듯이 다이어크리틱이 붙은 단어 후보군을 띄우는 방식으로 다이어크리틱을 입력할 수 있다. 표준 베트남 키보드에서는 AltGr과 숫자 키를 동시에 입력하는 방식으로 다이어크리틱을 입력하지만 이 방식은 너무 번거롭기에 IME를 통해 처리하는 것이다.
4. 목록
- Microsoft Windows 입력기
- IBUS
- Fcitx
- kime
- 날개셋 입력기
5. 여담
Chromium 계열 브라우저들은 동아시아권 IME와 상성이 좋지 않은 것으로 악명 높다. 특히 한글 입력기의 경우 한/영 전환이 안 된다거나, 마지막 글자가 지워진다거나, 앞 단어가 제멋대로 복붙된다거나 하는 등의 문제가 잊을만하면 발생한다. 또 Windows IME의 경우 조합 중인 상태에서는 글자 주변에 파란색(또는 검은색) 블록이 생기지만 Chromium 계열 브라우저에서는 밑줄이 그어지는데, 이걸 중간에 Windows식으로 바꾸려다가 가독성이 개발살나버리는 바람에(…)[2] 결국 얼마 못 가고 원래대로 되돌려야 했다.[3] 그런데 Windows 11 22H2에서는 오히려 Windows IME가 Chromium처럼 밑줄이 그어지게 바뀌었는데, 이게 또 Chromium 계열 브라우저에서 마지막 글자가 지워지는 현상이 재발해버리는 바람에(…) 설정에서 이전 버전의 IME를 켜는 것이 반강제되었다.한컴오피스 한글 2018 및 그 이후 버전을 설치하면 '한컴 입력기'라는 IME가 자동으로 설치되는데, 이게 브라우저나 게임 등에서 충돌을 일으키는 경우가 잦다. 또한, 일부 키가 잘못 입력되거나 단축키 씹힘, 멀쩡한 영어문장을 한글로 변환[4]하는 등 코딩할 때도 방해된다. 해결 방법은 시작 → 설정 → 시간 및 언어 → 언어 → 한국어 → 옵션에서 한컴 입력기를 삭제하면 된다.
해당 입력기는 한컴오피스 내의 입력기를 오피스 외부환경에서도 쓸 수 있다는 것이 의의인데, 때문에 소소한 장점으로 쌍자음 입력시 번거롭게 Shift를 누를 필요 없이 단모음처럼 자음을 연속으로 2번 치기만 하면 된다.
만약 Tiny10과 같은 개조 Windows를 사용한다면, 경우에 따라 Windows 입력기를 사용할 수 없는 경우가 있어 어쩔 수 없이 한컴 입력기를 사용하거나 날개셋과 같은 다른 입력기를 찾게 된다.
Windows 95에선 ActiveDesktop이 설치되어있을 경우 MS-IME95 대신 외부 IME를 기본값으로 설정하고 재부팅하면 mmtask, mprexe, regsrv32가 쌍으로 충돌을 일으켜서 부팅 불능(...)에 빠져버리는 버그가 있었다. 해당 버그가 터졌을경우 안전모드로 부팅해서 MS-IME95로 변경 한 다음[5] 설치한 입력기를 제거하고 재부팅해 다시 설치하는수 밖에 없다. Global IME의 경우 지원하는 앱만 사용이 가능함과 동시에 당연히 기본값으로 만드는게 불가능해서 이런 버그가 터질일이 없다. 다만 호환성 문제로 인해 보조로 쓴다고 해도 16비트 앱에서는 입력이 안된다.
[1]
원한다면
Ctrl 키 조합으로 바꿀수 있다.
[2]
Windows IME의 경우 블록 안에 있는 글자는 무조건 흰색으로 나오지만, Chromium에서 Windows IME를 따라할 당시에는 블록 안에서도 글자 색이 검은색 등으로 나왔기 때문에 가독성이 영 좋지 않았다.
[3]
롤백할 당시에는 구글 측에서 '나중에 글자색 문제가 해결되면 다시 블록이 생기도록 바꿀수도 있음'이라고 밝혔으나, 수년째 그대로인거 보면 해결을 못했거나 개발 정책이 바뀐 것으로 추정된다. 아니면 존재 자체를 까먹었거나(…).
[4]
한글오피스에서 발생하는 문제가 그대로 나타난다고 볼 수 있다. 한컴 입력기에서 '수정'을 체크해제하면 해결된다.
[5]
이때 MS-IME95를 제거했다면 Windows 95 CD나 디스켓을 요구한다.