Sous-ensemble de polices
Qu’est-ce que le sous-ensemble de polices
Le sous-ensemble de polices est un processus consistant à extraire des caractères spécifiques d’un fichier de police. Ces caractères peuvent cependant être représentés par quelques glyphes. Nous expliquerons ce moment plus loin.
Comme indiqué dans l’article sur glyphs, le fichier de polices inclut ce qu’il appelle glyphsets. Leur taille varie considérablement et peut dépasser 5 000 glyphes. Avec les sous-ensembles, vous pouvez créer un fichier à partir de quelques-uns seulement.
Pourquoi auriez-vous besoin de créer un sous-ensemble ?
Décrivons les situations dans lesquelles le sous-ensemble vous apporterait certains avantages.
Les gros fichiers de polices surchargés prennent non seulement beaucoup de place, mais sont également compliqués à gérer. Pourquoi auriez-vous besoin de l’ensemble complet, alors que votre projet s’adresse uniquement à un public anglophone. Dans ce cas, vous n’aurez besoin que de lettres et de chiffres anglais. Le sous-ensemble de polices est donc un bon outil pour optimiser la taille des fichiers de polices.
Une autre situation est que lorsque vous avez choisi une police qui sera utilisée uniquement pour votre logo ou votre nom de marque, il serait raisonnable d’avoir un petit sous-ensemble de polices léger qui inclut uniquement les lettres du logo/nom de la marque. Imaginez que nous n’ayons besoin que de caractères pour écrire le logo Aspose.Font dans Dancing Script en lettres majuscules, alors le sous-ensemble ressemblerait à quelque chose comme ça. Seuls 9 caractères ont été extraits de la police de 500 Ko.

Ainsi, le logo créé dans le sous-ensemble Dancing Script ressemblerait à ceci.

Les jeux de glyphes réguliers peuvent également inclure des lettres de plus de 200 langues et de nombreux éléments avancés tels que des symboles grammaticaux spéciaux, des lettres en petites majuscules, différents styles de la même lettre ou du même symbole. Vous ne les utiliserez pas tous, de plus tous ces glyphes ne peuvent pas être rendus sur le web. Alors pourquoi ne pas obtenir un fichier plus petit sans éléments inutiles.
L’autre aspect qui mérite d’être mentionné est que certaines polices ne sont pas gratuites et que certaines d’entre elles peuvent coûter assez cher, celles spécialement conçues. Ainsi, en achetant uniquement un sous-ensemble de polices, vous économiserez de l’argent en créant un texte unique et magnifique pour votre projet. Bien sûr, dans ce cas, vous ne créez pas vous-même un sous-ensemble, mais quand même.
Police Web de sous-ensemble
Les polices Web se composent de deux parties importantes. Ce sont des caractères (lettres, chiffres, ponctuation) et des fonctionnalités Open Type. Les caractères sont placés dans des blocs spécifiques en fonction de leur fonctionnalité ou de leur langue. Chacun d’eux a son propre code (Unicode) mappé à un nombre hexadécimal. Les fonctionnalités Open Type font davantage référence aux glyphes (variations de ces caractères).
La police Web est l’un des formats créés spécialement pour les projets Web, les pages, les sites, etc. Elle vise à rendre le texte correctement dans les navigateurs et à réduire le poids des pages. Vous pouvez en savoir plus sur les polices WOFF et WOFF2 dans l’article qui parle des font formats.
Certains mentionnent également des termes tels que police HTML lorsqu’ils parlent de polices Web. Ce terme fait référence au fait de disposer d’une ou plusieurs options de secours au cas où votre police ne pourrait pas être restituée dans certains navigateurs. La police Web HTML utilise une police Web installée sur l’appareil de l’utilisateur comme solution de secours.
Lorsqu’on parle de polices Web, les sous-ensembles peuvent présenter d’autres avantages :
- L’utilisation de sous-ensembles de polices permet de réduire le poids de la page et d’améliorer l’expérience utilisateur.
- En tant que développeur, vous pouvez vous débarrasser des caractères des langues non prises en charge.
- En raison de la petite taille des fichiers, vous pouvez utiliser davantage de polices différentes dans votre projet Web et ajouter davantage d’options de secours.
Comment créer un sous-ensemble de polices avec Aspose ?
Il existe de nombreuses façons de créer un sous-ensemble de polices. Certaines sont des méthodes programmatiques, et d’autres ne sont que des applications de bureau ou en ligne.
Application multiplateforme de sous-ensemble de polices
En tant qu’expert dans la gestion des polices parmi la variété de différentes solutions utiles, Aspose.Font dispose également d’une application multiplateforme qui peut vous aider à créer un sous-ensemble à partir de votre police.
La fonctionnalité est assez simple. Avec lui, vous pouvez combiner les glyphes de quelques fichiers de polices en un seul, ou simplement créer un fichier beaucoup plus petit et plus clair. Vous pouvez sélectionner des lettres minuscules, des chiffres, des signes de ponctuation ou saisir les caractères nécessaires. Il prend en charge les formats TTF, WOFF, EOT, CFF et Type 1.
Imaginons que nous souhaitions que notre logo soit composé de lettres de la police Abel Regular. Son fichier n’est pas si gros, seulement 35 Ko. et ne contient que 259 glyphes mais nous voulons quand même le rendre aussi petit que possible.

Après avoir chargé la police depuis l’appareil ou le support, il est possible de choisir les caractères nécessaires. Nous n’en avons besoin que de 9 pour notre logo.
Si nécessaire, quelques boutons accélèrent le processus afin que vous puissiez choisir des lettres majuscules ou inférieures, des chiffres, des symboles mathématiques ou des signes de ponctuation en un seul clic.

