Tag: fonts

Лигатуры

Иногда на чужих скриншотах я замечал, что привычные программистам конструкции вроде === и != могут быть отображены одним изящным глифом, вместо трёх разных. А тут наткнулся на то, что у человека такие штуки заработали в SublimeText 3. Стал разбираться как подключить и выяснил:

  • Эти штуки называются лигатурами. И ваш текстовый редактор (или терминал) должен иметь их поддержку. Большинство современных профессиональных инструментов такую поддержку имеют.
  • SublimeText 3 обзавёлся такой поддержкой совсем недавно. С версии 3146
  • Необходимо установить в систему шрифт с поддержой лигатур. Варианты: Fira Code, MonoidIosevka и др. В целом их мало.
  • В sublime-е шрифт меняется настройкой font_face.

О остановился на Fira Code. Начертание не привычное, оно отличается от того шрифта, что используется в st3 по умолчанию. Но в целом очень даже ничего. Вот его рекламная брошюрка:

Calibri и Ubuntu

В очередной раз увидев как рисует браузер латинские буквы в microsoft-овском шрифте Calibri, решил это дело как-нибудь починить. Эксперементальным путём выяснил, что шрифт в системе есть, и что браузеры его правильно подхватывают, что уродливыми края у букв становятся только у латинских символов, и что только при размере <=16px. В итоге Google дал мне такой ответ:

Calibri fonts and other cleartype fonts have bitmap versions embedded in them which activate at small sizes, which makes it look bad. To disable this and get correct smoothing at all sizes do this:

Create a .fonts.conf file in your home directory, paste this in it:

<match target="font">
  <edit name="embeddedbitmap" mode="assign">
      <bool>false</bool>
  </edit>
</match>

Перезагрузив браузер (похоже, что для Chromium-а теперь это тривиально сделать невозможно, т.к. он работает аки daemon, но никаких иконок в tray-е не рисует) — убедился что уродливые границы исчезли.