Estou procurando uma solução funcional para renderizar personagens powerline no OSX no iTerm2 e no Chrome. Há muita documentação ao redor. Tentei usar vários métodos, nenhum parece funcionar corretamente até agora (embora as fontes pré-instaladas com fontbook parcialmente funcionem). Detalhes incluídos abaixo.
- Existe um método de trabalho para obter os glifos da linha de energia para renderizar corretamente no iTerm2 no OSX 10.9.3?
- Os glifos da linha de alta tensão devem ser renderizados corretamente nas páginas da web? Alguma idéia de por que eles não são e como eu posso consertar isso?
Como a renderização desses caracteres funciona (em um nível de sistema / aplicativo)? Diferencia-se de aplicativo para aplicativo? No chrome, se a fonte atual não contiver ligações para os glifos, o chrome tentará encontrar as ligações em outra fonte presente no sistema e usá-las? Existe alguma maneira de fornecer ligações para esses caracteres unicode em um nível de sistema para que eles sejam renderizados usando essa fonte, independentemente da fonte que está sendo usada?
Caracteres de área privada do Unicode
Se eu entendi como funcionam as fontes com patch compatíveis com o powerline, elas vinculam gráficos escalonáveis a valores específicos na área de uso particular do 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
Para testar os glifos em um terminal, li que isso deve funcionar:
echo -e "\ue0a0\ue0a1\ue0a2\ue0b0\ue0b1\ue0b2\ue0b3"
No entanto, isso não funciona para mim (OSX 10.9.3, iTerm2, zsh), mesmo com uma fonte com patch powerline instalada e o iTerm2 configurado para usar uma dessas fontes.
Eu tentei vários métodos para instalar as fontes corrigidas:
Catálogo de Fontes & Fontes pré-pagas
Eu baixei as fontes de Localtog / powerline-fonts e as instalei usando o FontBook. Nas mesmas páginas, alguns dos glifos são renderizados, mas outros não. Em outras páginas, nenhum dos glifos processa:
No iTerm2 (isso acontece com todas as fontes powerline que testei), alguns dos caracteres são renderizados, mas outros não:
Nomacvim(terminal)comvim-airlineinstalado,algunsdoscaracteressãorenderizados,masalgunssãorenderizadosincorretamente:
Fontconfig
Eu desinstalei todas as fontes com patch powerline, instalei o fontconfig com o homebrew, instalei a fonte powerline e reconstruí o cache da fonte:
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
A fonte foi detectada e o fontconfig disse que ela foi instalada, no entanto, ela não apareceu no FontBook e não foi possível selecioná-la no iTerm2.
Depois de executar isso, eu removi as fontes, reran fc-cache e desinstalei o fontconfig.
No momento, estou usando as fontes prepatched instaladas no fontbook, o que funciona parcialmente, mas espero que alguém possa me ajudar a entender o problema um pouco melhor para que eu possa encontrar uma solução de trabalho.
Atualizar
Este método parece fazer com que tudo funcione no iTerm2, embora eu ainda não tenha certeza dos problemas de renderização do sistema / chrome.
FontForge
Instale o fontforge com ligações de python:
brew install fontforge --with-python
Instalar 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
Download, patch & instalar fonte:
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