-

Carbon Emacsのフォント設定

追記: Carbon Emacsの(脱carbon-font)フォント設定 もご覧ください。

CarbonEmacsでのフォント設定 - 角谷HTML化計画 (2006-10-16)にインスパイアされて自分もフォントの設定をしてみた。フォントとかよくこだわるのにことEmacsに関しては聖域と化していました。(ムズカシイから・・・)
いま、どういう設定だったか忘れていたのであらためて自分の.emacsを見てみる↓

(cond
 ;;{{{ On Mac

 ((eq window-system 'mac)
  (require 'carbon-font)
  (fixed-width-set-default-fontset "-*-*-medium-r-normal--12-*-*-*-*-*-fontset-hiraginomaru"))

 ;;}}}

  [... Mac以外の設定があるとこ ...]
)

ミニマムだな。carbon-fontさまさまです。ヒラギノ丸ゴを使っていたことを今意識した。
フォントのサイズは、普段の画面サイズと自分の目のバランスで12ポイントでしっくりきている。でもでも、なんか日本語のある行だけ、行間が高いのよね・・・とは気になってはいた。(でも実は、もう慣れていたけど。)

で、変えた。(丸写し)

  (require 'carbon-font)
  (setq mac-allow-anti-aliasing t)
  (defvar carbon-font-encode-family-list-monacomplus
    '((ascii . "monaco")
      (japanese-jisx0208 . "m+ 1mn light")
      (katakana-jisx0201 . "m+ 1mn light")
      (japanese-jisx0212 . "m+ 1mn light")
      (chinese-gb2312 . "stheiti*")
      (chinese-big5-1 . "lihei pro*")
      (korean-ksc5601 . "applegothic*")))

  (carbon-font-create-fontset "monacomplus"
                              carbon-font-defined-sizes
                              carbon-font-encode-family-list-monacomplus)
  (fixed-width-set-default-fontset "-*-*-medium-r-normal--12-*-*-*-*-*-monacomplus")


M+のアウトライン版を初めて使ったけどけっこういいコレ。行の高さも揃ったしハッピー。このフォントはときどき追いかけよう。

ただ別の問題として、M+に変えると、マルチバイト文字の幅がASCIIの2倍にならない。1.7倍くらいになる。今までは正確にMonacoの幅x2=ヒラギノ丸ゴの幅、だったのに。
そもそも。これはcarbon-fontで幅が合うようにスケールされている定義済みのfontsetを使っていたからで、そこで定義済みなのは monaco + {ヒラギノ丸ゴ、角ゴ、osaka}なのだった。
自分でM+用にスケールするような数字を書けばいいんだと思うけど、とりあえずASCIIだけ等幅だったらいっかなーという感じ。今までが日本語だけデカく見えていたので、しばらくは、同じ大きさに見えるようになった効果を感じてみる。しばらくして気になったらなんかするかも。

追記(11月2日): M+だと思っていたものはヒラギノ角ゴシックが小さくなってたものだった。これで見やすいからいいが、M+は表示されないのか?ヒラギノ角にするならするでちゃんと設定したい。

さらに追記(11月17日): よく考えたらフォントのカバーする文字集合の範囲が違うよなぁ。MonacoはASCIIで、M+はASCII・全角ひらがな・全角カタカナだ(Font Book.appで確認)。漢字や半角カナはM+でカバーできないわけで、だから、katakana-jisx0201, japanese-jisx0212に"m+ 1mn light"と指定しているのは無意味な気がするなあ。もちっといじるか。

  • M-x describe-char ... 文字情報を見る。カーソル位置の文字がどの文字集合か分かる。いまどのフォントで出ているか分かる。
  • M-x describe-fontset ... fontsetの説明。どの文字集合(や範囲)がどのフォントになってるかが分かる。