Шрифты: sans, serif, mono

Алексей Федорчук

Всем, кто хоть раз в жизни занимался настройкой шрифтов любой рабочей среды… А как ни странно, я знаю немало людей, которым вид шрифтов настолько до лампочки, что они этим не занимались никогда. Тем же, кто таки занимался, известно, что в любом десктопе в качестве умолчальных прописаны такие имена, как Sans, Serif и Monospace:

fc-match_01

Разумеется, средствами конфигурирования данного десктопа их можно поменять на любые наличные, например, так:

fc-match_02

Что такое семейства гарнитур — без отсечек (или гротески), с отсечками (или антики) и моноширинные — также общеизвестно (а кому не известно — общее представление могут получить, например, здесь).

Но сейчас речь пойдёт чуть о другом — о том, что поиски соответствующих шрифтов в подкаталогах внутри /usr/share/fonts будут безуспешными: файлов с такими именами не обнаружится ни среди TTF, ни среди OTF, ни среди ATM. Потому что это, действительно, не «настоящие» имена, а, так сказать, «подстановочные». И определить, какому реальному шрифту они соответствуют, можно с помощью команды fc-match, с «подстановочным» именем в качестве аргумента. Например:

$ fc-match sans
DejaVuSans.ttf: "DejaVu Sans" "Book"

В настоящее время во всех, насколько я знаю, дистрибутивах Linux’а (точнее, в сборках входящей в них библиотеки fontconfig, отвечающей за отрисовку шрифтов), «подстановочным» именам по умолчанию соответствуют шрифты семейства DejaVu. Что легко устанавливается командами

$ fc-match serif
DejaVuSans.ttf: "DejaVu Serif" "Book"

и

$ fc-match mono
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"

Порядок подстановки шрифтов описывается в файле /etc/fonts/conf.d/60-latin.conf. И, например, для моноширинных шрифтов он выглядит так:

       <alias>
                <family>monospace</family>
                <prefer>
                        <family>DejaVu Sans Mono</family>
                        <family>Bitstream Vera Sans Mono</family>
                        <family>Inconsolata</family>
                        <family>Andale Mono</family>
                        <family>Courier New</family>
                        <family>Cumberland AMT</family>
                        <family>Luxi Mono</family>
                        <family>Nimbus Mono L</family>
                        <family>Nimbus Mono</family>
                        <family>Courier</family>
                </prefer>
        </alias>

Так что порядок «подстановки» легко изменить. А можно и пополнить список шрифтами, в нём отсутствующими. Например, первой строкой в секцию моноширинных шрифтов дописать Adobe Source Code:

                        <family>Source Code Pro</family>

А в секция гротесков — Cantarell:

                        <family>Cantarell</family>

После перезапуска сеанса Иксов соответствующие шрифты будут восприниматься в качестве умолчальных не только в данной рабочей среде (например, в Cinnamon), но и во многих приложениях, запрашивающих «подстановочные» имена (терминалах, текстовых редакторах и даже, с некоторыми оговорками, браузерах). Правда, при условии, что приложения эти используют для отрисовки шрифтов библиотеку fontconfig. Так что на приложения, в которых шрифты выводятся средствами X-сервера (таких, как, например, Xterm), сделанные изменения распространяться не будут. В них для настройки шрифтов используются так называемые файлы ресурсов (вроде ~/Xresources). Но это — отдельная история, обычно не очень актуальная для применителей интегрированных рабочих сред.

Шрифты: sans, serif, mono: 5 комментариев

  1. $ fc-match seif
    DejaVuSans.ttf: «DejaVu Sans» «Book» — не существенно, но УПС вызывает. )
    Спасибо! Из разряда «необходимейших вещей» до которых «не доходят руки»!

  2. Спасибо, поправил.
    А на счёт «рук» — это точно. Главное, когда эти самые руки таки надо приложить — долго и мучительно вспоминаю, куда именно :)

  3. Здравствуйте, Алексей! У меня есть вопрос насчёт отображения шрифтов в браузере.
    [вырезано]

  4. Russell, к сожалению, по приводимым Вами сслыкам ничего не видно, кроме какой-то парнухи. Почему всё остальное вырезано.
    Реокмендаций по «улучшению» шрифтов в браузерах — вагон и маленькая тележка, все они субъектиывны, и не всегда работают. Так что поищите в сети и пробуйте, что подойдёт именно Вам.
    Учтите только, что патчи для freetype, fontconfig и cairo из Ubutnu сотоварищи и из пакета Infinality разные, и друг с другом не совместимы.

  5. В браузерах всё больше предпочитаю шрифты без засечек (это касается и моноширинных шрифтов). В Firefox под FreeBSD хорошо себя зарекомендовали Lucida Grande, Exo2; Consolas, Monaco, Fira Code.

Добавить комментарий