Я шукаю робоче рішення для візуалізації символів живлення на OSX в iTerm2 та Chrome. Навколо мене є багато документації, яку я намагався використати декількома методами, але, здається, поки що жоден не працює належним чином (хоча попередньо встановлені шрифти з шрифтом книги частково працюють). Деталі включені нижче.
- Чи існує робочий метод отримання правильних візуалізаційних гліфів в iTerm2 на OSX 10.9.3?
- Чи правильно відображаються електролінії електролінії на веб-сторінках? Будь-яка ідея, чому їх немає і як я можу це виправити?
Як працює візуалізація цих символів (на рівні системи / програми)? Чи відрізняється вона від програми до програми? Якщо в хромі, якщо поточний шрифт не містить прив’язок для гліфів, чи Chrome спробує знайти прив’язки в іншому шрифті, присутніх у системі, і використовувати їх? Чи є спосіб надати прив’язки для цих символів unicode на системному рівні, щоб вони відображали цей шрифт незалежно від шрифту, який використовується?
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"
Однак для мене це не працює (OSX 10.9.3, iTerm2, zsh), навіть із встановленим шрифтом з виправленою лінійкою та iTerm2, налаштованим на використання одного з цих шрифтів.
Я спробував кілька методів встановлення виправлених шрифтів:
FontBook & попередньо підібрані шрифти
Я завантажив шрифти з Localtog / powerline-шрифтів та встановив їх за допомогою FontBook. На тих же сторінках деякі з гліфів відображаються, а інші - ні. На інших сторінках жоден із гліфів не відображає:
(джерело: staticflickr.com )
(джерело: staticflickr.com )
У iTerm2 (це відбувається із усіма тестованими шрифтами живлення), деякі символи відображаються, але інші:
(джерело: staticflickr.com )
У macvim (терміналі) із встановленою vim-airline частина символів відображається, а деякі відображаються неправильно:
(джерело: staticflickr.com )
Fontconfig
Я вилучив усі шрифти, зафіксовані на електролінії, встановив fontconfig з домашньою мовою, встановив шрифт powerline та відновив кеш шрифту:
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-кеш і видалив fontconfig.
Наразі я використовую встановлені в шрифті шрифти, які частково працюють, але сподіваюся, що хтось може допомогти мені зрозуміти проблему трохи краще, щоб я міг знайти робоче рішення.
Оновлення
Цей метод, здається, змушує все працювати в iTerm2, хоча я все ще не впевнений у проблемах хромування / рендерингу системи.
FontForge
Встановіть fontforge за допомогою прив'язки python:
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.
для мене все змінилося .