Emacs on OS X 글꼴 설정

7452 단어 MacOSXfontEmacs

소개



OS X의 Emacs에서 아래와 같이 동작하도록 init.el 에 폰트 설정을 추가한다.
  • 유럽 글꼴은 Xcode나 터미널에서 디폴트 Menlo를 사용한다.
  • 일본어 폰트는 히라기노각고 ProN을 사용한다(JIS X 0213:2004대응).
  • 일반적인 등폭 폰트(반각:전각 = 1:2)의 설정으로 한다.

  • 동작 확인 환경


  • OS X 10.11.5
  • X11 Emacs 24.5.1 (Cocoa Emacs에서는 미확인)

  • 설정 내용


    init.el 에 추가한 폰트 설정은 다음과 같다.
    (when (and (>= emacs-major-version 24) (not (null window-system)))
      (let* ((font-family "Menlo")
             (font-size 9)
             (font-height (* font-size 10))
             (jp-font-family "ヒラギノ角ゴ ProN"))
        (set-face-attribute 'default nil :family font-family :height font-height)
        (let ((name (frame-parameter nil 'font))
              (jp-font-spec (font-spec :family jp-font-family))
              (jp-characters '(katakana-jisx0201
                               cp932-2-byte
                               japanese-jisx0212
                               japanese-jisx0213-2
                               japanese-jisx0213.2004-1))
              (font-spec (font-spec :family font-family))
              (characters '((?\u00A0 . ?\u00FF)    ; Latin-1
                            (?\u0100 . ?\u017F)    ; Latin Extended-A
                            (?\u0180 . ?\u024F)    ; Latin Extended-B
                            (?\u0250 . ?\u02AF)    ; IPA Extensions
                            (?\u0370 . ?\u03FF)))) ; Greek and Coptic
          (dolist (jp-character jp-characters)
            (set-fontset-font name jp-character jp-font-spec))
          (dolist (character characters)
            (set-fontset-font name character font-spec))
          (add-to-list 'face-font-rescale-alist (cons jp-font-family 1.2)))))
    

    내용 설명


  • 1행의 when 매크로로 emacs-major-version24 이상이고 또한 window-systemnil 가 아닌 경우를 지정. system-version 의 제약은 특별히 없음.

  • 2~5행째로 유럽문 폰트와 일본어 폰트를 지정.

  • 가족은 emacs에서 확인
    (dolist (font-family (font-family-list)) (print font-family))
    

  • 6행의 set-face-attribute 로 디폴트 프레임의 페이스의 속성 (폰트 패밀리와 높이)을 지정.

  • 9~13행째로 이번 대상으로 하는 일본어 문자 세트를 지정.
  • JIS X 0201, JIS X 0213 및 JIS X 0212의 중복 부분을 포괄하도록 지정. 1
    JIS文字集合の関係概念図


  • 15~19행째로 상기 일본어 문자 세트에 포함되지만, 유럽문(반각)으로서 표시하고 싶은 문자를 지정.
  • 라틴 문자나 그리스 문자 등.

  • 디폴트에서는 반각:전각 = 1:2가 되지 않기 때문에, 최종행의 face-font-rescale-alist 로 일본어 폰트는 1.2배로 표시하도록 지정.

  • 결과



    Emacs의 정상적인 사용에서 예상되는 결과를 얻었다.



    주의점


  • 히라기노각고 ProN에 포함되지 않은 글리프는 올바르게 표시되지 않는다(추측).
  • 「Apple 컬러 이모티콘」을 사용해 이모티콘 표시 대응을 시도했지만, Emacs가 크래쉬 하기 때문에 미실시.



  • 문자 코드 강좌 제1회―문자 코드의 역사(Unicode 전사) 

    좋은 웹페이지 즐겨찾기