概要
Emacs23 でのフォント。
現在の状態の確認
describe-char(C-u C-x =) でカーソル位置の文字の情報を取得できます。
Emacs 22 「mule-unicode-xxxx」 みたいに取れたコードは Emacs 23 では 「unicode」と取れる
ucs-insert(Ctrl x 8 Enter)で name や hex コードで文字が入力できます。
文字のコード等は (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 "*")))
あとデフォルトでは表示にリミットがかかっているが以下も利用できる。
(x-family-fonts)
font-list-limit
の設定でリミットはいろいろ操作できる。
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
- 平仮名:#x3040 . #x309f
- 片仮名:#x30a0 . #x30ff
- CJK統合漢字拡張A:#x3400 . #x4dbf
- 半角・全角形(半角片仮名や全角アルファベット):#xff00 . #xffef
prepend 先頭に追加
関連
参考サイト
http://ja.wikipedia.org/wiki/Unicode
http://charset.info/sjis-2004-std.txt
http://www.asahi-net.or.jp/~ax2s-kmtn/ref/unicode/e_asia.html
http://www.vector.co.jp/soft/win95/util/se295331.html
漢字(Unicode 数値文字参照) 一覧表データ(by しまぷっち)