概要
Emacs23 でのフォント。
現在の状態の確認
C-u C-x = でカーソル位置の文字の情報を取得できます。
文字のコード等は (split-char (string-to-char "あ"))みたいにして取れる
フォントの存在確認
利用可能なフォントは fc-list コマンドで調べることができる。「 : 」の前が family 名
(find-font (font-spec :family "Hiragino Maru Gothic Pro")) (find-font (font-spec :family "MS Gothic"))
時間がかかるが以下だと全部のフォントを調べることもできる
(insert (prin1-to-string (x-list-fonts "*")))
NTEmacs
以下を scratch なんかで実行するとフォント選択パネルが開いて、フォントを選択するとフォント名が取れる
(insert (prin1-to-string (decode-coding-string (w32-select-font) 'sjis)))
その場で変更したいなら
(set-frame-font (w32-select-font))
を実行すると選択しているフレーム内だけ選択したフォントにしてくれるのでみためを調査しやすい
以下みたいに設定する
(set-fontset-font t 'japanese-jisx0208 (font-spec :family (encode-coding-string "MS ゴシック" 'sjis) :size 14))
日本語のフォントを利用したい場合は以下みたいにしないとだめ
(encode-coding-string "MS ゴシック" 'sjis)
define-charset
「japanese-jisx0208」みたいな物は以下のlispを見ると意味がわかるんぢゃないかと思います。
- lisp/international/mule-conf.el
- lisp/international/characters.el
- lisp/language/japanese.el
- lisp/international/fontset.el
基本的には mule-conf に定義されています。日本語に関係しそうなのは以下。ひらがなと片仮名のフォントを分けたいみたいな変態な要求用の定義はないので自分で作成する必要があります。
- jisx0201
- latin-jisx0201
- katakana-jisx0201
- japanese-jisx0208
- japanese-jisx0208-1978
- japanese-jisx0212
- japanese-jisx0213-1
- japanese-jisx0213-2
- japanese-jisx0213-a
- japanese-jisx0213.2004-1
- katakana-sjis
- cp932-2-byte
- cp932
関連
参考サイト
http://ja.wikipedia.org/wiki/Unicode
http://charset.info/sjis-2004-std.txt