![如何设置XTerm unicode字体?](https://linux22.com/image/178471/%E5%A6%82%E4%BD%95%E8%AE%BE%E7%BD%AEXTerm%20unicode%E5%AD%97%E4%BD%93%EF%BC%9F.png)
我是否可以在 .Xresources 中添加一种附加字体,以便如果默认字体没有某些 unicode 字符,则附加字体可以显示它们?
答案1
是的。有七种字体大小,如 XTerm 上的Ctrl+所示MouseRightButton。它们可以在 .Xresources 中设置。
font
= 默认font1
= 无法读取font2
= 小
...font6
= 巨大
所以你可以设置一个默认值font
来忽略一些 unicode 字符。如果您错过了它们,请更改为支持它们的字体,例如 Tiny。这个.Xresources
文件的作用是:
XTerm*font: -*-courier 10 pitch-medium-r-*-*-*-*-*-*-*-*-ascii-*
XTerm*font2: -*-fixed-medium-r-*-*-15-*-*-*-*-*-iso10646-*
答案2
xterm 有两组位图字体:
应用程序默认文件XTerm和用户体验术语两者都有,但在后者中,那些 Unicode 字体不在utf8字体层。以下是XTerm
app-defaults 文件中的内容:
*VT100.utf8Fonts.font2: -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso10646-1
*VT100.utf8Fonts.font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1
*VT100.utf8Fonts.font3: -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso10646-1
*VT100.utf8Fonts.font4: -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso10646-1
*VT100.utf8Fonts.font5: -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1
*VT100.utf8Fonts.font6: -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1
UXTerm
这是app-defaults 文件中的内容:
*VT100.font2: -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso10646-1
*VT100.font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1
*VT100.font3: -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso10646-1
*VT100.font4: -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso10646-1
*VT100.font5: -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1
*VT100.font6: -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1
刚刚阅读XTermapp-defaults 文件,大多数用户不会注意到这里给出的非 UTF-8 字体看起来某物比如 UTF-8 字体:
*VT100.font1: nil2
*IconFont: nil2
*fontMenu*font2*Label: Tiny
*VT100.font2: 5x7
*fontMenu*font3*Label: Small
*VT100.font3: 6x10
*fontMenu*font4*Label: Medium
*VT100.font4: 7x13
*fontMenu*font5*Label: Large
*VT100.font5: 9x15
*fontMenu*font6*Label: Huge
*VT100.font6: 10x20
这些简称是(详见xterm 无法加载字体) ISO-8859-1 字体的别名,它(考虑到 UTF-8 的历史,这并不奇怪)与 UTF-8 字体具有相同的外观。但它们只有 192 个字符(256 - 64 个控制字符),而位图 UTF-8 字体有数千个。
有多个应用程序默认文件,因为这似乎是一个比utf8Fonts
安排。这乌斯特姆脚本在启动时选择后者-班级选项,但如手册页中所述,xterm 将在启动时根据区域设置自动选择 utf8Fonts。
xterm 有以下菜单项UTF-8 编码和UTF-8 字体。如果您的语言环境使用 UTF-8 编码(并且如果locale
资源使用默认值),然后 xterm 预先选择这些菜单项并禁止它们被更改。如果区域设置不使用 UTF-8 编码,您可以更改这些菜单条目并查看由此产生的差异。
您可以通过在资源前面加上前缀来指定要在 X 资源中使用的文件XTerm
或者UXTerm
, 分别。
虽然一个人可以做字体集使用位图字体,这将允许人们执行问题中所要求的操作:
我是否可以在 .Xresources 中添加一种附加字体,以便如果默认字体没有某些 unicode 字符,则附加字体可以显示它们?
xterm 一次仅使用其中一种位图字体(同时自动使用粗体和斜体版本)。 X 库中有一个字体集功能,但它存在严重的性能问题,并且从未被广泛使用。在 xterm 中,它被视为麻烦(参见菜单区域设置资源)。
除了位图字体之外,xterm 还支持 TrueType 字体,并且会根据需要自动查找字体,以填充由指定的系列中缺失的字形-fa
选项。根据您的 fontconfig 安排,您可以从 TrueType 字体中获得可行的覆盖范围(但需要注意的是,其中一些字体的大小不正确)。