nfa*_*rar 20 google-chrome fontconfig powerline-networking iterm2
我正在寻找一种在 iTerm2 和 Chrome 中在 OSX 上渲染电力线字符的有效解决方案。有很多文档围绕着我尝试使用了几种方法,但到目前为止似乎没有一个可以正常工作(尽管带有 fontbook 的预修补字体部分有效)。详情如下。
这些字符的渲染如何工作(在系统/应用程序级别)?它是否因应用程序而异?在 chrome 中,如果当前字体不包含字形的绑定,chrome 是否会尝试在系统上存在的另一种字体中查找绑定并使用它们?有什么方法可以在系统级别为这个 unicode 字符提供绑定,以便它们使用该字体进行渲染,而不管使用的是哪种字体?
如果我了解电力线兼容修补字体的工作方式,它们会将可缩放图形绑定到 unicode 专用区域中的特定值:
U+E0A0 ? Version control branch
U+E0A1 ? LN (line) symbol
U+E0A2 ? Closed padlock
U+E0B0 ? Rightwards black arrowhead
U+E0B1 ? Rightwards arrowhead
U+E0B2 ? Leftwards black arrowhead
U+E0B3 ? Leftwards arrowhead
Run Code Online (Sandbox Code Playgroud)
为了在终端中测试字形,我读到这应该有效:
echo -e "\ue0a0\ue0a1\ue0a2\ue0b0\ue0b1\ue0b2\ue0b3"
Run Code Online (Sandbox Code Playgroud)
但是,即使安装了电源线修补字体并且 iTerm2 配置为使用其中一种字体,它也不适用于我(OSX 10.9.3、iTerm2、zsh)。
我尝试了几种安装修补字体的方法:
我从Localtog/powerline-fonts下载字体并使用 FontBook 安装它们。在相同的页面上,一些字形呈现,而另一些则不呈现。在其他页面上,没有任何字形呈现:

(来源:staticflickr.com)

(来源:staticflickr.com)
在 iTerm2 中(我测试过的所有电力线字体都会发生这种情况),一些字符会呈现,但其他字符不会:

(来源:staticflickr.com)
在安装了 vim-airline 的 macvim(终端)中,一些字符呈现,但一些呈现不正确:

(来源:staticflickr.com)
我卸载了所有 powerline-patched 字体,用 homebrew 安装了 fontconfig,安装了 powerline 字体,并重建了字体缓存:
wget -P ~/.fonts/ https://github.com/Lokaltog/powerline/raw/develop/font/PowerlineSymbols.otf
wget -P ~/.config/fontconfig/conf.d/ https://github.com/Lokaltog/powerline/raw/develop/font/10-powerline-symbols.conf
fc-cache -vf ~/.fonts
Run Code Online (Sandbox Code Playgroud)
检测到字体并且 fontconfig 说它已安装,但是它没有出现在 FontBook 中,我无法在 iTerm2 中选择它。
运行此程序后,我删除了字体,重新运行 fc-cache,并卸载了 fontconfig。
我目前正在使用安装在 fontbook 中的预修补字体,它部分工作,但我希望有人能帮助我更好地理解这个问题,以便我可以找到一个有效的解决方案。
这种方法似乎使iTerm2 中的一切正常,尽管我仍然不确定 chrome/系统渲染问题。
使用 python 绑定安装 fontforge:
brew install fontforge --with-python
Run Code Online (Sandbox Code Playgroud)
安装 powerline-fontpatcher:
mkdir -p ~/.local/src
git clone https://github.com/Lokaltog/powerline-fontpatcher.git ~/.local/src/powerline-fontpatcher
cd ~/.local/src/powerline-fontpatcher && python setup.py install && cd
export powerline_symbols=~/.local/src/powerline-fontpatcher/fonts/powerline-symbols.sfd
Run Code Online (Sandbox Code Playgroud)
下载、修补和安装字体:
wget http://sourceforge.net/projects/sourcecodepro.adobe/files/SourceCodePro_FontsOnly-1.017.zip
unzip SourceCodePro_FontsOnly-1.017.zip
find SourceCodePro_FontsOnly-1.017/TTF -name \*.ttf -exec powerline-fontpatcher --source-font=$powerline_symbols --no-rename {} \;
mv *.ttf /Library/Fonts
Run Code Online (Sandbox Code Playgroud)
jhe*_*ran 12
只需安装Input Mono字体,即可全面支持电力线。
为了使以下内容起作用,Input Mono 字体必须是 1.1 版。您可以通过转到 来检查字体版本Font Book ? View ? Show Font Info,并查看版本号。
使用 Terminal.app 即可开箱即用。只需选择字体即可。
使用 iTerm2,您必须修改一些内容:
Change Font并选择输入单声道。此外,您必须更改Character Spacing ? Vertical为 110%。似乎 Terminal 和 iTerm2 以不同的方式呈现字符间距。小智 3
很可能你还没有更新bash。OS X 附带bash < 4,因此您不能使用printf或echo -eunicode 代码。
更新bash步骤homebrew:
brew install bashbash找到自制程序安装的前缀,我的是/usr/local/Cellar/bash/4.3.30/,所以我的 bash 二进制文件是/usr/local/Cellar/bash/4.3.30/bin/bash。sudo (vim|nano|emacs|etc) /etc/shells/usr/bin,如果你真的很勇敢的话。)chshShell:行以匹配您的bash路径。你应该被修复。
| 归档时间: |
|
| 查看次数: |
22430 次 |
| 最近记录: |