urxvt 中 unicode 符号的渲染(高度/宽度)与 gnome-terminal 的对比

urxvt 中 unicode 符号的渲染(高度/宽度)与 gnome-terminal 的对比

gnome-terminal 在我的提示符中呈现的 unicode 符号(箭头)与 urxvt 不同:

乌尔希

gnome 终端

直接比较

它们显示在整个行的高度上,中间的间距较小,但末尾的间距更合适(它们后面有一个空格字符)。

编辑:缺少空间%b末尾的转义代码(例如zsh 中的非粗体)在 末尾触发RPS1。删除它或在 之后添加一个空格可以解决此特定问题。

我的 urxvt 字体配置:

URxvt.font: xft:Ubuntu Mono:pixelsize=16, \
    xft:monospace, \
    xft:Ubuntu Mono for Powerline

这也适用于其他符号,例如

我注意到 的lilyterm行为类似于gnome-terminal(由 vte 引起),而konsolexterm的行为类似于urxvt

是否可以配置 urxvt 来执行相同的操作?

我在 Ubuntu 14.04 上使用 rxvt-unicode-256color 9.19-1。gnome-terminal 较新(来自 Debian 测试),lilyterm 是从源代码构建的。

带有符号的示例提示:

↳ git:m@o[+2]¹✗ ❯❯

答案1

预计高度会有所不同,就像太宽的符号被方形符号取代的问题一样。

我之前(2004 年第四季度)曾在 rxvt-unicode 邮件列表上询问过此问题,并创建了一个补丁,但被拒绝了:http://lists.schmorp.de/pipermail/rxvt-unicode/2014q4/002042.html

补丁/分支可在以下位置获取:https://github.com/exg/rxvt-unicode/compare/master...blueyed:display-wide-glyphs。它将使 rxvt-unicode 不会用方形图标替换太宽的符号,而只是显示它们 - 无需特殊处理。因此,您必须在它后面添加一个空格才能完全显示它(否则它会被裁剪)。

我已要求将其包含到 Arch 的 rxvt-unicode-patched 中:https://aur.archlinux.org/packages/rxvt-unicode-patched/

相关内容