Classes de polices pour les formats de police pris en charge | API pour .NET

Hiérarchie des classes Aspose.Font

La hiérarchie des classes Aspose.Font pour prendre en charge les polices de différents formats est assez simple.

La classe Font est une classe de base unique et n’importe quelle classe, qui prend en charge certains formats de police hérités de Font. Il existe des informations communes sur les polices de tous les formats rassemblées dans cette classe. Ces informations incluent des données telles que le style de police, le nom de la police, le nom de la police postscript, la famille de polices, les métriques de police, le nombre de glyphes de la police, l’encodage, etc.

La classe Font est une classe abstraite donc l’instance de l’objet de type Aspose.Font.Font ne peut pas être créée directement.

La référence sur l’objet qui vient d’être créé est renvoyée par les méthodes statiques de cette classe qui sont responsables du chargement de la police, famille de méthodes surchargées Open().

Quant aux informations spécifiques à l’un ou l’autre format de police, la fourniture de ces informations sont des objets responsables hérités de la base Aspose.Font.Font. Les seules données, spécifiques au format de police, incluses dans la classe de base Font, sont la valeur de l’énumération FontType.

Les classes suivantes sont héritées de Aspose.Font et utilisées pour travailler avec un format de police spécifique : TtfFont, Type1Font, CffFont.

Interrelations entre le format de police, la valeur FontType et le type d’objet Aspose.Font

Le tableau ci-dessous montre la correspondance entre les formats pris en charge par Aspose.Font, les valeurs correspondantes à ces formats de l’énumération FontType et les classes utilisées pour manipuler chacun de ces formats.

Format de policeValeur FontTypeType d’objet Aspose.Font
TrueTypeTTFTtfFont
Type 1Type 1Type1Font
Compact Font Format (CFF)CFFCffFont

Interrelations entre le format de fichier de police, la valeur FontType et le type d’objet Aspose.Font

Les formats des polices susmentionnées de l’énumération FontType sont des termes plus larges que les formats de fichiers pour ces polices.

Par exemple, le format TrueType couvre les formats de fichiers suivants disponibles pour le chargement avec Aspose.Font : ttf, ttc, eot, woff, woff2. Ainsi, la caractéristique commune des polices avec les extensions .ttf, .ttc, .eot, .woff, .woff2 est qu’elles sont toutes liées à la famille de polices TrueType.

C’est pourquoi, en remplaçant dans le tableau la colonne « Format de police » par la colonne « Format de fichier de police », nous obtiendrons le tableau suivant des relations entre les formats de fichier de police, en leur adaptant les valeurs FontType, et des objets destinés à fonctionner avec le format de police correspondant dans Aspose.Font.

Format de fichier de policeValeur FontTypeType d’objet Aspose.Font
ttf, ttc, eot, woff, woff2TTFTtfFont
pfa, pfbType 1Type1Font
afm, pfmType 1Type1MetricFont
binary data of Compact Font Format typeCFFCffFont

Fonctionnalité de la classe Aspose.Font.Font

La fonctionnalité est définie par la classe Font et peut être divisée en plusieurs zones.

Fonctionnalité définie par les interfaces implémentées par la classe Font

L’interface la plus importante de la liste des interfaces de polices est l’interface IFont. Il fournit des propriétés pour les interfaces IGlyphAccessor et IFontSaver, qui sont implémentés par la classe Font, donc toutes les fonctionnalités définies par les interfaces implémentées par la classe Font sont couvertes par ce Interface IFont.

L’interface IFont définit les propriétés communes à tous les formats de police pris en charge par Aspose.Font. Vous trouverez ci-dessous les descriptions de chaque propriété.

Propriétés de manipulation des formats de police

De plus, l’interface IFont définit la méthode Convert(), qui est utilisée pour convertir la police dans un autre format. À l’heure actuelle, des conversions sont disponibles à partir de n’importe quel format pris en charge par Aspose.Font pour la lecture au format « TTF ». Les Formats de police pris en charge sont représentés dans le tableau.

Voir Convertisseur de polices pour plus d’informations sur la façon de convertir des polices avec Aspose.Font.

Chargement des polices

La fonctionnalité de chargement de polices n’est pas couverte par les interfaces implémentées et cette fonctionnalité est représentée par la famille de méthodes statiques Open(). Les paramètres à transmettre à ces méthodes sont décrits dans l’article Comment charger les polices ?.

