이전에 비스타에서 Legacy IME를 사용하는 법에 관해 설명하였습니다. 비스타의 TSF 입력기의 호환성 문제 때문에 한글과 일본, 중국어 입력에 심각한 문제를 겪고 있는 사람들을 위해 한글 입력기를 포함한, 아시아 국가들의 기존 legacy IME를 간단하게 설치하는 방법을 알아보겠습니다.
전에 설명한 바와 같이 비스타에는 이전 IME 파일은 그대로 존재 하지만, 레지스트리에서만 제거 되었습니다. 아래 첨부된 레지스트리 파일은 비스타에 포함된 모든 아시아권 IME를 사용 가능하게 해줍니다.이 파일은 HKLM의 키보드 레이아웃 시스템 레지스트리를 바꾸므로 관리자(administrator) 권한을 필요로 합니다. 이 파일에 특별히 시스템 보안에 문제되는 내용은 없다. 그러나, 보안을 조금 이라도 염려하는 사용자라면, 곧바로 실행하지 말고, 디스크에 저장한 후 내용을 살펴보고 실행하시기 바랍니다.
위의 레지스트리 등록이 끝나면, 입력도구의 등록정보에서 아래와 같이 이전 IME가 추가되어 있음을 알 수 있습니다. 빨간 상자에 있는 것들이 이전 IME들 입니다.
한국어의 경우 한글 MS-IME2002를 기본(default) IME로 선택하시기 바랍니다. (아래 스크린캡쳐는 영문 비스타에서 얻은 것입니다). 이렇게 설정을 바꾼 후에 시스템 리부팅은 필요 없으며, 이 후에 실행되는 어플리케이션은 자동으로 IME2002를 사용하게됩니다.
Mark의 블로그에 흥미로운 내용이 올라왔다. 비스타 미디어 플레이어로 음악을 듣는 도중에 네트웍 속도가 크게 저하된다는 것이다.
이것은 비스타에 새롭게 추가된 Multimedia Class Scheduler Service (MMCSS)에 의해 "미디어 플레이어"의 우선 순위가 높아진 때문이지만, 네트워크 속도에 영향을 미친다는 것은 매우 흥미로운 일이다.
Mark의 말에 따르면 1GB 네트웍 카드에 1GB 네트웍에 연결된 경우에 속도저하를 느낄 수 있다는 것이다. 또, 100 MBps 네트웍이라하더라도 2개이상의 네트웍 카드가 연결되어 있다면 속도저하가 나타난다고 한다. 이것은 NDIS 드라이버의 버그라고 하며 MS는 이 버그 수정을 하고 있다고 한다. 하지만, 또 어떤 다른 버그가 숨어 있을지는 아무도 모를 일이다.
게임의 경우에도 비스타에서는 사운드를 담당하는 스레드가 높은 우선순위를 가지게 되는데, 이것이 네트워크나 그래픽 속도에 영향을 미칠 가능성이 있다.
비스타는 TSF (Text Service Framework)을 이용한 입력을 기본으로하여 기존 IME는 더 이상 사용하지 않는다. 그런데 흥미롭게도 기존 IME파일은 그대로 남겨두었다.
아래와 같이 %WINDIR%\system32 폴더에 *.IME 파일들이 존재한다. 다만, 이들은 레지스트리에서 제거되어 기본적으로 사용되지 않을 뿐이다. 게다가 이들은 XP에 들어 있는 IME보다 모두 버전업된 것 들이다. 기존 IME 지원 코드가 여전히 남아 있는 가장 큰 이유는 서드파티 IME들 때문일 것이다. 일본이나 중국의 경우 서드파티 IME들이 상당히 많이 존재하며. 이들이 TSF를 지원하기 위해 코드변경을 하는 것은 상당한 작업이기 때문에 기존 IME지원 코드를 그대로 남겨둔 것으로 보인다.
그렇다 해도 MS IME 파일들을 그대로 남겨두고 레지스트리에 추가하지 않아 사용하지 못하게 한 것은 어쨋든 좀 이상하다. 어쩌면 비스타의 기본 입력시스템인 TSF가 불안할 경우, 기존의 IME를 다시 사용할 수 있는 방법을 남겨두었는지도 모른다.
dir %WINDIR%\system32\*.ime
11/02/2006 02:39 AM 124,928 chajei.ime
11/02/2006 02:39 AM 124,928 cintlgnt.ime
11/02/2006 02:39 AM 881,152 IMJP10.IME
11/02/2006 02:39 AM 412,160 imkr80.ime
11/02/2006 02:40 AM 7,168 msctfime.ime
11/02/2006 02:39 AM 124,928 phon.ime
11/02/2006 02:39 AM 88,576 pintlgnt.ime
11/02/2006 02:39 AM 124,928 qintlgnt.ime
11/02/2006 02:39 AM 124,928 quick.ime
11/02/2006 02:39 AM 125,440 tintlgnt.ime
TSF는 코드네임 Cicero로 1990년대 말부터 시작된 프로젝트이다. COM인터페이스를 기본으로 설계된 TSF는 기존 IME와의 호환성을 위해 CUAS (Cicero Unaware Application Support)를 구현하였다. 하지만, CUAS가 100% 완벽한 호환성을 지원하지 못하기 때문에 여러 어플리케이션에서 문제가 발생할 수 있다. 기본적으로 TSF만을 지원하는 비스타이지만, 실제로는 모든 기존 IME지원 파일들이 존재하기 때문에, 기존 IME를 쉽게 재설치 가능하다. 특히, 이는 TSF와 문제를 일으키는 어플리케이션을 사용해야만 하는 경우 유용한 팁이 될 수 있다.
그럼 이들을 비스타에서 사용하려면 어떻게 하면 될까? 아래 reg파일과 같이 HKLM에 IME를 등록해주면, 기존 IME의 추가가 가능해진다. (여기서는 한글 IME의 예를 들은 것이고, 다른 언어 IME의 경우도 WIn XP의 레지스트리를 참고하여 같은 방법으로 비스타에서 문제없이 사용할 수 있다)
추가된 IME는 입력도구모음 윈도우에서 선택하여 사용 가능한데 아직 기본으로 설정되어 있지는 않다. 등록정보 UI에서는 기존 IME를 기본으로 설정할 수 있다. 기존 IME를 기본으로 하면 아래 HKCU의 Preload를 변경하면된다. 여기서 E0010412는 한글 입력기의 HKL 핸들값으로 위에 HKLM서 추가된 값이다. 00000412는 TSF 입력기이다. 따라서, IME가 기본으로 나타나게되며 TSF 한글 입력기를 사용하기 원하면, 언어입력도구 상자의 아이콘을 클릭하여 변경할 수 있다.
HKL은 Keyboard Layout Handle이다. HKL 값에 대해 조금 더 자세히 알아보면, IME일 경우 최상위 세비트가 항상 1 이되어 "0xE00N0LLL"와 같은 형태가 되고 IME가 아닌 키보드 드라이버일 경우는 "0x000N0LLL" 형태가 된다. 여기서 N은 일련번호 (1부터 시작) 이며 LLL은 LCID (Locale ID)이다. 한글의 경우는 LLL은 412 (16진수) 가 된다.
윈도우즈에 설치된 모든 키보드 드라이버와 IME는 다음 레지스트리 아래에서 찾을 수 있다. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts
또 이들 중에 각각의 사용자들에게 설치된 IME는 아래 HKCU 아래 있다. 숫자 일련번호에 따라 "1" 이 기본 IME혹은 키보드 드라이버이다
마이크로소프는 비스타에서 음성인식 지원을 가장 큰 기능 향상 중의 하나로 선전하였다. (음성인식은 XP에도 있었으나 비스타에서 UI가 많이 향상되었다). 하지만, 안타깝게도 한국어 음성인식이 지원되지 않는다. (일본어, 중국어 음성인식은 지원된다). 따라서, 비스타의 TSF를 통해 당장 얻어지는 잇점 이라면 단어 단위의 한글/한자 변환과 사용자 정의 한자 사전일 것이다. 하지만, 이러한 기능을 사용하지 않는다면 기존 (legacy) IME를 사용하는 데 아무런 문제가 없다. 기존 IME는 TSF IME에 비해 메모리도 100 KB이상 덜 사용하며, 전에 언급한 바와 같이 복잡한 함수 호출이 없어 속도도 빠르다. 호환성에 있어서도 물론 기존 IME가 우수하다.
그렇다고 앞으로 계속 기존 IME 쓸 수는 없을 것이다. 비록 비스타에서 IME 파일을 남겨 두었으나, 다음 윈도우즈 버전에서는 IME를 영원히 삭제하게 될 것으로 예상되기 때문이다.