sci

最果て風呂

Cocoa Emacs のフォント設定について

Cocoa Emacs でハングル文字が表示出来なかった件。ネットで調べた設定をそのまま参考にしてフォントを set-fontset-font'unicode としてひとまとめにして設定(ヒラギノ丸ゴシック)していたのが原因だった。

昔ながらの方法で、各文字コードごとにフォントを設定してやれば表示されるようになった。設定されていないものについては Emacs がよろしくやってくれる。例えばタイとかアラブのもじゃもじゃも表示できるようになる。

丸ゴシック系でそろえたいので Font Book.app でグリフを見渡す。簡体字の Yuanti は face-font-rescale-alist を使って大きさを合わせても、ベースラインが少し下になってしまい揃わないのが残念。繁体字は良く見ても簡体字は滅多に見ないので良いとしよう。

あと、昔調べた下記の旧字体はうまく表示できない。Wawati_CS というフォントで表示されてしまう。

寬 (U+5BEC)、愠 (U+6120)、昻 (U+663B)、薰 (U+85B0)

また、下記の旧字体は Lantinghei_TC と Nanum_Gothic で表示される。Nanum はハングル文字のはずなんだが。良くわからんのう。たぶんヒラギノゴシック系で設定したら大丈夫なんだろうね。私は丸が好きなんだわ。

悅 (U+6085)、敎 (U+654E)、淸 (U+6DF8)、淲 (U+6DF2)、瀨 (U+7028)、皂 (U+7682)、綠 (U+7DA0)、緖 (U+7DD6)、赶 (U+8D76)、閒 (U+9592)

.emacs.d/init.el は以下

(if (string-match "NS apple-appkit-" (emacs-version))
    (progn
      (create-fontset-from-ascii-font
       "Menlo-14:weight=normal:slant=normal" nil "menlomarugo")

      (set-fontset-font "fontset-menlomarugo" 'japanese-jisx0208
      (font-spec :family "Hiragino Maru Gothic ProN" :size 14) nil 'append)
      (set-fontset-font "fontset-menlomarugo" 'japanese-jisx0213-1
      (font-spec :family "Hiragino Maru Gothic ProN" :size 14) nil 'append)
      (set-fontset-font "fontset-menlomarugo" 'japanese-jisx0213-2
      (font-spec :family "Hiragino Maru Gothic ProN" :size 14) nil 'append)
      (set-fontset-font "fontset-menlomarugo" 'katakana-jisx0201
      (font-spec :family "Hiragino Maru Gothic ProN" :size 14) nil 'append)
      (set-fontset-font "fontset-menlomarugo" 'japanese-jisx0212
      (font-spec :family "Hiragino Maru Gothic ProN" :size 14) nil 'append)
      (set-fontset-font "fontset-menlomarugo" 'chinese-big5-1
      (font-spec :family "Lantinghei TC" :size 14) nil 'append)
      (set-fontset-font "fontset-menlomarugo" 'chinese-big5-2
      (font-spec :family "Lantinghei TC" :size 14) nil 'append)
      (set-fontset-font "fontset-menlomarugo" 'chinese-gb2312
      (font-spec :family "Yuanti SC" :size 14) nil 'append)
      (set-fontset-font "fontset-menlomarugo" 'korean-ksc5601
      (font-spec :family "Nanum Gothic" :size 14) nil 'append)
      ;(set-fontset-font "fontset-menlomarugo" 'unicode
      ;(font-spec :family "Hiragino Maru Gothic ProN" :size 14) nil 'append)
      (add-to-list 'default-frame-alist '(font . "fontset-menlomarugo"))
      (setq face-font-rescale-alist
          '((".*Hiragino.*" . 1.2) (".*Menlo.*" . 1.0) (".*Nanum.*" . 1.25)
            (".*Lantinghei.*" . 1.2) (".*Yuanti.*" . 1.2)))
      ))