Sauvegarde des polices

La classe Font implémente l’interface IFontSaver, qui déclare la fonctionnalité pour les opérations de sauvegarde des polices.

Pour enregistrer une police, utilisez l’une des méthodes surchargées Save() et transmettez le nom du fichier de police ou le flux où écrire la police.

Dans certains cas, il est nécessaire d’enregistrer une police dans un autre format. Par exemple, de nombreuses pages Web préfèrent travailler avec des polices au format « WOFF » et si vous souhaitez placer votre police sur une telle page, vous devrez enregistrer la police au format « WOFF ». La méthode SaveToFormat() a été conçue pour de tels cas.

Classes héritées de la classe de base Aspose.Font.Font

Classes CffFont et Type1Font

Ces classes sont utilisées pour travailler avec des polices au format de police « Compact Font Format » et Adobe « Type 1 » respectivement. Ces classes remplacent certaines propriétés et méthodes de la classe Font, en les adaptant au format de police réel.

Classe TtfFont

Cette classe est conçue pour prendre en charge les polices au format TrueType. Une référence à un objet de ce type peut être obtenue en appelant la méthode statique Font.Open(), en passant TTF, comme valeur pour l’énumération FontType. La méthode Font.Open() renvoie une référence sur le type de base Font, donc la référence obtenue doit être convertie en type d’objet TtfFont.

Comme le montre la spécification du format « TrueType », les données de police sont représentées dans différents tableaux. Pour le moment, la bibliothèque Aspose.Font prend en charge les tableaux suivants : head, cmap, glyf, loca, hhea, hmtx, maxp, OS/2, name, post, kern, cvt, fpgm, prép. *La prise en charge d’autres tables spécifiées par la norme « TrueType » devrait être implémentée dans un avenir proche.

Prise en charge des tables TrueType dans Aspose.Font implémentées par les classes de l’espace de noms Aspose.Font.TtfTables. Chaque classe qui prend en charge une table a un nom lié au nom de la table correspondante.

La dénomination de la classe est effectuée selon la règle suivante : le nom de chaque classe a le préfixe Ttf, ce préfixe est suivi du nom de la table puis le mot “Table” termine le nom de la classe.

Par exemple, la table head est prise en charge par la classe TtfHeadTable, la table hhea est prise en charge par la classe TtfHheaTable, et ainsi de suite.

Les références sur toutes les classes qui supportent les tables TrueType sont collectées par l’objet de type TtfTableRepository.

La classe TtfFont donne la référence sur l’objet TtfTableRepository en tant que propriété TtfTables, donc accéder à n’importe quelle table TrueType est possible en utilisant la syntaxe font.TtfTables, où font est la référence sur le type TtfFont.

La prise en charge des fonctionnalités de police OpenType est représentée par la propriété CffFont. Cette propriété renvoie la référence sur l’objet Font, chargé à partir de la table CFF, qui contient une représentation Compact Font Format font.

Propriété IsSymbolic utilisée pour détecter si la police est symbolique - police spécialisée, composée de caractères non alphabétiques, de graphiques ou des deux.

Accès aux glyphes de police

La classe TtfFont fournit des fonctionnalités étendues pour accéder aux glyphes de police. En plus des méthodes, définies par l’interface IGlyphAccessor,
TtfFont fournit deux méthodes surchargées portant le nom GetGlyphById(), qui nécessitent des identifiants de glyphes sous forme entière ou de chaîne.

L’utilisation de ces méthodes fonctionne plus rapidement que l’utilisation de la méthode GetGlyphById() à partir de l’interface IGlyphAccessor. De plus, la classe TtfFont fournit un ensemble de méthodes surchargées GetGlyphComponentsById(). Ces méthodes sont conçues pour fonctionner avec des glyphes composites.

Un glyphe composite est un glyphe qui fait référence à un ou plusieurs autres glyphes dans la police. Par exemple, le glyphe du caractère Ä (Unicode U+00C4) peut être composé du glyphe du caractère A (comme glyphe de base) et du glyphe de marque tréma.

Les méthodes GetGlyphComponentsById() prennent l’identifiant du glyphe composite et renvoient la liste des glyphes auxquels le glyphe composite transféré fait référence.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.