Egloos | Log-in


태그 : 한글

emacs 한글 입력기 근황

자잘한 버그수정과 기능추가가 있었습니다.
  • 3벌식390 추가
  • 3벌식 모아치기 버그 수정
  • 중복되는 코드를 제거
  • 마커가 활성화되어 있을때 입력시 기존의 글이 지워지지 않고 commit시 같이 삭제되는 문제 수정
  • I-search에서 리턴이 안되는 현상 수정

아래의 버전이 여태껏 개발된 최신버전이고 더 이상 큰 수정은 없을듯합니다.

hangul.el.gz

그리고 emacs-devel에 메일 보낸것은 답장이 왔는데 무슨 저작권 서명을 해야된다고 하는듯해서 모른다고 게기고있습니다..;; 혹시 아시는 분은 조언좀 부탁드립니다.
그리고 어떤분은 버그질라에 등록을 하셨던데 어떤 곳인지 모르겠네요. emacs공식 버그질라는 아닌것같은데 말이죠.

제가 처음에 emacs를 싫어한 이유중 하나가 vim과 달리 한글 입력기가 내장되어 있고 그 입력기가 별로 안좋아 모든 한글을 입력할 수 없어서 였는데 지금은 emacs로 넘어왔고 불편한걸 스스로 고쳐나가니 재밌군요.

by sylphong | 2008/03/09 02:15 | 트랙백 | 핑백(1) | 덧글(16)

emacs 한글 입력기

emacs가 유니코드를 지원한지 꽤됐는데 아직 입력기는 euc-kr을 벗어나지 못하고 있습니다.
그래서 한글을 입력하다보면 아래와 같은 현상이 자주 발생하는데요. 코딩할땐 괜찮은데 erc로 채팅할땐 여간 불편한게 아닙니다.

emacs에서 한글입력은 mule패키지에 있는 quail모듈을 통해서 이루어집니다.
quail은 다국어 입력을 위해 다양한 함수와 매크로를 제공하는데 한글입력을 처리하는 hangul.el파일을 보면 quail-define-rules매크로를 통해 transition rule을 정의하여 한글입력을 구현하고 있습니다.
'r'이라는 입력이 들어오면 'ㄱ'으로, 여기서 'k'가 입력되면 '가'로 전이가 되는 방식이죠.

이러한 방식으로 한글을 구현하면 11,172개의 룰을 정의해야 됩니다. 하지만 hangul.el은 euc-kr영역에 해당하는 룰만 정의해놓았고 그로인해 유니코드 환경에서도 euc-kr영역외의 글자는 입력할 수 없습니다.
위의 방식은 너무 비효율적인것같아 alee님의 aim을 참고하여 새로운 입력기을 만들어봤습니다.

hangul.el

이 파일을 받아서 emacs가 인식하는 디렉토리에 넣어두고 설정파일에 아래와 같이 한줄만 추가하면 기존의 korean-hangul, korean-hangul3 메소드를 오버라이딩합니다.

(require 'hangul)

기존에 한글 설정이 되어 있다면 문제없이 사용할 수 있을것입니다.

by sylphong | 2008/03/02 23:10 | 트랙백 | 핑백(1) | 덧글(1)

◀ 이전 페이지          다음 페이지 ▶