Comment travailler avec les phontres TTF dans Python
Ce guide montre comment charger les phontres TTF, inspecter TtfFont Propriétés, tables de lecture, fonts variables instantanées et conversion à d’autres formats en utilisant Aspose.Font FOSS pour Python..ttf) sont le format de caractère le plus courant. Aspose.Font FOSS les charge comme TtfFont des exemples, donnant accès aux tables, axes de phon variables, données glyph et outils de conversion.
Guide étape par étapes
Étape 1 : Installer le package
Installez le package Aspose.Font FOSS de PyPI en utilisant la commande pip ci-dessous :
pip install "aspose-font>=1.0.0"Étape 2 : Importation des classes requises
Importation FontLoader et TtfFont pour charger un phon TTF et accéder à ses propriétés typographiées :
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFontÉtape 3 : Télécharger et inspecter un fichier TTF
Télécharger un fichier TTF en utilisant FontLoader.open() et lisez les propriétés de base telles que le nom, la famille et le nombre glyph:
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
print(ttf_font.font_name)
print(ttf_font.font_family)
print(ttf_font.num_glyphs)Étape 4 : Lire la table de base
Accès à la ttf_tables Propriété et vérifier la présence de la table du noyau par nom :
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
kern = ttf_font.ttf_tables.kern
print("kern present:", kern is not None)Étape 5 : Installer un font variable
Cartez un fichier de caractère variable, vérifiez is_variable,Et appeler instantiate() avec un dictionnaire axis pour produire une instance statique :
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont
ttf_font: TtfFont = FontLoader.open("Roboto-VariableFont_wdth,wght.ttf")
if ttf_font.is_variable:
static = ttf_font.instantiate({"wght": 700.0})
print("Instantiated:", static.font_name)Étape 6 : Convertir à WOFF2
Convertir un fichier TTF chargé au format WOFF2 en passant FontType.WOFF2 à FontConverter.convert():
from aspose_font.loader import FontLoader
from aspose_font.converter import FontConverter
from aspose_font import FontType
font = FontLoader.open("Roboto-Regular.ttf")
woff2 = FontConverter.convert(font, FontType.WOFF2)Problèmes communs et fixations
AttributeError: Font has no attribute ttf_tables - Utiliser ttf_font: TtfFont = FontLoader.open(...). Le ttf_tables La propriété est sur TtfFont,Pas la base Font.
is_variable Faux sur un font variable - Certains fonts variables utilisent un non-standard fvar Formats de table. vérifier ttf_font.fvar is not None comme une alternative.
instantiate() Les hauts KeyError - Le label axis doit être un label enregistré de 4 charges (dont le g. "wght", "wdth"• Vérifier ttf_font.axes pour les tags disponibles.
Questions fréquemment posées
Quelle est la différence entre TTF et OTF ?
OTF et TTF partagent le même conteneur binaire (SFNT). les phares OTf utilisent généralement des outlines CFF tandis que les phontres TTF utilisent des courbes quadrates TrueType. FontLoader.open().
Puis-je obtenir des paires de cœurs à partir d’un phon TTF ?
Oui, utilisez TtfFont.get_kern_pairs() Pour obtenir une liste de KernPair objets .
La bibliothèque prend en charge les collections de lettres (.ttc) ?
Oui, utilisez FontLoader.open(source, collection_index=N) Pour sélectionner un fichier spécifique de Un fichier de collection TTC.