두근두근 울렁울렁 가슴 뛰지만 무섭고도 두려워서 겁이 나지만 오늘은
이맥스의
글꼴 설정에 대해 써볼까 합니다. 프로그래머들은
고정폭 글꼴을 선호합니다.
D2Coding을 많이 사용하는 것 같습니다. 그런데,
본고딕에도 고정폭 글꼴이 있더군요.
(나만 몰랐나??) 그래서, 이 두 개의 글꼴을 시험해보기로 했습니다.
이맥스에서 글꼴을 설정하는 가장 쉬운 방법은 메뉴 바의 `Options'를 이용하는 것입니다. 마우스로 `Options'를 클릭하면 `Set Default Font'를 선택할 수 있어요. 여기서 원하는 글꼴을 선택하고 `Options'의 `Save Options'를 선택하면, 이맥스의 초기화
파일 또는 (`custom-file'
변수를 미리 설정한 경우에는) 맞춤화 파일에 저장됩니다. 초기화 파일에 저장하면 다음에 이맥스를 실행할 때 그 내용이 적용되어 그 글꼴이 기본 글꼴이 되는거죠. 아래와 비슷하게 설정됩니다.
(custom-set-faces
'(default ((t (:family "D2Coding")))))
D2Coding을 기본 글꼴로 설정한 예 입니다. 실제로는 글꼴 스타일과 글꼴 크기 같은 다른 정보도 붙여서 설정하지만 보기 쉽도록 글꼴 이름만 넣었습니다. 그런데, 이 방식은 한가지 문제가 있습니다. 이맥스를 이맥스 자체로 그냥 사용할 때는 기본 글꼴이 잘 적용됩니다. 그러나 이맥스를
서버 모드나
데몬으록 실행하고 이맥스
클라이언트로 이멕스 서버에 접근하면, 이맥스 클라이언트에는 이 기본 글꼴 설정이 되어있지 않습니다.
(이맥스를 서버 모드로 기동하는 가장 큰 이유는 이맥스 클라이언트가 이맥스 서버보다 가볍게 실행되기 때문입니다. 또한, 이맥스 서버와 이맥스 클라이언트는 버퍼를 공유하고요.)이맥스 클라이언트에도 기본 글꼴을 적용하려면, 위 방식을 쓰는 대신 아래와 같은 내용을 이맥스의 초기화 파일에 넣어주는 것이 좋습니다.
(set-face-font 'default (font-spec :family "D2Coding"))
D2Coding을 기본 글꼴로 설정하면서 글꼴 크기에 따라 고정폭이 얼마나 잘 맞나 시험해봤습니다. (
Org-mode로 작성한 글에 붙인 태그로 시험했습니다.) 두 개의 태그 사이에 이상하게 잘리는 글자들이 없어야 합니다. 한글 문자는 정확하게 절반으로 잘릴 수 있지만요. 또는, 태그를 구분하는 : 문자와 기준을 잡기 위한 선과의 간격을 보는 것이 더 정확합니다. 기본 글꼴의 크기를 바꿔서 이맥스를 실행시키고, 각각 같은 부분의 화면을 갈무리해서 편집했습니다.
13은 기본 글꼴의 크기를 지정하지 않았을 때 입니다. 글꼴 크기가 13이 됩니다.
(set-face-font 'default (font-spec :family "D2Coding"))
14는 기본 글꼴 크기를 14로 지정한 것 입니다.
(set-face-font 'default (font-spec :family "D2Coding" :size 14))
16은 기본 글꼴 크기를 16으로 지정한 것 이고요.
(set-face-font 'default (font-spec :family "D2Coding" :size 16))
17은 기본 글꼴 크기를 17로 지정한 것 입니다.
(set-face-font 'default (font-spec :family "D2Coding" :size 17))
13과 17에서 고정폭이 맞지 않는 것을 볼 수 있습니다. 14와 16에서는 잘 맞고요. D2Coding은 글꼴 크기가 짝수일때 폭이 맞는 것 같습니다. 같은 작업을 본고딕의 고정폭 글꼴로 해봤습니다.
13은 기본 글꼴의 크기를 지정하지 않았을 때 입니다. 글꼴 크기가 13이 됩니다.
(set-face-font 'default (font-spec :family "Noto Sans Mono CJK KR"))
14는 기본 글꼴 크기를 14로 지정한 것 입니다.
(set-face-font 'default (font-spec :family "Noto Sans Mono CJK KR" :size 14))
16은 기본 글꼴 크기를 16으로 지정한 것 이고요.
(set-face-font 'default (font-spec :family "Noto Sans Mono CJK KR" :size 16))
17은 기본 글꼴 크기를 17로 지정한 것 입니다.
(set-face-font 'default (font-spec :family "Noto Sans Mono CJK KR" :size 17))
기대했던것과 달리, 글꼴 크기가 홀수인 경우에도 짝수인 경우에도 폭이 맞지 않습니다. 다음 그림이 조금 특이합니다. 이번엔 기본 글꼴을 본고딕의 형제(?)인 源ノ角ゴシック의 고정폭 글꼴로 하고, 한글 글꼴 부분만 본고딕의 고정폭 글꼴로 설정했습니다. 서로 맞춘 두 글꼴의 크기가 다릅니다. 源ノ角ゴシック의 글꼴 크기가 홀수일 경우 1.2를, 짝수일경우 1.1로 본고딕의 글꼴 크기를 맞춰봤습니다.
13은 기본 글꼴의 크기를 지정하지 않았을 때 입니다. 源ノ角ゴシック 글꼴 크기는 13이고 본고딕 글꼴 크기는 15가 설정됩니다.
(set-face-font 'default (font-spec :family "Noto Sans Mono CJK JP"))
(set-fontset-font "fontset-default" 'hangul (font-spec :family "Noto Sans Mono CJK KR"))
(setq face-font-rescale-alist '(("Noto Sans Mono CJK KR" . 1.2)))
14는 기본 글꼴 크기를 14로 지정한 것 입니다. 源ノ角ゴシック 글꼴 크기는 14고 본고딕 글꼴 크기는 15가 설정됩니다.
(본고딕 글꼴 크기가 위의 경우와 같습니다.)(set-face-font 'default (font-spec :family "Noto Sans Mono CJK JP" :size 14))
(set-fontset-font "fontset-default" 'hangul (font-spec :family "Noto Sans Mono CJK KR"))
(setq face-font-rescale-alist '(("Noto Sans Mono CJK KR" . 1.1)))
16은 기본 글꼴 크기를 16으로 지정한 것 이고요. 源ノ角ゴシック 글꼴 크기는 16이고 본고딕 글꼴 크기는 17이 설정됩니다.
(set-face-font 'default (font-spec :family "Noto Sans Mono CJK JP" :size 16))
(set-fontset-font "fontset-default" 'hangul (font-spec :family "Noto Sans Mono CJK KR"))
(setq face-font-rescale-alist '(("Noto Sans Mono CJK KR" . 1.1)))
17은 기본 글꼴 크기를 17로 지정한 것 입니다. 源ノ角ゴシック 글꼴 크기는 17이고 본고딕 글꼴 크기는 20이 설정됩니다.
(본고딕 글꼴 크기가 源ノ角ゴシック 글꼴 크기에 비해 너무 크군요.)(set-face-font 'default (font-spec :family "Noto Sans Mono CJK JP" :size 17))
(set-fontset-font "fontset-default" 'hangul (font-spec :family "Noto Sans Mono CJK KR"))
(setq face-font-rescale-alist '(("Noto Sans Mono CJK KR" . 1.2)))
모두 폭이 맞은 것을 볼 수 있습니다. 특히, 14가 재미있는데요... 이맥스에서는 기본 글꼴을 정한 뒤에 일시적으로 글꼴 크기를 바꿀 수 있습니다. 예를 들어, 오래동안 작업하면서 눈이 피곤해지면 글꼴 크기를 키울 수 있겠죠. 글꼴 크기가 커서 코드의 내용이 한눈에 들어오지 않는다면 글꼴 크기를 줄일 수도 있을 것입니다. 이러한 작업은 `
M-x text-scale-adjust
' 명령으로 할 수 있습니다. 명령을 내린 후, + 키 또는 - 키로 글꼴을 키우거나 줄입니다.
이렇게 글꼴 크기를 키우거나 줄이면 다시 폭이 맞지 않는 일이 일어날 수 있습니다. 위에서 D2Coding은 글꼴 크기가 짝수일때 폭이 맞는 것 같다고 했습니다만, 글꼴 크기를 키우거나 줄일 때 글꼴 크기가 홀수가 되면 폭이 맞지 않습니다. 그런데, 저 14는 글꼴 크기를 15로 키울때는 폭이 맞지 않지만 그 이상으로 키우면 여러 글꼴 크기에서 폭이 맞는 것 같습니다.
오늘은 이렇게 이맥스에서 글꼴 설정에 대해 조금 알아봤습니다.