Next: , Previous: , Up: International   [Contents][Index]


22.15 フォントセットの修正

常にフォントセットをスクラッチから作成する必要はありません。軽微な変更だけが必要なときは、既存のフォントセットを修正するのが簡単な方法でしょう。‘fontset-default’の修正は、それをフォールバックに使用する他のフォントセットにも影響するので、特定のスクリプトのためにEmacsが選択するフォントに関する問題を解決する、効果的な方法になり得ます。

フォントセットは関数set-fontset-fontを使って、文字、文字セット、スクリプトフォントを修正する文字範囲、使用されるフォントの指定を修正することができます。以下は例です:

;; Use Liberation Mono for latin-3 charset.
(set-fontset-font "fontset-default" 'iso-8859-3
                  "Liberation Mono")

;; Prefer a big5 font for han characters.
(set-fontset-font "fontset-default"
                  'han (font-spec :registry "big5")
                  nil 'prepend)

;; Use DejaVu Sans Mono as a fallback in fontset-startup
;; before resorting to fontset-default.
(set-fontset-font "fontset-startup" nil "DejaVu Sans Mono"
                  nil 'append)

;; Use MyPrivateFont for the Unicode private use area.
(set-fontset-font "fontset-default"  '(#xe000 . #xf8ff)
                  "MyPrivateFont")

システムにインストールされているフォントが壊れていたり、使用されている文字にたいして好ましくない結果を生成するフォントがあるかもしれません。そのような場合、文字を表示するのに必要となる適切なフォントの検索に、それらのフォントを完全に無視するように、Emacsに指示したいと思うかもしれません。face-ignored-fontsの値(リスト変数です)に、不適切なフォントを追加することによりこれを行なうことができます。以下は、そのような設定を~/.emacsに記述する例です:

(add-to-list 'face-ignored-fonts "Some Bad Font")