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

Jos*_*vin 5 linux ide emacs fonts customization

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

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

Cos*_*Cos 3

不幸的是,你不能。

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

至于如何找到字体:

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

  • 在 Mac 上,您可以将字体添加到~/Library/Fonts. 顺便说一句,TTF 在 Mac 上工作得很好。

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

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

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