あどけない話

Internet technologies

Cocoa Emacsでのフォント設定

Cocoa Emacs をそのまま使うと、等幅フォントの設定が使い物になりません。日本語文字の幅は、英語文字の倍であるべきです!

Web を調べても、みんな困っていることが分かっただけ。そこで自分でハックしてみましたが、到底手に負えないことが分かりました。(フォントは Emacs の最も難しい部分です!)

という訳で、Cocoa Emacs の Adrian Robert さんにメールしたところ、「フォント周りは半田さん」とのこと。結局、半田さんに質問しました。

そしてついに、Carbon な Emacs 22 でも CocoaEmacs 23 でも、希望通りにフォントを設定することができました。

以下がそうです。僕は、ヒラギノ丸ゴを使っています。

(setq my-font "-*-*-medium-r-normal--14-*-*-*-*-*-fontset-hiramaru")
(setq fixed-width-use-QuickDraw-for-ascii t)
(setq mac-allow-anti-aliasing t)
(if (= emacs-major-version 22)
    (require 'carbon-font))
(set-default-font my-font)
(add-to-list 'default-frame-alist `(font . ,my-font))
(when (= emacs-major-version 23)
  (set-fontset-font
   (frame-parameter nil 'font)
   'japanese-jisx0208
   '("Hiragino Maru Gothic Pro" . "iso10646-1"))
  (setq face-font-rescale-alist
	'(("^-apple-hiragino.*" . 1.2)
	  (".*osaka-bold.*" . 1.2)
	  (".*osaka-medium.*" . 1.2)
	  (".*courier-bold-.*-mac-roman" . 1.0)
	  (".*monaco cy-bold-.*-mac-cyrillic" . 0.9)
	  (".*monaco-bold-.*-mac-roman" . 0.9)
	  ("-cdac$" . 1.3))))

このコードは極めてハードコーティングなので、一時的な解だと思って下さい。carbon-font.el などを Cocoa Emacs に対応させるのが、正しい解決策です。

ま、Emacs on Mac ユーザが、Cocoa Emacs を使うきっかけになれば。。。

追記

最新のフォント設定については、以下を参考にして下さい。