Emacsでデフォルトのフォントを設定するにはどうすればよいですか?


31

Emacs 24.4 Linuxでは、Inconsolataをデフォルトのフォントとして設定できません。

  • メニュー->オプションを保存でフォントを変更しました。フォントは変更されましたが、再起動後のフォントはデフォルトと同じです。
  • これを追加しました~/.XresourcesEmacs.font: Inconsolata LGC

    それからinit.el(set-default-font "Inconsolata LGC")。同じ話。

私が間違っているのは何ですか?


フォントを設定すると機能するが、次にemacsをロードしたときに再び消える場合、カスタマイズ設定が保存される(または保存されない)問題が発生する可能性があります。
nispio 14年

デーモンとして開始されたemacsでemacsclientを使用します。init.elの設定を変更し、保存後にデーモンを再起動します。
マグライト14年

2
これはEmacs 24.4に固有ですか?IOW、別のビルド/リリースで異なる動作をしますか?そうでない場合は、24.4への参照を削除することを検討してください。
ドリュー

emacsをデーモンとして起動しているため、呼び出しからのコンソール出力をすべて調べて、emacs --daemonエラーメッセージがないことを確認してください。
nispio

私はこれを持っていますinit.el:(set-frame-font "Ubuntu Mono 11")
thdox

回答:


29

Emacs for OSXを使用している.emacsには次のものがあります。

(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(default ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 130 :width normal :family "Inconsolata")))))

フォントを設定する

Emacsをグラフィカル環境で実行している場合は、メニューを使用してフォントを設定するのが最も簡単です。メニューから「オプション->デフォルトフォントの設定...」を使用します。

フォントを一時的に変更しただけなので、これで完了ではありません。私が知っている最も簡単な方法は、カスタマイズモードを使用することです。

M-x customize-face RET default RET

次に、必要に応じて、変更するオプションを変更します。メニューを使用して既にフォントを変更している場合は、ここに変更内容が表示されます。

初期化ファイルに保存する

次のいずれかの方法で将来のセッション用に保存

  • [ 状態 ]ボタンをクリックし、[ 将来のセッション用に保存 ]を選択します

または

  • C-x C-s 一方、カスタマイズバッファでは 意志 同じこと行うべきですが、常に動作するとは限りません、例えば(set-default-font "Inconsolata")

他のすべてが失敗した場合...

[ フォント設定]ページでうまくいくかもしれません。


16

私はこれをinit.elで使用します:

;; Set default font
(set-face-attribute 'default nil
                    :family "Source Code Pro"
                    :height 110
                    :weight 'normal
                    :width 'normal)

Source Code Proの代わりにInconsolataを使用して同じことを試すことができます。


init.elに追加しました。再起動後、デフォルトではまだフォントが使用されます。
マグライト14年

「Inconsolata」と「LGC」の間に空白を入れずに「InconsolataLGC」と入力しましたか?
ボッカペルタ-IT 14年

はい、Terminusに設定しようとしました。
マグライト14年

1
fc-cache -fv端末から実行してみてください。フォントキャッシュが最新でない可能性があります。Anonymous Proを設定してみましたが、私の場合は動作します。
ボッカペルタ-IT 14年

ありがとう、しかしそれは助けにはなりませんでした。このフォントを設定することはできますが、Emacsは今後のセッションで保存しません。
マグライト14年

12

.Xresourcesファイルで何かを変更した場合は、現在のセッションでの変更を確認するために再読み取りする必要があります。

  • 古いリソース設定を保持して新しい設定を適用するには:

    xrdb -merge ~/.Xresources
    
  • するに捨てる古いリソースをしてからのみ設定を適用.Xresources

    xrdb ~/.Xresources
    

.Xresourcesファイルの調整は、emacsのX11ウィンドウをマッピングする前に適用されるため、より優れています。初期化ファイル(.emacs、.emacs.d /)のカスタマイズは、作成済みのウィンドウに再適用されます。たとえば、起動時にツールバーを「ちらつく」ことを避けることができます

! UI elements
Emacs.menuBar: 0
Emacs.toolBar: 0
Emacs.verticalScrollBars: off
! Font settings
Emacs.FontBackend: xft,x
Emacs.font: Inconsolata LGC:size=16

あなたに.Xresourcesのファイル。

https://www.gnu.org/software/emacs/manual/html_node/emacs/X-Resources.htmlで他に何が利用できるかを確認できます


5

これは、他のフォント(init.elまたは.emacsファイルに入れてください)を試したいときに常に機能します。

(push '(font . "Inconsolata") default-frame-alist)

または

(add-to-list 'default-frame-alist '(font . "Inconsolata"))

この場合、両方の式は同等です。

要するに、これらのフォームは現在および将来のすべてのEmacsフレームのフォントを設定します。これらは構成ファイルに保存されるため、再起動時にセットアップが失われることはありません。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.