我使用 urxvt 和 DejaVu Sans Mono 作为字体:
urxvt.font: xft:DejaVu Sans Mono
但我看不到像“⌚”这样的 Unicode 字符。
为什么 ? urxvt 能够显示这些符号吗?
谢谢
答案1
这手册页是一个值得去的地方,可供选择:
-fn
字体列表
选择要使用的字体。这是一个逗号分隔的字体名称列表在尝试查找字符的字形时按顺序检查。第一种字体定义字符的单元格大小;其他字体可能更小,但(通常)不会更大。 (希望)合理的默认字体列表始终附加在其中。有关更多详细信息,请参阅资源字体。
和资源设置:
font
:字体列表
选择要使用的字体。这是一个逗号分隔的字体名称列表在尝试查找字符的字形时按顺序检查。第一种字体定义字符的单元格大小;其他字体可能更小,但(通常)不会更大。一个(希望)合理的默认字体列表总是附加到它上面;选项-fn
。每个字体可以是标准 X11 核心字体 ( XLFD ) 名称,带有可选前缀
"x:"
或 Xft 字体(编译 xft),前缀为"xft:"
。
鉴于@thrig的评论,你应该能够做到这一点:
urxvt.font: xft:DejaVu Sans Mono, xft:Noto Emoji
(如果您安装了这些字体)。
然而,Fedora24 中的 google-noto-emoji-fonts 包似乎是一种混合宽度字体,urxvt 无法处理它,并给出以下消息:
$ urxvt -fn 'xft:DejaVu Sans Mono,xft:Noto Emoji'
urxvt: unable to calculate font width for 'Noto Emoji:slant=0:weight=100:pixelsize=19:minspace=True', ignoring.
根据 Font-Awesome 错误报告不能与 urxvt 一起使用 #3681, urxvt 不检查字形的宽度私人使用面积(即非标准化)。这适用于任何表情符号字体。
如果您只关心表情符号,urxvt 仅使用该字体运行(并对所有内容使用双宽单元格):
urxvt -fn 'xft:Noto Emoji'
答案2
我可以显示 ⌚ 以及
答案3
您是否更改字母间距:
-letsp number
Compile frills: Amount to adjust the computed character width by to
control overall letter spacing. Negative values will tighten up the
letter spacing, positive values will space letters out more. Useful
to work around odd font metrics; resource letterSpace.
如果使用负值来提高可读性,则无法打印太宽的字母。许多 Unicode 字符都是这种情况。