Cocoa Emacs フォントセット設定で不可解な現象
追記
2011-2-20 半田さんから対処し「Emacs の Bazaar レポジトリの emacs-23 branch」に commit したとの連絡を頂きました。私は締め切りが近い書類を提出後に試す予定です。
2011-2-22 確認しましたが、この問題はまだ直っていないようです。
本文
なぜか、inhibit-startup-message を t にして、face-font-rescale-alist を与え、background-color を default-frame-alist に加える、という3つの組み合わせでフォントの設定ができなくなる。background-color ではなく、foreground-colorだと大丈夫。inhibit-startup-messageをnilにするだけでも大丈夫。すごい謎。
(setq inhibit-startup-message t) (create-fontset-from-ascii-font "Menlo-14:weight=normal:slant=normal" nil "menlomarugo") (set-fontset-font "fontset-menlomarugo" 'unicode (font-spec :family "Hiragino Maru Gothic ProN") nil 'append) (setq face-font-rescale-alist '((".*Hiragino.*" . 1.2) (".*Menlo.*" . 1.0))) (add-to-list 'default-frame-alist '(font . "fontset-menlomarugo")) (add-to-list 'default-frame-alist '(background-color . "white"))
GNU Emacs 23.2.1 (x86_64-apple-darwin10, NS apple-appkit-1038.35) of 2011-01-12 on MacProE2008 - MacOS X WorkShop - 10.6
追記
;; ;; フォントセットを作り、デフォルトフレームのパラメータに追加する (let* ((fontset-name "myfonts") (size 14) (asciifont "Monaco") (font (format "%s-%d:weight=normal:slant=normal" asciifont size))) (create-fontset-from-ascii-font font nil fontset-name)) (add-to-list 'default-frame-alist '(font . "fontset-myfonts")) ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 以下の3つの設定のいずれかを外すと、 ;; Emacs 起動時のフレームにフォントセットが正しく設定される。 ;;;; ;;(1) (setq inhibit-startup-screen t) ;;(2) (add-to-list 'default-frame-alist '(background-color . "FloralWhite")) ;;(3) (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))) ;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;正しい動作 (上の3つの設定の何れかを外した場合) ;;(face-attribute 'default :fontset) ;;"-apple-monaco-medium-normal-normal-*-*-140-*-*-m-0-fontset-myfonts" ;;M-x list-fontsets の結果 ;; Fontset: -*-*-*-*-*-*-*-*-*-*-*-*-fontset-default ;; Fontset: -apple-monaco-medium-normal-normal-*-*-140-*-*-m-0-fontset-myfonts ;; Fontset: -ns-*-*-*-*-*-10-*-*-*-*-*-fontset-standard ;; Fontset: -apple-Monaco-medium-normal-normal-*-*-*-*-*-m-0-fontset-startup ;; ;; Emacs 23.2 で3つの設定を有効にした場合 ;;(face-attribute 'default :fontset) ;;"-apple-Monaco-medium-normal-normal-*-14-*-*-*-m-0-fontset-auto2" ;;M-x list-fontsets の結果 ;; Fontset: -apple-Times_New_Roman-medium-normal-normal-*-12-*-*-*-p-0-fontset-auto1 ;; Fontset: -apple-Monaco-medium-normal-normal-*-14-*-*-*-m-0-fontset-auto2 ;; Fontset: -*-*-*-*-*-*-*-*-*-*-*-*-fontset-default ;; Fontset: -apple-monaco-medium-normal-normal-*-*-140-*-*-m-0-fontset-myfonts ;; Fontset: -ns-*-*-*-*-*-10-*-*-*-*-*-fontset-standard ;; Fontset: -apple-Monaco-medium-normal-normal-*-*-*-*-*-m-0-fontset-startup ;; ;; Emacs 24.0.50 で3つの設定を有効にした場合 ;;(face-attribute 'default :fontset) ;;"-apple-monaco-medium-normal-normal-*-*-140-*-*-m-0-fontset-myfonts" ;;M-x list-fontsets の結果 ;; Fontset: -apple-Times_New_Roman-medium-normal-normal-*-12-*-*-*-p-0-fontset-auto1 ;; Fontset: -*-*-*-*-*-*-*-*-*-*-*-*-fontset-default ;; Fontset: -apple-monaco-medium-normal-normal-*-*-140-*-*-m-0-fontset-myfonts ;; Fontset: -ns-*-*-*-*-*-10-*-*-*-*-*-fontset-standard ;; Fontset: -apple-Monaco-medium-normal-normal-*-*-*-*-*-m-0-fontset-startup