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

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为此类设置创建文件(现在缺少)?

答案1

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"))

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

对于 X 显示器(即在 unix 上,或在使用 X 服务器的非 unix 系统上),您还可以通过以下方式设置字体X 资源在许多系统上,~/.Xresources当您登录时会被读取,您可以在其中写入:

Emacs.font: -adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-1

答案2

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

(set-frame-font "Inconsolata-13" t t)

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

相关内容