레이블이 고정폭인 게시물을 표시합니다. 모든 게시물 표시
레이블이 고정폭인 게시물을 표시합니다. 모든 게시물 표시

2010년 11월 4일 목요일

[Emacs] Windows 환경에서 폭이 일정한 글꼴 설정하기

주의) 이 글은 삽질을 바탕으로 한 경험적 결과를 정리한 것이므로 다른 분들의 환경에서는 동일한 결과를 보여주지 않을 수도 있습니다. 만약 다른 결과가 나타났다면 댓글 부탁 드립니다. 혹은 더 나은 방법에 대한 조언이나 잘못된 부분에 대한 지적도 매우 환영합니다. (저는 Windows 7 환경에서 Emacs 소스 저장소로부터 직접 소스를 받아 주기적으로 빌드해서 사용하고 있습니다.)



Emacs 23.x 이후 버전부터는 Truetype 글꼴(TTF)을 특별한 어려움 없이 바로 사용할 수 있습니다. 그래서, 다른 에디터에서 즐겨 사용하는 글꼴을 Emacs에서도 그대로 설정해서 사용하는 것이 가능한데, 얼마 전까지는 Consolas맑은 고딕 조합으로 쭉 써왔습니다. 그렇지만, 맑은 고딕이 가변폭 글꼴이다보니 고정폭이 꼭 필요한 편집 상황에서 한글과 영문을 섞어 쓰게 되면 간격이 일정하지 않아 꽤 보기 불편하더군요. 그래서, 폭이 일정하고 영문과 한글 글자 폭 비율이 [1 : 2]가 되는 글꼴을 찾아보기로 결심하고 삽질을 조금 한 끝에 몇 가지 조합을 찾을 수 있었습니다.

1. 나눔고딕코딩

Windows의 메모장에서 제가 즐겨 쓰는 나눔고딕코딩 글꼴은 그 자체로 한글과 영문을 모두 포함하고 있고 글자 폭의 비율이 일정하게 유지되므로, Emacs에서도 마찬가지로 특별히 고민할 필요 없이 원하는 크기로 설정해서 사용할 수 있습니다. 코딩을 위해 설계되었고 무료로 배포되는 고마운 글꼴이지요. 하지만, 제 개인적인 입장에서, 영문 글자가 자신의 공간에 꽉 차고 폭에 비해 키가 큰 편이라 소스 코드 내용을 볼 때 조금 답답한 느낌이 들더군요. 그리고, 기울임 글꼴이 별도로 포함되어 있지 않아서 Emacs에서 기울임 효과를 볼 수 없습니다.

설정하는 방법은 매우 간단합니다. 아래는 나눔고딕코딩 13 픽셀로 설정한 예입니다. 글꼴 크기를 변경하려면 13 부분을 원하는 크기로 바꿔주면 됩니다.
(set-face-font 'default "-outline-NanumGothicCoding-normal-normal-normal-mono-13-*-*-*-c-*-iso10646-1")

2. Consolas + 나눔고딕코딩

나눔고딕코딩의 한글 글꼴은 맑은 고딕에 비해서 그리 나쁜 편이 아니기 때문에 나눔고딕코딩의 한글 글꼴과 Consolas의 영문 글꼴을 사용하면 상당히 만족스러운 조합이 됩니다. 한 가지 안타까운 점은 글꼴의 크기가 15 픽셀 이상이 되면 영문과 한글 글자의 폭 비율이 더 이상 [1 : 2]로 유지되지 않는 현상이 발생합니다. 제가 실험해본 결과에 따르면 13 이하의 홀수 픽셀 크기에 대해서 원하는 결과를 얻을 수 있었습니다. (13, 11, 9 등)
(set-face-font 'default "-outline-Consolas-normal-normal-normal-mono-13-*-*-*-c-*-iso10646-1")
(set-fontset-font "fontset-default" 'hangul '("NanumGothicCoding" . "unicode-bmp"))

3. Consolas + 돋움체(굴림체, 바탕체, 궁서체)

Consolas + 나눔고딕코딩 조합이 좋기는 하지만, 글꼴 크기가 15 픽셀 이상이 되면 글자 폭 비율이 어긋나버리는 현상 때문에 대안으로 찾은 한글 글꼴이 Windows 시스템 기본 글꼴들이었습니다. ~~체로 끝나는 고정폭 한글 글꼴을 사용하면 Consolas와 조합했을 때 [1 : 2] 비율을 잘 유지합니다. (물론, 글꼴 크기가 홀수 픽셀인 경우만)

아래는 Consolas + 돋움체 조합에 15 픽셀 크기로 설정한 예입니다. 만약 돋움체 대신 다른 글꼴을 사용하고 싶다면 굴림체(Gulimche), 바탕체(Batangche), 궁서체(Gungsuhche) 중에서 선택 가능합니다.
(set-face-font 'default "-outline-Consolas-normal-normal-normal-mono-15-*-*-*-c-*-iso10646-1")
(set-fontset-font "fontset-default" 'hangul '("Dotumche" . "unicode-bmp"))

4. 다른 영문 글꼴에 대한 시도

위 조합 외에 시도해본 영문 글꼴에는 프로그래머를 위한 글꼴로 제법 이름이 알려져 있는 DejaVu Sans Mono, Liberation Mono, Courier New, Anonymous, Monaco 등이 있습니다. 그러나, 한글과 글자 폭 비율이 정확하게 [1 : 2]가 되는 한글 글꼴을 찾을 수가 없었습니다. 더구나 고정폭 한글 글꼴의 경우는 그 존재 자체가 매우 드물어서 위에서 사용했던 글꼴 외에 적당한 것을 발견하지 못했습니다. 매우 슬픈 일이지요.

전 '나눔고딕코딩 한글 글꼴'과 '15 픽셀의 글꼴 크기' 중에서 갈등하다 결국 '15 픽셀의 글꼴 크기'를 선택했습니다. 15 픽셀 그 아래로 내려가면 글자가 너무 작게 보여서 모니터 앞으로 고개를 내밀게 되더군요. :-$