Как сделать установленные вручную шрифты доступными для всех приложений без запуска `fc-cache -f`?

Как сделать установленные вручную шрифты доступными для всех приложений без запуска `fc-cache -f`?

С dpkgновыми шрифтами, которые устанавливаются и становятся доступными в кратчайшие сроки. Когда я добавляю шрифт вручную, мне приходится использовать fc-cache -f, что занимает много времени. Как мне установить шрифты вручную способом dpkg? Как dpkg делает их доступными для всех приложений без запуска fc-cache -f?

решение1

Как сделать шрифты доступными без запускаfc-cache -f

Не беги fc-cache -f!

По крайней мере, в моей системе (Arch) шрифты подхватываются после их размещения в каталоге, известном fontconfig (и кэш автоматически перестраивается).

fc-cache -fпринудительно перестраивает кэш шрифтов

Отстраница руководства для fc-cache:

-f
   Force re-generation of apparently up-to-date cache files, 
   overriding the timestamp checking.

Но если кэш шрифтов не нуждается в обновлении, зачем его принудительно обновлять?

Вместо этого вы можете запустить fc-cacheбез аргументов.Arch wiki имеет больше предложений:

Чтобы установить шрифты для всей системы (доступные для всех пользователей), переместите папку в каталог /usr/share/fonts/. [...]

Затем обновите кэш шрифтов fontconfig:(обычно это не нужно, так как это делает программное обеспечение, использующее библиотеку fontconfig.)

  $ fc-cache

(выделено мной)

Пример

У меня не было шрифта.Титиллиум Вебустановлен:

grep -i titi ничего не возвращает

Итак, я скачал его (разрешительная лицензия, OFL!) и скопировал файлы ttf в /usr/share/fonts/TTF. Я собирался запустить fc-cache(sans -f), чтобы проверить, нужно ли обновить кэш, но сначала я перезапустил fc-list | grep -i titi:

о, вот они (шрифты)

GIF-анимация на некоторое время останавливается, прежде чем начать воспроизводиться снова, так как я был немного удивлен, что кэш шрифтов обновился.

И они уже были кэшированы! Они были доступны приложениям, как и ожидалось. Нет необходимости в fc-cache, и определенно нет необходимости заставлять его с -f.

Связанный контент