iTerm2とChromeのOSXで電力線文字をレンダリングするための実用的なソリューションを探しています。いくつかの方法を使おうと試みた多くのドキュメントがありますが、これまでのところ正しく機能するものはないようです(ただし、事前にパッチを当てたフォントブックのフォントは部分的に機能します)。詳細は以下に含まれます。
- OSX 10.9.3のiTerm2で電力線グリフを正しくレンダリングするための実用的な方法はありますか?
- 電力線グリフをWebページで正しくレンダリングする必要がありますか?なぜそうではないのか、どうすれば修正できるのでしょうか?
これらのキャラクターのレンダリングは(システム/アプリケーションレベルで)どのように機能しますか?アプリケーションごとに異なりますか?クロムでは、現在のフォントにグリフのバインディングが含まれていない場合、クロムはシステムに存在する別のフォントのバインディングを見つけて使用しようとしますか?システムレベルでこのユニコード文字にバインディングを提供して、使用されているフォントに関係なくそのフォントを使用してレンダリングする方法はありますか?
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
ターミナルでグリフをテストするために、これが機能することを読みました。
echo -e "\ue0a0\ue0a1\ue0a2\ue0b0\ue0b1\ue0b2\ue0b3"
ただし、電力線パッチされたフォントがインストールされていて、iTerm2がこれらのフォントのいずれかを使用するように構成されている場合でも、OSX 10.9.3、iTerm2、zshでは機能しません。
パッチを適用したフォントをインストールする方法をいくつか試しました。
FontBookおよび事前パッチされたフォント
Localtog / powerline- fontsからフォントをダウンロードし、FontBookを使用してインストールしました。同じページで、一部のグリフはレンダリングされますが、他のグリフはレンダリングされません。他のページでは、どのグリフもレンダリングされません。
(ソース:staticflickr.com)
(ソース:staticflickr.com)
iTerm2では(これは私がテストしたすべての電力線フォントで発生します)、一部の文字は表示されますが、他の文字は表示されません:
(ソース:staticflickr.com)
vim-airlineがインストールされているmacvim(ターミナル)では、一部の文字がレンダリングされますが、一部は正しくレンダリングされません。
(ソース:staticflickr.com)
Fontconfig
すべての電力線パッチされたフォントをアンインストールし、homebrewでfontconfigをインストールし、電力線フォントをインストールし、フォントキャッシュを再構築しました。
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
フォントが検出され、fontconfigがインストールされたと言いましたが、FontBookには表示されず、iTerm2で選択できませんでした。
これを実行した後、フォントを削除し、fc-cacheを再実行し、fontconfigをアンインストールしました。
私は現在、フォントブックにインストールされた事前パッチ済みフォントを使用していますが、これは部分的に機能しますが、誰かが問題を少しでもよく理解できるようにして、有効な解決策を見つけられることを願っています。
更新
この方法により、iTerm2ですべてが機能するように見えますが、クロム/システムレンダリングの問題についてはまだ不明です。
FontForge
Pythonバインディングを使用してFontForgeをインストールします。
brew install fontforge --with-python
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
フォントのダウンロード、パッチ、インストール:
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
Use a different font for non-ASCII text.
、すべてが変わりました。