İTerm2 ve Chrome'da OSX'te powerline karakterleri oluşturmak için çalışan bir çözüm arıyorum. Etrafında birçok yöntem kullanmaya çalıştığım çok fazla belge var, hiçbiri şu ana kadar doğru çalışmıyor gibi görünüyor (fontbook ile önceden yazılmış fontlar kısmen çalışıyor). Ayrıntılar aşağıdadır.
- Enerji hattı gliflerinin OSX 10.9.3'te iTerm2'de doğru şekilde görüntülenmesini sağlamak için çalışan bir yöntem var mı?
- Enerji hattı glifleri web sayfalarında doğru oluşturulmalı mı? Neden olmadıkları ve nasıl düzeltebileceğim hakkında bir fikrim var mı?
Bu karakterlerin oluşturulması (sistem / uygulama düzeyinde) nasıl çalışır? Uygulamadan uygulamaya farklılık gösterir mi? Chrome'da, geçerli yazı tipi glifler için bağlama içermiyorsa, krom sistemde bulunan başka bir yazı tipindeki bağlantıları bulup bunları kullanmaya çalışır mı? Bu unicode karakterler için, kullanılan yazı tipine bakılmaksızın, bu yazı tipini kullanarak işlenebilmeleri için bir sistem düzeyinde bağlantı sağlamanın herhangi bir yolu var mı?
Unicode Özel Alan Karakterleri
Powerline uyumlu yamalı fontların çalışma şeklini anlarsam, ölçeklenebilir grafikleri unicode özel kullanım alanındaki belirli değerlere bağlarlar:
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
Bir terminaldeki glifleri test etmek için bunun çalışması gerektiğini okudum:
echo -e "\ue0a0\ue0a1\ue0a2\ue0b0\ue0b1\ue0b2\ue0b3"
Ancak, güç hattı yamalı yazı tipi yüklü ve iTerm2 bu yazı tiplerinden birini kullanacak şekilde yapılandırılmış olsa bile benim için çalışmıyor (OSX 10.9.3, iTerm2, zsh).
Yamalı yazı tiplerini yüklemek için çeşitli yöntemler denedim:
FontBook ve Hazır Yazı Tipleri
Fontları Localtog / powerline fontlarından indirdim ve FontBook kullanarak kurdum. Aynı sayfalarda, bazı glifler oluşturulur, diğerleri oluşturmaz. Diğer sayfalarda, gliflerin hiçbiri görüntülenmez:
(kaynak: staticflickr.com )
(kaynak: staticflickr.com )
İTerm2'de (bu, test ettiğim tüm powerline yazı tiplerinde olur), bazı karakterler oluşturulur, ancak diğerleri:
(kaynak: staticflickr.com )
Vim-havayolu kurulu olan macvim'de (terminal) bazı karakterler oluşturulur, ancak bazıları yanlış oluşturulur:
(kaynak: staticflickr.com )
fontconfig
Tüm powerline yamalı yazı tiplerini kaldırdım, homebrew ile fontconfig yükledim, powerline yazı tipini yükledim ve font önbelleğini yeniden oluşturdum:
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
Yazı tipi algılandı ve fontconfig yüklendiğini söyledi, ancak FontBook'da görünmedi ve iTerm2'de seçemedim.
Bunu çalıştırdıktan sonra yazı tiplerini kaldırdım, fc-cache'yi yeniden düzenledim ve fontconfig'i kaldırdım.
Şu anda kısmen çalışan fontbook'ta yüklü önceden yazılmış yazı tiplerini kullanıyorum, ancak birisinin sorunu biraz daha iyi anlamama yardımcı olabileceğini umuyorum, böylece çalışan bir çözüm bulabilirim.
Güncelleme
Bu yöntem her şeyi iTerm2'de çalıştırıyor gibi görünüyor , ancak yine de krom / sistem oluşturma sorunları hakkında emin değilim.
FontForge
Python bağlamaları ile fontforge'u yükleyin:
brew install fontforge --with-python
Powerline-fontpatcher'ı yükleyin:
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
Yazı tipini indirin, yama yapın ve yükleyin:
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.
benim için her şeyi değiştirdi .