我使用的是 Mac OS X 10.8 和 XQuartz 2.7.2。我已下载并放置了几种 TrueType 字体,它们都位于*.ttf
我的/Users/<name>/.fonts
目录中。运行 XQuartz 后,fonts.dir
会创建几个文件,其中包括。此文件包含我安装的每种字体的各种编码的 X11 字体名称等。
我的问题是,我总是无法“找出”在xterm -fa <NAME>
我的.Xresources XTerm*faceName
条目中使用的正确名称。对于某些字体,文件中详细 X11 字体名称中列出的核心字体名称有效,fonts.dir
而对于其他字体则无效。
答案1
以下一行代码经常能帮助我找到正确的字体名称:
$ fc-list | cut -f2 -d: | sort -u
尤其是像“IPAX0208Mincho”这样的日文字体,我永远都猜不出正确的名称。如果你不介意多花点打字功夫,你甚至可能更喜欢
$ fc-list | cut -f2 -d: | sort -u | less -r
获得分页输出。
答案2
您可以使用 xfontsel 来获取正确的名称:
$ xfontsel
选择您感兴趣的字体,然后单击“选择”按钮。这将把字体名称复制到剪贴板。使用该名称运行 xterm。例如:
$ xterm -font -adobe-helvetica-*-r-normal-*-12-120-*-*-*-*-*-*
在我的系统(linux)上使用“-fa”无法使其工作,但使用“-font”可以。
答案3
如果您使用 FontBook 加载字体,它将显示要使用的正确名称xterm -fa
。
答案4
文件中缺少的是条目fonts.alias
:
/usr/share/X11/fonts/75dpi/fonts.alias
此文件的作用是为已安装的 X Window 字体提供短名称(“别名”)。当您尝试使用文件中没有的短名称时,启动 xterm 时会出现如下行为:
lansdale:~> xterm -xrm \*font:courr12
xterm: cannot load font "courr12"
(xterm 确实出现并以默认的不同字体运行)
该fonts.alias
文件的存在是因为 X11 字体名称过长。例如,courr12 是以下字体的简称:
-adobe-courier-medium-r-normal--12-120-75-75-m-70-iso10646-1
[长名称实际上是 14 个不同的可编辑字段,用破折号/连字符连接在一起。运行程序 xfontsel 即可查看它们;它将以显示星号开始显示所有字段,表示未设置为特定内容。]
文件中的每一行都以短名称(别名)开头,然后是空白,最后是它指向/引用的长名称。这样,您就不必一直使用长名称,只需设置一个别名并使用它即可。在文件中添加新行时,您可以决定短名称,只有完整的 X11 名称必须在系统上安装字体文件。
20 世纪 90 年代,我刚开始接触 Unix 系统时,遇到了 courr12,后来我希望能在我的 xterms 中使用这种字体(Courier 'Roman' 12 号字体)。在 HP/UX 和 Solaris 上,文件fonts.alias
已经带有courr12
,因此我只需将其放入"XTerm*font: courr12"
我的.Xdefaults
文件中,一切就都正常了。