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

时间:2011-11-15 06:39:09

标签: macos emacs fonts

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

到我的〜/ .emacs文件。然而,在我重新启动后,它仍然是摩纳哥。它发现Option-T(或者Command-T)会打开一个字体对话框,如果我从中选择Inconsolata-dz,它就会很好用。但是,如果我重新开始,它将回到摩纳哥。所以我尝试从菜单中设置字体,然后转到自定义面并保存它,但它仍然不起作用。有趣的是,如果我在更改Option-T对话框中的字体后执行Mx describe-font,则表示-apple-Inconsolata-dz-medium-normal-normal- -10 - - * - * - M-O-ISO10646-1

因此,看起来Emacs因为某些原因而忽略了这种字体。为什么会这样,我该怎么做才能让它使用这个字体?

更新:我尝试了Donkopotamus和Joost Diepenaat的推荐,虽然我最终将Times作为我的字体,而不是摩纳哥,但它们也没有用。但是,如果我只使用Inconsolata(不是Inconsolata-dz),它们的效果很好。所以我想知道他们名字中的字体是否有问题?

Update2:为什么这个偏离主题?接近的消息说“问题[应该......]以某种方式与编程或软件开发有关”;许多开发人员使用emacs,正确设置很重要。搜索“编程字体”的前两个条目合并为150;所以字体配置似乎对程序员很重要。无论如何,如果它是偏离主题的,那么发布它的适当位置在哪里?

4 个答案:

答案 0 :(得分: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 :(得分: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")))))
  )

答案 2 :(得分:2)

我在Mac上看到过这种行为,现在我在emacs init文件中执行此操作:

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

这对我很有用,但请注意我正在使用更新的(HEAD)版本的Emacs。您可能需要使用"Inconsolata-dz"作为:family的值。

如果没有这个,新的框架将始终使用系统范围的默认等宽字体(Monaco)弹出,这很可能是你发生的事情。

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

答案 3 :(得分:0)

您确定正在阅读.emacs吗?例如,其他事情是否正在生效?

假设没关系,我在我的init文件中使用它:

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

请注意,它是有意注释掉的。现在使用Command-T设置字体,然后转到上面一行的末尾并执行 C-x C-e 。它将插入一个命令,将您的字体设置为现在的状态。保存/退出/输入Emacs,你应该有你的字体。