カニをいただく。
ここ数日いろいろやってみたのだが
等、なかなか気に入る設定ができなかったのだが、ようやく解決。
ntemacs、Meadowそれぞれについて、後述する関数 my-create-fontset を作り、
(my-create-fontset "Andale Mono" "SH G30_M" "lc" 13 16 12)
というような呼び出しを行うことで、
設定ができた。
もちろん Andale Mono と SH G30-M の組み合わせである必要はないが、結構見やすいので、この組み合わせにした。
(defun my-create-fontset (usname jpname shortname ussize jpsize imesize) (create-fontset-from-fontset-spec (concat (format my-fontset-format usname ussize shortname jpsize) ",japanese-jisx0208:" (format my-font-name-format jpname jpsize "jisx0208-sjis") ",japanese-jisx0212:" (format my-font-name-format jpname jpsize "jisx0208-sjis") ",katakana-jisx0201:" (format my-font-name-format jpname jpsize "jisx0208-sjis") ",latin-jisx0201:" (format my-font-name-format usname ussize "iso8859-1") ",japanese-jisx0208-1978:" (format my-font-name-format jpname jpsize "jisx0208-sjis"))) (setq my-ime-font (format my-font-name-format jpname imesize "jisx0208-sjis") my-default-font (format my-fontset-format usname ussize shortname jpsize) my-frame-left -16 w32-bdf-filename-alist (w32-find-bdf-fonts bdf-directory-list)))
(defun my-create-fontset (usname jpname shortname ussize jpsize imesize) (w32-add-font (format "%s-%d" shortname jpsize) `((spec ;; ascii ((:char-spec ascii :height any) strict (w32-logfont ,usname 0 ,(- ussize) 400 0 nil nil nil 0 1 3 49)) ((:char-spec ascii :height any :weight normal :slant italic) strict (w32-logfont ,usname 0 ,(- ussize) 400 0 nil nil nil 0 1 3 49)) ((:char-spec ascii :height any :weight bold) strict (w32-logfont ,usname 0 ,(- ussize) 400 0 nil nil nil 0 1 3 49)) ((:char-spec ascii :height any :weight bold :slant italic) strict (w32-logfont ,usname 0 ,(- ussize) 400 0 nil nil nil 0 1 3 49)) ;; latin-jisx0201 ((:char-spec latin-jisx0201 :height any) strict (w32-logfont ,usname 0 ,(- ussize) 400 0 nil nil nil 0 1 3 49)) ((:char-spec latin-jisx0201 :height any :weight normal :slant italic) strict (w32-logfont ,usname 0 ,(- ussize) 400 0 nil nil nil 0 1 3 49)) ((:char-spec latin-jisx0201 :height any :weight bold) strict (w32-logfont ,usname 0 ,(- ussize) 400 0 nil nil nil 0 1 3 49)) ((:char-spec latin-jisx0201 :height any :weight bold :slant italic) strict (w32-logfont ,usname 0 ,(- ussize) 400 0 nil nil nil 0 1 3 49)) ;; katakana-jisx0201 ((:char-spec katakana-jisx0201 :height any) strict (w32-logfont ,jpname 0 ,(- jpsize) 400 0 nil nil nil 128 1 3 49)) ((:char-spec katakana-jisx0201 :height any :weight normal :slant italic) strict (w32-logfont ,jpname 0 ,(- jpsize) 400 0 t nil nil 128 1 3 49)) ((:char-spec katakana-jisx0201 :height any :weight bold) strict (w32-logfont ,jpname 0 ,(- jpsize) 700 0 nil nil nil 128 1 3 49) ((spacing . -1))) ((:char-spec katakana-jisx0201 :height any :weight bold :slant italic) strict (w32-logfont ,jpname 0 ,(- jpsize) 700 0 t nil nil 128 1 3 49) ((spacing . -1))) ;; japanese-jisx0208 ((:char-spec japanese-jisx0208 :height any) strict (w32-logfont ,jpname 0 ,(- jpsize) 400 0 nil nil nil 128 1 3 49)) ((:char-spec japanese-jisx0208 :height any :weight normal :slant italic) strict (w32-logfont ,jpname 0 ,(- jpsize) 400 0 nil nil nil 128 1 3 49)) ((:char-spec japanese-jisx0208 :height any :weight bold) strict (w32-logfont ,jpname 0 ,(- jpsize) 700 0 nil nil nil 128 1 3 49) ((spacing . -1))) ((:char-spec japanese-jisx0208 :height any :weight bold :slant italic) strict (w32-logfont ,jpname 0 ,(- jpsize) 700 0 nil nil nil 128 1 3 49) ((spacing . -1)))))) (setq my-ime-font `(w32-logfont ,jpname 0 ,(- imesize) 400 0 nil nil nil 128 1 3 49) my-default-font (format "%s-%d" shortname jpsize) my-frame-left 0))
*Messages* の更新情報取得には、antenna.lirs もしくは index.rdfをご利用ください。 豪傑アンテナ の LIRSからも取得可能です。
katakana-jisx0201 (と latin-jisx0201 も?) はエンコーディングに関する設定も必要かもしれません。<br>設定していないと、状況によっては文字化けなどの原因となるはずです。<br><br>;; ascii, latin-jisx0201 で bold と italic を、<br>;; japanese-jisx0208 で italic を実質的にはずしているのは、<br>;; やはりわざとですか?<br>;; もしそうであれば、理由をお聞かせください。(興味津々 :-)
boldとかitalicが抜けてる理由は、単に、以前の設定をそのままもってきただけです。そこまで意識してません。<br># 指摘されるまで気付いていなかった説 (^^;<br>ということで、もう少し見直してみます。