Aidez Fontconfig à découvrir des polices cachées.
Exécutez le script help-fontconfig-discover-hidden-fonts-for.sh pour actualiser la liste des polices disponibles dans FontConfig:
$ ./help-fontconfig-discover-hidden-fonts-for.sh [name] [cache]
Le script prend deux paramètres:
Pour chaque police cachée dans le dossier de cache caché du service d'abonnement, le script crée des liens symboliques dans un emplacement connu de FontConfig, dans un sous-dossier avec le nom de service donné.
Par exemple, si vous êtes abonné à un service d'abonnement de police fictif appelé Fontitious qui stocke ses polices localement en tant que fichiers de police cachés dans le dossier ~/Library/Application Support/Fontitious/.fonts/ , vous devrez appeler le script après chaque modification de vos abonnements de police en tant que:
$ ./help-fontconfig-discover-hidden-fonts-for.sh fontitious
~/Library/Application Support/Fontitious/.fonts
J'utilise ce script sur macOS Catalina; Les polices cachées sont répertoriées avec succès dans GIMP, Krita, Inkscape et Scribus après avoir exécuté le script et redémarré chaque application.
Inkscape 1.x expédie sa propre version de FontConfig, avec une configuration restreinte qui nécessite un peu plus de travail: si le dossier ~/Library/Application Support/org.inkscape.Inkscape est créé, un fichier de configuration supplémentaire, 00-load-xdg-fonts.conf est créé dans org.inkscape.Inkscape/config/fontconfig/conf.d/ Emplacement qui est partagé hors de la boîte avec Gimp, Krita et Scribus.
Les services d'abonnement à la police ont tendance à stocker leurs polices sur le lecteur local des abonnés en tant que fichiers cachés dans un dossier de cache caché.
Lors du balayage des dossiers de police récursivement, FontConfig ignore silencieusement tout fichier ou dossier caché. Il est toujours possible d'obtenir FontConfig pour considérer un dossier de police caché, tel que ~/.fonts , lorsqu'il est inclus explicitement dans la configuration de FontConfig. Mais il n'y a actuellement aucun moyen de faire en sorte que FontConfig envisage des fichiers de police cachés.
Le code source filtre explicitement n'importe quel nom de fichier commençant par a . :
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, lignes 256–266
Ce projet propose une solution de contournement simple en créant des liens symboliques pour les fichiers de polices cachés dans un sous-dossier de l'un des dossiers locaux configurés dans FontConfig.
Eric Bréchemier
Creative Commons CC0 «Aucun droit réservé»