この質問は、ほとんどの方法で私を導きました。提案された答えは、必要なフォントが 1 つだけである限り機能します。複数のフォールバック フォントを使用するには、フォントセットを定義し、そのフォントセットをフレームに使用するように Emacs に指示する必要があります。まず、使用するフォントのリストを定義します。
;; Fill in your list of fonts here
(setq my-fonts '("-xos4-terminus-medium-*-*-*-16-*-*-*-*-*-iso10646-1" ...))
次に、これらのフォントを標準フォントセットに入れます。
;; NOTE: only works if you don't use --daemon
(dolist (font (reverse my-fonts))
(set-fontset-font "fontset-standard" 'unicode font nil 'prepend))
(add-to-list 'default-frame-alist '(font . "fontset-standard"))
これは、Emacs をデーモンとして起動しない限り問題なく動作します。もしそうなら、あなたは言われます
error: Fontset `fontset-standard' does not exist
これを修正するには、フォントを追加する前に標準フォントセットを作成する必要があります。Emacs はstandard-fontset-spec
、標準フォントセットが初期化される値であると定義します。create-fontset-from-fontset-spec
最初に呼び出すことで、自分で行うことができます。
(create-fontset-from-fontset-spec standard-fontset-spec) ;to make --daemon work
(dolist (font (reverse my-fonts))
(set-fontset-font "fontset-standard" 'unicode font nil 'prepend))
(add-to-list 'default-frame-alist '(font . "fontset-standard"))