Classes de polices pour leurs formats pris en charge | Java
Hiérarchie des classes com.aspose.font
La hiérarchie des classes du package com.aspose.font destinées à 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 com.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 com.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 com.aspose.font.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 com.aspose.font.Font
Le tableau ci-dessous montre la correspondance entre les formats pris en charge par com.aspose.font, les valeurs correspondantes à ces formats issues de l’énumération FontType et les classes utilisées pour manipuler chacun de ces formats.
Format de police | Valeur FontType | Type d’objet com.aspose.font |
---|---|---|
TrueType | TTF | TtfFont |
Type 1 | Type 1 | Type1Font |
Compact Font Format (CFF ) | CFF | CffFont |
Interrelations entre le format de fichier de police, la valeur FontType et le type d’objet com.aspose.font.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 com.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 les objets destinés à fonctionner. avec le format de police correspondant dans com.aspose.font.
Format de fichier de police | Valeur FontType | Type d’objet com.aspose.font |
---|---|---|
ttf , ttc , eot , woff , woff2 | TTF | TtfFont |
pfa , pfb | Type 1 | Type1Font |
afm , pfm | Type 1 | Type1MetricFont |
binary data of Compact Font Format type | CFF | CffFont |
Fonctionnalité de la classe com.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 ceci Interface IFont.
L’interface IFont définit les propriétés communes à tous les formats de police pris en charge par com.aspose.font. Vous trouverez ci-dessous les descriptions de chaque propriété.
Propriétés de manipulation des formats de police
- string FontName - le nom de la police.
- MultiLanguageString FontNames - nom de la police dans différentes langues.
- MultiLanguageString PostscriptNames - nom postscript de la police, dans différentes langues.
- string FontFamily - le nom de la famille de polices. Pour obtenir plus de détails sur les familles de polices, consultez le chapitre Font family.
- FontType FontType - type de format de police, représenté par l’énumération FontType.
- FontStyle FontStyle - valeur de style de police de la classe FontStyle. Apprenez-en plus sur les styles de police.
- string Style - le nom du style de police, similaire à la propriété FontStyle, représenté sous sa forme de chaîne brute, fourni par les données de police.
- FontDefinition FontDefinition - un objet qui décrit le format et la source à partir de laquelle charger la police. Allez dans Comment charger des polices où vous pourrez apprendre en détail comment travailler avec cet objet.
- int NumGlyphs - obtient le nombre de glyphes de la police.
- IFontMetrics Metrics - obtient une référence sur l’interface IFontMetrics qui fournit des fonctionnalités liées aux métriques de polices courantes.
- IFontEncoding Encoding- obtient une référence sur l’interface IFontEncoding, qui fournit une fonctionnalité d’encodage.
- IGlyphAccessor GlyphAccessor - obtient une référence sur l’interface IGlyphAccessor, qui fournit des fonctionnalités pour récupérer les identifiants et les glyphes spécifiés.
- IFontSaver FontSaver - fournit une fonctionnalité d’enregistrement de polices avec l’interface IFontSaver.
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 com.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ée par la classe
TtfTableBase.
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 d’entier ou de chaîne.
L’utilisation de ces méthodes fonctionne plus rapidement que l’utilisation de la méthode getGlyphById() 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.