uxterm 不显示阿拉伯语

uxterm 不显示阿拉伯语

我需要能够从终端处理阿拉伯文件名和目录,我想使用 xterm 来实现这一点,但不是显示阿拉伯字符,而是显示虚线矩形(无论是在提示符中输入它们还是正在输出)。但是,如果我尝试任何其他 unicode 文本,uxterm 能够正常显示它。我怀疑 uxterm 使用的字体没有阿拉伯字形

*VT100.font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1

所以我随机尝试将其设置为:

*VT100.font: -*-*-*-*-*-*-*-*-*-*-*-*-*-*

这很有效,我在 uxterm 中显示了一些阿拉伯语。问题是我无法找到一种可以像原始字体一样显示阿拉伯语、英语和其他 unicode 的字体fixed。我也非常喜欢 xterm 的默认英文字体,我想保留它。我想我在某处读到 (u)xterm 应该使用默认字体,然后如果它需要显示一些不在该字体中的字形或字符,它就会成为第二个选择。或者这不是它的工作原理?

答案1

xterm(uxterm 是一个脚本)使用位图字体或 TrueType 字体。问题中指出的资源适用于位图字体。为了获得阿拉伯语等的“良好”覆盖,需要使用大字体或字体集支持:

  • 现有的具有良好覆盖率的位图字体适用于小字体(并且可能不够好)。
  • 由于 xterm 使用的 X 库对字体集的支持是不足(看常问问题关于 Xaw 使用该功能),这意味着 xterm 必须提供自己的字体集实现。 (这是由其他一些终端完成的)。
  • 自从2018年底、xterm 提供对 TrueType 字体的字体集支持;你需要 xterm patch #338 或更高版本,例如,
    uxterm -fa 单声道

这是使用 ncurses 测试程序的阿拉伯语屏幕截图(页面位于U+0600): uxterm 阿拉伯语

突出显示的单元格是无间距的。

没有字体集支持的原因位图字体的问题是有人必须管理数据以显示哪些字体是兼容的并且是合适的。这就是 fontconfig 尝试做的事情(并不总是成功)。它管理位图字体,但现有信息表明它将尝试规模这些,使得结果比直接选择位图字体更糟糕。

相关内容