如何设置XTerm unicode字体?

如何设置XTerm unicode字体?

我是否可以在 .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 有两组位图字体:

  • 字体,字体2、font3、...、font6 是可追溯到 X11R4 的常规字体。
  • utf8字体.font 等是 Unicode 字体。

应用程序默认文件XTerm用户体验术语两者都有,但在后者中,那些 Unicode 字体不在utf8字体层。以下是XTermapp-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 字体中获得可行的覆盖范围(但需要注意的是,其中一些字体的大小不正确)。

相关内容