Установка шрифтов в linux

Типы шрифтов

Если говорить про интернет и экраны в целом, то чаще всего используются следующие типы шрифтов:

Остальные шрифты в основном служат декоративным целям. Например, можно использовать Script, чтобы удивить необычностью, но довольно быстро становится очевидно, что такой текст трудно читать. Для веб-страниц чаще выбирают шрифты Sans-Serif — видимо, на заре интернета Serif выглядели плохо. Эта традиция сохранилась и до сих пор, и, на мой взгляд, Sans-Serif действительно читается легче, особенно на мобильных устройствах. Существуют и специальные Serif-шрифты, разработанные для экранов, например Literata. В печатных материалах Serif используют чаще: засечки помогают глазу вести строку и делают длинные тексты удобнее для чтения. Шрифты Monospace применяются в терминалах и программировании не только по историческим причинам, но и из-за удобства — все символы занимают одинаковую ширину, что позволяет:

Лицензия

Удивительно, но у шрифтов есть лицензия, и её нужно учитывать при использовании. Ниже перечислены самые распространённые лицензии для свободного использования:

Установка

Перед тем как устанавливать шрифт вручную, имеет смысл проверить, существует ли готовый пакет в репозитории:

yay fontname

Если пакета нет, скачанный шрифт нужно скопировать либо в ~/.local/share/fonts/ — если шрифт устанавливается только для текущего пользователя, либо в /usr/local/share/fonts/ — если шрифт должен быть доступен для всех пользователей. После копирования обновляем кеш шрифтов:

fc-cache -f

Посмотреть подробную информацию о конкретном шрифта можно командой:

fc-scan ~/.local/share/fonts/font.ttf

Для проверки всех установленных шрифтов

fc-list

Конвертация ttf в woff

Для использования на сайте TrueType-шрифт можно легко конвертировать в формат woff или woff2. Самый удобный инструмент для этого — pyftsubset из пакета fonttools. Он позволяет не только менять формат, но и вырезать ненужные глифы (сабсеттинг), уменьшая размер файла. Конвертация в woff:

pyftsubset font.ttf --output-file=font.woff --flavor=woff --layout-features='*'
                --glyphs='*'

Конвертация в WOFF2:

pyftsubset font.ttf --output-file=font.woff2 --flavor=woff2 --layout-features='*'
                --glyphs='*'

При использовании --glyphs='*' в файл включаются все глифы, а --layout-features='*' сохраняет все типографические функции (лигатуры, альтернативы и т.п.).