Помогите FontConfig открыть скрытые шрифты.
Запустите сценарий сценария help-fontconfig-discover-hidden-fonts-for.sh , чтобы обновить список шрифтов, доступных в FontConfig:
$ ./help-fontconfig-discover-hidden-fonts-for.sh [name] [cache]
Сценарий принимает два параметра:
Для каждого скрытого шрифта в папке скрытого кэша в службе подписки сценарий создает символические ссылки в месте, известном FontConfig, в подпапке с данным именем службы.
Например, если вы подписаны на вымышленную службу подписки, называемую Fontitious, которая хранит свои шрифты локально в виде скрытых файлов шрифтов в папке ~/Library/Application Support/Fontitious/.fonts/ , вам нужно будет вызвать скрипт после каждого изменения в подписке Font как:.
$ ./help-fontconfig-discover-hidden-fonts-for.sh fontitious
~/Library/Application Support/Fontitious/.fonts
Я использую этот сценарий на MacOS Catalina; Скрытые шрифты успешно перечислены в GIMP, Krita, Inkscape и Scribus после запуска сценария и перезапуска каждого приложения.
Inkscape 1.x поставляется с собственной версией FontConfig, с ограниченной конфигурацией, которая требует 00-load-xdg-fonts.conf большей работы: если найдена папка ~/Library/Application Support/org.inkscape.Inkscape org.inkscape.Inkscape/config/fontconfig/conf.d/ Местное расположение, которое разделено из коробки с Gimp, Krita и Scribus.
Службы подписки на шрифт, как правило, хранят свои шрифты на локальном диске подписчиков в виде скрытых файлов в скрытой папке кэша.
В то время как сканируя папки шрифтов рекурсивно, FontConfig молча игнорирует любой скрытый файл или папку. По -прежнему возможно заставить FontConfig рассмотреть скрытую папку шрифта, такую как ~/.fonts , когда она явно включена в конфигурацию FontConfig. Но в настоящее время нет способа заставить FontConfig рассмотреть скрытые файлы шрифтов.
Исходный код явно отфильтровывает любое имя файла, начиная с . :
while ((e = readdir (d)))
{
if (e->d_name[0] != '.' && strlen (e->d_name) < FC_MAX_FILE_LEN)
{
strcpy ((char *) base, (char *) e->d_name);
if (!FcStrSetAdd (files, file_prefix)) {
ret = FcFalse;
goto bail2;
}
}
}
- FontConfig/src/fcdir.c, строки 256–266
Этот проект предлагает простой обходной путь, создавая символические ссылки для скрытых файлов шрифтов в подпапке одной из локальных папок, настроенных в FontConfig.
Эрик Брехиемер
Creative Commons CC0 «Нет прав