如何让Emacs从文件加载字体?

时间:2009-01-30 16:37:40

标签: linux emacs ide fonts customization

为了使我的emacs设置更便携,我希望能够通过指定文件而不是字体名称来设置当前字体,即“Load~ / config / myfont.ttf并使用大小12” ”。有没有办法在我的.emacs中做到这一点?我发现的所有说明都假定字体已经安装在系统上。我正在Linux上使用XFT支持,所以Linux特定的黑客行为可以,但我更喜欢能适用于所有目标的东西。

更新:要清楚,我使用的是Windows / OS X / Linux上不标准的字体。我不只是想基于平台设置不同的字体,而是指定我拥有的特定字体文件(TTF在Windows和Linux上工作,如果不在Mac上我会得到该文件的另一个版本,但我仍然想要通过文件而不是名称来指定字体。

2 个答案:

答案 0 :(得分:3)

不幸的是,你不能。

不同平台上的Emacs使用不同的窗口工具包,所有这些工具包都负责处理字体。我不相信你可以在任何平台上的Emacs中指定字体 filename - 它只是不起作用。

至于如何找到字体:

  • 在Linux上,你可以使用XFT支持用户特定的字体配置文件,通常是~/.fonts.conf(但检查/etc/fonts/font.conf以确保)添加你放置字体的任何目录成。

  • 在Mac上,您可以将字体添加到~/Library/Fonts。 TTF在Mac上运行良好,BTW。

  • 在Windows上,我认为您只需将其添加到系统字体目录中。

然后,您可以告诉Emacs(通过自定义与否)来使用您的字体。您会发现每个平台上的命名方案都不同(不确定Windows是什么样的),但自定义应该有助于您解决这个问题 - 如果需要,只需为每台机器保留一个单独的自定义文件。

...所以基本上你的便携式Emacs设置必须包含的不仅仅是一个Emacs配置文件(考虑到你带有一个字体文件,它已经存在)。

答案 1 :(得分:-1)

Emacs在每个平台上都使用特定于平台的小部件,因此您应该使用系统例程来设置具体字体。 我在不同的文件中有系统相关的配置,从.emacs加载类似

的文件
(load (concat "~/.emacs.d/rc-" system-type))