无法让 Konsole 显示适合 fancy powerline 的正确字符

无法让 Konsole 显示适合 fancy powerline 的正确字符

我正在使用 Kubuntu,但修补的 powerline 字体无法按预期工作...

http://i42.tinypic.com/33uvjvo.jpg

截图来自终端 Vim,但 gVim 在我的计算机上也存在同样的问题。有人有什么建议吗?

答案1

尝试安装 Input Mono Font(v.1.1 或更高版本),您不需要修补字体。您可以获取http://input.fontbureau.com

版本 1.1(2014-09-03)

  • 为电力线字符添加了字形      (U+E0A0–E0A2、U+E0B0–E0B3)。
  • 添加了高压符号字符⚡(U+26A1)的字形。
  • 为喜欢简化形式的用户添加了替代花括号字形。
  • 为不想在零中出现点或斜线的用户添加了替代无点零字形 。
  • 添加了零宽度空格(U+200B)和零宽度不间断空格(U+FEFF)。
  • 将默认行高选项更改为 1.2×

在一些航站楼,电源线符号可能会错位或被切断(记录这里)。由于对垂直度量和渲染引擎的解释不同,因此没有单一的解决方案;同一应用程序中的两种不同字体大小可能会产生不同的结果。增加输入的行距定制面板可以帮助您控制其外观。

答案2

我刚刚想到了一个解决方法:

这不是字体本身的问题。这是字体在指向“花哨”设置中想要使用的 unicode 代码点的方式中存在一些奇怪的错误或不兼容性,因此我覆盖了符号和分隔符:

将其添加到〜/ .vimrc:

let g:Powerline_symbols = 'fancy'
let g:Powerline_dividers_override = ['', '', '', '']
let g:Powerline_symbols_override = { 'BRANCH': '', 'LINE': '', 'RO': '' }

或者:

let g:Powerline_symbols = 'fancy'
let g:Powerline_dividers_override = ["\Ue0b0", "\Ue0b1", "\Ue0b2", "\Ue0b3"]
let g:Powerline_symbols_override = { 'BRANCH': "\Ue0a0", 'LINE': "\Ue0a1", 'RO': "\Ue0a2" }

然后运行:PowerlineClearCache并重新启动Vim。

答案3

如果未配置任何语言环境,则不会显示电力线字符。Plasma5 转到“设置”->“区域设置”-> 在“区域”下拉菜单中选择您的区域。

相关内容