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

pre*_*ett 9 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")
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

Joo*_*aat 8

我使用普通的Inconsolata.来自我的emacs.d/init.el:

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

如果您只在OSX上运行,则可以将其简化为

(set-face-attribute 'default nil
                    :family "Inconsolata" :height 145 :weight 'normal)
Run Code Online (Sandbox Code Playgroud)


sco*_*zer 0

你确定你的内容.emacs正在被读入吗?比如里面的其他东西有没有生效?

假设没问题,我在初始化文件中使用它:

;; (insert "\n(set-default-font \"" (cdr (assoc 'font (frame-parameters))) "\")\n")
Run Code Online (Sandbox Code Playgroud)

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