如何使unicode符号和truetype字体在xterm / uxterm中工作?


12

我想在xterm / uxterm(版本278)中使用truetype字体,但是我遇到了unicode符号的问题(例如,显示很好,所以我想这不是禁用的utf8或语言环境问题):

$ echo -e "\xE2\x98\xA0"

通过以下配置给我一个正方形而不是☠:

UXTerm*faceName: Liberation Mono
UXTerm*faceSize: 9
XTerm*faceName: Liberation Mono
XTerm*faceSize: 9

当我使用ctrl右键菜单禁用truetype字体时,使用默认字体的符号显示效果很好,这一点都不好。我尝试uxrvt时,当我没有足够的字母间距时遇到了同样的问题,但是当我增加它时,它可以正常工作。但是,uxrvt给我带来了许多其他问题,就像我尝试过的所有其他终端模拟器一样。有人有主意吗?


您是否有任何理由相信该字形存在于Liberation Mono中?
HalosGhost 2014年

我在LibreOffice Writer中试用了它,就在那里。在增加字母间距后,它也可以在uxrvt中工作。我的问题不是特定于此一种字体,在没有此问题的地方我找不到任何truetype字体。
塞巴斯蒂安·布拉斯克

奇怪的。我尝试重现LibreOffice Writer问题,并且该方法有效。如果当前字体不支持给定的unicode,也许LO-Writer会切换到另一种字体?另外,如何增加字母间距会导致Liberation Mono突然支持不受支持的Unicode字符?如何增加字母间距?
polym

回答上述第一个问题:vinc17发现LibreOffice正在默默地更改字体!
polym

1
在rxvt-unicode中,您可以通过在按住Control和shift的同时单击鼠标左键来查看该字形所属的字体。详细信息应显示在终端窗口的左下方。另外,要检查ttf字体,请检出fontforge字体编辑器。令人惊讶的是,字体如此复杂。
etherfish

Answers:


8

Liberation字体似乎没有此符号。但是使用XTerm*faceName: DejaVu Sans Mono(这也是truetype字体)可以显示☠。

编辑:不要使用LibreOffice或OpenOffice来确定字体是否支持字形,因为它会默默地退回到另一种字体:OpenOffice bug 45128


哇很酷很不错的发现。似乎我的猜疑是对的哈哈:D!赞!
polym

我很确定Deja Vu是在我尝试过的字体列表中,但显然不是。有点尴尬,因为这是如此简单:-S让我明天在工作计算机上尝试一下……
塞巴斯蒂安·布拉斯克2014年

5

vinc17是正确的:

SKULL AND CROSSBONES如您在此处此处所见,Liberation Mono字体不支持该字形☠,也称为它。

您必须更改为覆盖此unicode(范围)的字体。

支持此特定字形☠的字体在此处列出。

要通过文本查找Unicode字符的名称和其他各种信息,请使用此工具

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.