如何在Mac上设置Emacs的字体?

9

我从http://emacsformacosx.com/下载了Carbon emacs 23.3.1 (x86_64-apple-darwin, NS apple-appkit-1038.35)。它默认使用Monaco字体,但我想改为使用Inconsolata-dz字体。因此,我添加了以下内容:

(set-default-font "-apple-Inconsolata-dz-medium-normal-normal-*-10-*-*-*-m-0-iso10646-1")

将字体设置为Inconsolata-dz后,重启Emacs,字体仍然是Monaco。我发现按Option-T(或者可能是Command-T)可以打开字体对话框,如果我从中选择Inconsolata-dz,它就很好用。但是如果我重新启动,它又回到了Monaco。所以我尝试从菜单中设置字体,然后进入“自定义Faces”并保存,但它仍然无法正常工作。有趣的是,如果我在从Option-T对话框更改字体后执行M-x describe-font命令,它会显示-apple-Inconsolata-dz-medium-normal-normal--10--*-*-m-0-iso10646-1。
因此,看起来Emacs出于某种原因简单地忽略了这个字体。为什么会这样,我该怎么做才能让它使用这个字体呢?
更新:我尝试了Donkopotamus和Joost Diepenaat的建议,它们也没有起作用,尽管我最终得到的字体是Times,而不是Monaco。但是,如果我只使用Inconsolata(而不是Inconsolata-dz),它们非常好用。所以我想知道是否存在名称带有破折号的字体存在问题?
更新2:为什么这是离题的?关闭消息说“问题[应该…]与编程或软件开发有关”;许多开发人员使用emacs,正确设置是很重要的。搜索“编程字体”的前两个条目共有150个;因此,字体配置似乎对程序员很重要。无论如何,如果这是离题的话,那么在哪里发布才合适呢?
4个回答

8

我使用简洁的Inconsolata字体。从我的emacs.d/init.el文件中:

(set-face-attribute 'default nil
                    :family "Inconsolata" :height (case system-type
                                                    ('gnu/linux 130)
                                                    ('darwin 145)) :weight 'normal)

如果你只在OSX上运行,你可以将其简化为:
(set-face-attribute 'default nil
                    :family "Inconsolata" :height 145 :weight 'normal)

1
:height的值是以1:10点为单位的字体大小。因此,对于一个14.5点的字体,:height的值应该是145。对于一个13点的字体,:height的值是130,依此类推。 - Steve HHH

3

我使用Inconsolata字体。在我的.emacs文件中,我只需设置默认字体为Inconsolata:

; check if we're on OSX
(when (featurep 'ns-win)
  (custom-set-faces
   '(default ((t (:height 140 :width normal :family "Inconsolata")))))
  )

1
当我使用它时,似乎Emacs不显示等宽字体。 - Frei Zhang

2

我在Mac上遇到了这种情况,现在我在我的emacs初始化文件中添加了以下内容:

(set-face-attribute 'default nil :foundry "apple" :family "Anonymous_Pro")

对我而言这很好用,但请注意我使用的是较新的(HEAD)Emacs版本。您可能需要将"Inconsolata-dz"作为:family的值。

如果没有这个设置,新框架总是会使用系统默认的等宽字体(Monaco),这很可能就是您遇到的问题。

P.S. 您的Emacs版本是Cocoa Emacs,而不是Carbon Emacs。


0

您确定正在读取您的.emacs文件吗?例如,里面的其他内容是否生效?

假设没问题,我在我的初始化文件中使用了这个:

;; (insert "\n(set-default-font \"" (cdr (assoc 'font (frame-parameters))) "\")\n")

请注意,这是有意注释掉的。现在使用 Command-T 设置您的字体,然后移动到上面一行的末尾,执行 C-x C-e。它将插入一个命令,将您的字体设置为当前字体。保存/退出/进入 Emacs,您应该已经拥有您的字体了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接