我正在寻找一种在 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 安装它们。在相同的页面上,一些字形呈现,而另一些则不呈现。在其他页面上,没有任何字形呈现:
在我的 Ubuntu 11.04x64 服务器上,我运行的服务帐户没有登录也没有主目录。这些服务帐户负责运行作为服务调用的进程。
当这些服务创建新文件时,我需要使用权限 664 (UMASK 002) 创建它们。
我编辑了 /etc/profile umask 设置以反映这一点。我看到现在我的用户帐户创建了反映这个新 umask 设置的文件,但是当我使用他们的帐户(sudo -u serviceaccount touch newfile)手动创建文件时,服务帐户不会。
有什么建议?