Estoy buscando una solución de trabajo para representar caracteres de línea eléctrica en OSX en iTerm2 y Chrome. Hay mucha documentación acerca de que he intentado usar varios métodos, ninguno parece funcionar correctamente hasta ahora (aunque las fuentes preconfiguradas con el libro de fuentes funcionan parcialmente ). Detalles incluidos a continuación.
- ¿Existe algún método de trabajo para que los glifos de la línea eléctrica se representen correctamente en iTerm2 en OSX 10.9.3?
- ¿Deberían los glifos de powerline mostrarse correctamente en las páginas web? ¿Alguna idea de por qué no lo son y cómo puedo solucionarlo?
¿Cómo funciona la representación de estos caracteres (a nivel de sistema / aplicación)? ¿Difiere de una aplicación a otra? En Chrome, si la fuente actual no contiene enlaces para los glifos, ¿intentará Chrome encontrar los enlaces en otra fuente presente en el sistema y usarlos? ¿Hay alguna forma de proporcionar enlaces para estos caracteres unicode a nivel de sistema para que se representen con esa fuente, independientemente de la fuente que se esté utilizando?
Personajes de área privada Unicode
Si entiendo la forma en que funcionan las fuentes parcheadas compatibles con powerline, asocian gráficos escalables a valores específicos en el área de uso privado 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 probar los glifos en una terminal, he leído que esto debería funcionar:
echo -e "\ue0a0\ue0a1\ue0a2\ue0b0\ue0b1\ue0b2\ue0b3"
Sin embargo, no funciona para mí (OSX 10.9.3, iTerm2, zsh) incluso con una fuente parcheada con powerline instalada e iTerm2 configurado para usar una de esas fuentes.
He probado varios métodos para instalar las fuentes parcheadas:
FontBook y fuentes preconfiguradas
Descargué las fuentes de Localtog / powerline-fonts y las instalé usando FontBook. En las mismas páginas, algunos de los glifos se procesan pero otros no. En otras páginas, ninguno de los glifos representa:
(fuente: staticflickr.com )
(fuente: staticflickr.com )
En iTerm2 (esto sucede con todas las fuentes powerline que he probado), algunos de los caracteres se procesan, pero otros no:
(fuente: staticflickr.com )
En macvim (terminal) con vim-airline instalado, algunos de los caracteres se procesan, pero algunos se procesan incorrectamente:
(fuente: staticflickr.com )
Fontconfig
Desinstalé todas las fuentes parcheadas con powerline, instalé fontconfig con homebrew, instalé la fuente powerline y reconstruí el caché de fuentes:
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
Se detectó la fuente y fontconfig dijo que estaba instalada, sin embargo, no apareció en FontBook y no pude seleccionarla en iTerm2.
Después de ejecutar esto, eliminé las fuentes, volví a configurar fc-cache y desinstalé fontconfig.
Actualmente estoy usando las fuentes preinstaladas instaladas en el libro de fuentes, que funcionan parcialmente, pero espero que alguien pueda ayudarme a entender el problema un poco mejor para que pueda encontrar una solución que funcione.
Actualizar
Este método parece hacer que todo funcione en iTerm2, aunque todavía no estoy seguro acerca de los problemas de renderizado de Chrome / System.
FontForge
Instale fontforge con enlaces de python:
brew install fontforge --with-python
Instale 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
Descargar, parchear e instalar la fuente:
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.
marcó la diferencia para mí.