为了使我的emacs设置更加便于移动,我希望能够通过指定文件而不是字体名来设置当前字体,即“Load〜/ config / myfont.ttf并使用大小12”。 有没有办法做到这一点在我的.emacs? 我发现的所有说明都假定字体已经安装在系统上。 我在Linux上使用XFT支持,所以一个linux特定的黑客应该是可以的,但我更喜欢一些可以在所有目标上工作的东西。
更新:为了清楚起见,我使用的是Windows / OS X / Linux上不标准的字体。 我不只是希望设置一个基于平台的不同的字体,而是要指定一个特定的字体文件(TTF在Windows和Linux上工作,如果不是在Mac上,我会得到另一个版本的文件,但我仍然想通过文件而不是名称来指定字体)。
不幸的是,你不能。
不同平台上的Emacs使用不同的窗口工具包,所有这些工具包都会为其处理字体。 我不相信你可以在任何平台上的Emacs中指定一个字体文件名 – 它不会那样工作。
至于如何找到字体:
在Linux上,你可以使用XFT支持用户特定的字体配置文件,这个文件通常是~/.fonts.conf
(但是检查/etc/fonts/font.conf
确定)来添加你放置字体的目录。
在Mac上,您可以将字体添加到~/Library/Fonts
。 TTF在Mac上工作正常,BTW。
在Windows上,我认为你只需要将它添加到系统字体目录。
从那里,然后你去告诉Emacs(通过定制或不定制)来使用你的字体。 你会发现命名方案在每个平台上都不一样(不知道Windows是什么样子的),但是定制应该帮助你处理这个问题 – 如果需要的话,每台机器只保留一个单独的定制文件。
…所以基本上你的便携式Emacs设置必须包含不仅仅是一个Emacs配置文件(考虑到你已经有一个字体文件,它已经)。
Emacs在每个平台上都使用特定于平台的小部件,因此您应该使用系统例程来设置具体的字体。 我有不同的文件系统相关的配置,这是从.emacs加载类似的东西
(load (concat "~/.emacs.d/rc-" system-type))