Comment travailler avec les phontres TTF dans Python

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.

Voir aussi

 Français