Travailler avec TrueType Fonts
Travailler avec TrueType Fonts
Ce guide montre comment charger les phontres TrueType, inspecter leurs données de table binaires, lire les bytes de tables crus et créer des exemples statiques à partir de phones variables en utilisant TtfInstancer.
Les phontres TrueType (TTF) sont les formats de phones des ordinateurs et du web les plus courants. Pour les expositions Python TtfFont pour accéder aux données de table spécifiques à TTF, glyph blob retrieval, Contrôle d’axe de la phonture variable.
Création d’un TTF Font
FontLoader.open() détecte automatiquement le format TTF et retourne un TtfFont-objet type. l’instance retournée fournit accès à des fonctionnalités spécifiques au TTF telles que: ttf_tables, get_table_bytes(),et les données d’axe de la phonture variable.
from aspose_font.loader import FontLoader
font = FontLoader.open("Roboto-Regular.ttf")
print(font.font_name, font.num_glyphs, "glyphs")Accès à des tables TTF
TtfFont.ttf_tables Exposé à TtfTableSet avec des propriétés nommées pour les tables communes.
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
tables = ttf_font.ttf_tables
print("kern table present:", tables.kern is not None)Table riche
Utiliser TtfFont.get_table_bytes(tag) pour obtenir des données de table binaire et TtfFont.set_table_bytes(tag, data) Écrire des bytes de table modifiées.
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
raw_cmap = ttf_font.get_table_bytes("cmap")Variable de la forme
TtfFont.get_axis() Remboursez les informations de l’axe. TtfInstancer.instantiate() produisent un instance statique d’une phonture variable aux coordonnées axes spécifiées.
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont
from aspose_font.ttf.instancer import TtfInstancer
ttf_font: TtfFont = FontLoader.open("Roboto-VariableFont_wdth,wght.ttf")
# Get a static instance at wght=700, wdth=75
instance = TtfInstancer.instantiate(ttf_font, {"wght": 700.0, "wdth": 75.0})Conseils et meilleures pratiques
- toujours utilisé
isinstance(font, TtfFont)Avant l’accèsttf_tablesouget_table_bytes() - Utiliser
TtfTableSet.kernVérifier la disponibilité de l’encre avant de lire les paires d’enregistrement - L’instancement de phonture variable produit un nouveau objet de la lettre ; l’original est inchangé.
Le résumé de référence API
| Classes / Méthodes | Description |
|---|---|
TtfFont.ttf_tables | Accès à la table TTF |
TtfFont.get_table_bytes(tag) | Les bits de base pour une table nommée |
TtfFont.set_table_bytes(tag, data) | Écrire des bytes de table modifiées |
TtfFont.get_axis() | Informations d’axe de la phonture variable |
TtfInstancer.instantiate(font, coords) | Créer une instance statique |
TtfTableSet.kern | Table de fer (pas si absente) |