Dans un instant, vous pourrez télécharger le résultat. Dans notre cas, le fichier de police généré fait 2 Ko. Nous avons donc un fichier 15 fois plus petit. Comparons les deux documents en utilisant Application Viewer

Comme vous pouvez le constater, le nombre de glyphes du fichier généré est de 10 et non 9 comme nous en avions besoin pour notre logo. La réponse à cette incohérence réside dans la thèse susmentionnée selon laquelle un caractère peut être représenté par quelques glyphes. Donc, apparemment, l’une des lettres ou le symbole du point a une autre variation de son apparence.
Il est donc évident qu’avec un fichier beaucoup plus volumineux, vous pouvez obtenir des résultats bien plus notables. Cela semble en quelque sorte aussi utile que de compresser le contenu (fichiers texte, images) avec des archives, mais par rapport à la compression, la qualité des caractères du sous-ensemble ne change pas du tout.
Limitations de licence associées au sous-ensemble de polices
Lorsqu’il s’agit de sous-ensembles de polices, il est essentiel d’être conscient des limitations de licence associées à l’utilisation des polices. Les conditions de licence des polices peuvent varier en fonction de la fonderie ou du concepteur de polices. Jetons un coup d’œil aux considérations courantes concernant les limitations de licence lors du sous-ensemble de polices :
Certaines licences interdisent explicitement le sous-ensemble, tandis que d’autres peuvent l’autoriser sous certaines conditions ou restrictions. Vous devez lire et comprendre les termes décrits dans le contrat de licence pour garantir leur conformité.
Certaines licences de polices peuvent limiter ou interdire la distribution de sous-ensembles de polices à des tiers. Si vous envisagez de le faire, assurez-vous que cela correspond aux termes de la licence de police.
Certaines licences de polices peuvent avoir des restrictions sur le nombre d’utilisateurs ou d’appareils autorisés à utiliser des sous-ensembles de polices. Apprenez donc la portée autorisée spécifiée par la licence.
Certaines licences de polices peuvent comporter des conditions spécifiques pour l’intégration de polices. Vérifiez si la licence autorise l’intégration des polices sous-ensembles et s’il existe des limitations ou des exigences.
Certaines licences de polices peuvent comporter des clauses spécifiques liées à une utilisation commerciale ou à but lucratif. Assurez-vous donc que les utilisateurs finaux sont informés des conditions de licence des polices via un contrat de licence d’utilisateur final (CLUF) ou une documentation similaire.
Les licences de polices peuvent comporter des restrictions sur la modification ou la création d’œuvres dérivées à partir des polices sous-ensembles. Assurez-vous que la licence autorise de telles actions et respecte les exigences spécifiées dans le contrat de licence.
Création d’un agent IA pour le sous-typage de polices
L’objectif technique principal est de créer un pipeline dans lequel une IA peut ingérer un flux de contenu textuel en direct ou une demande d’image de marque, mapper dynamiquement les tableaux de caractères requis vers des points de code Unicode natifs, injecter des symboles de secours protecteurs (tels que .notdef) et compiler un conteneur de police Web hautement compressé à l’aide d’Aspose.Font pour .NET.
Flux de travail étape par étape pour l’implémentation de l’agent
Extraction de contenu et ingestion de caractères (cœur du LLM) L’utilisateur fournit une invite (prompt), un bloc de composants d’interface utilisateur ou un texte de marque spécifique (par exemple, « Générer un sous-ensemble de polices Web optimisé pour l’en-tête de notre page de destination qui utilise la chaîne de caractères ‘ASPOSE.FONT’ »). Le LLM analyse le flux de caractères source, isole les caractères uniques et convertit les chaînes de caractères en une liste ordonnée de points de code Unicode distincts tout en éliminant les doublons.
Marquage des glyphes critiques et de secours (fallback) Pour garantir que le jeu de polices résultant ne fasse pas planter les moteurs de rendu ou les processeurs de mise en page des navigateurs modernes, des systèmes de contrôle structurels doivent être explicitement configurés en parallèle de la liste de sous-ensembles personnalisés. L’agent initialise un processus natif
Font.Loadpour mapper le fichier binaire d’origine. Il marque automatiquement les indicateurs de secours structurels (PreserveDefaultGlyphs = true) afin d’ancrer les symboles système standard tels que.notdefet.null, garantissant ainsi la stabilité structurelle.Usine d’optimisation et matrice de paramètres (couche de validation) L’agent construit la matrice du profil d’optimisation en fonction des contraintes de l’environnement de sortie. L’IA crée un objet de configuration programmatif
FontSubsetOptions:
- Mappe le tableau ciblé vers
PreserveGlyphs. - Supprime les micro-ajustements gourmands en octets via
RemoveHinting = trueafin de réduire davantage la taille des fichiers. - Vérifie les paramètres de licence du créateur dans les métadonnées de la police pour s’assurer de la conformité.
- Synthèse et encodage du sous-ensemble (nœud d’exécution)
Le profil optimisé est écrit directement dans le tampon mémoire du fichier principal pour générer un fichier de police multiplateforme minimisé.
L’agent exécute
sourceFont.Subset(subsetOptions), produisant une instance de police hautement optimisée. Il enregistre le fichier viaFontSavingFormatsdans des formats adaptés au Web (WOFF2, WOFF ou TTF) et transmet la police Web optimisée directement dans le pipeline de déploiement.
L’article décrit ici l’une des nombreuses applications de gestion des polices. Pour voir ce que nous pouvons offrir d’autre à cette fin, rendez-vous sur Applications de polices où vous pouvez trouver des convertisseurs en ligne, des visualiseurs, des fusionneurs, différents générateurs et bien plus encore.