OSX 10.9.3 üzerinde Powerline Yamalı Fontlar - iTerm2 ve Chrome


18

İ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.

  1. 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ı?
  2. 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:

Agnoster Teması
(kaynak: staticflickr.com )

Enerji Hattı Belgeleri
(kaynak: staticflickr.com )

İTerm2'de (bu, test ettiğim tüm powerline yazı tiplerinde olur), bazı karakterler oluşturulur, ancak diğerleri:

iTerm2 ve zsh
(kaynak: staticflickr.com )

Vim-havayolu kurulu olan macvim'de (terminal) bazı karakterler oluşturulur, ancak bazıları yanlış oluşturulur:

vim-havayolu
(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

Yanıtlar:


12

Sadece Giriş Mono yazı tipini yükleyin , güç hattına tam destek ile birlikte gelir.

Aşağıdakilerin çalışması için Giriş Mono yazı tipinin sürüm 1.1 olması gerekir. Yazı tipi sürümünü adresine giderek kontrol edebilir Font Book → View → Show Font Infove sürüm numarasına bakabilirsiniz.

Terminal.app ile kutunun dışında çalışır. Sadece yazı tipini seçin ve hazırsınız.

İTerm2 ile birkaç şeyi değiştirmeniz gerekir:

  • Tercihler → Profiller → Metin'e gidin ve `ASCII olmayan metinler için farklı bir yazı tipi kullan seçeneğinin işaretini kaldırın.
  • Hemen yukarıda üzerine tıklayın Change Fontve Giriş Mono'yu seçin. Ayrıca Character Spacing → Vertical% 110'a geçmelisiniz. Terminal ve iTerm2'nin karakter aralığını farklı bir şekilde oluşturduğu anlaşılıyor.

İşaretin kaldırılması Use a different font for non-ASCII text.benim için her şeyi değiştirdi .
camomileCase

2

Muhtemelen güncelleme yapmadınız bash. İle OS X gemiler bash < 4, bu yüzden olamaz printfveya echo -eunicode kodları.

Güncellemesine Adımlar bashile homebrew:

  1. brew install bash
  2. bashHomebrew tarafından kurulan öneki bulun , benim oldu /usr/local/Cellar/bash/4.3.30/, bu yüzden bash binary'im oldu /usr/local/Cellar/bash/4.3.30/bin/bash.
  3. sudo (vim|nano|emacs|etc) /etc/shells
  4. Bahsedilen bash yolunu alın ve listenin sonuna ekleyin (veya /usr/bingerçekten cesursanız değiştirin.)
  5. chsh
  6. Shell:Çizgiyi bashyolunuza uyacak şekilde değiştirin .
  7. Teriminizi yeniden başlatın.

Ve düzeltilmelisin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.