Emacs 字体设置在新框架中不起作用

fol*_*one 12 fonts emacs

我正在努力适应 emacs。我安装了emacs 入门套件。现在我正在尝试自定义字体。在~/.emacs.d/init.el我做了(set-frame-font "-adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-1")。它工作正常,直到我这样做C-x 5 2。新框架是使用字体创建的,这些字体在我自定义之前就在系统上。如何覆盖此行为以仅使用我在 init.el 中指定的字体?我是否应该~/.emacs为此类设置创建文件(现在已丢失)?

Gil*_*il' 21

set-frame-font设置当前帧的字体。要为所有的帧的默认字体,包括在以下行~/.emacs.d/init.el,设置font参数default-frame-alist

(add-to-list 'default-frame-alist
             '(font . "-adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-1"))
Run Code Online (Sandbox Code Playgroud)

~/.emacs是 Emacs 配置文件的传统位置。~/.emacs.d/init.el是具有完全相同角色的备用名称。使用其中一个(但不能同时使用)。

对于 X 显示(即在 unix 上,或在使用 X 服务器的非 unix 系统上),您还可以通过X resources设置字体。在许多系统上,~/.Xresources在您登录时读取,您可以在那里写入:

Emacs.font: -adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-1
Run Code Online (Sandbox Code Playgroud)


小智 7

set-frame-font接受两个可选参数:KEEP-SIZEFRAMES。如果 FRAMES设置为非 nil 值,则字体将应用于未来的帧。

(set-frame-font "Inconsolata-13" t t)
Run Code Online (Sandbox Code Playgroud)

我不确定这种情况持续了多久,但从 Emacs 24.4.1 开始确实如此。