Treballar amb fonts de TrueType
Treballar amb fonts de TrueType
Aquesta guia mostra com carregar fonts TrueType, inspeccionar les dades de la taula binària, llegir bytes de taules brutes i crear instàncies estàtiques a partir de fonts variables utilitzant TtfInstancer.
Les fonts TrueType (TTF) són el format de font més comú per a la web i els ordinadors. Aspose.Font FOSS per a exposicions de Python TtfFont per accedir a dades de taula específiques del TTF, recuperació d’un glòbul glif., i control de l’eix variable.
Carregament d’una lletra TTF
FontLoader.open() auto-detecta format TTF i torna un TtfFont-type object. L’instància retornada proporciona accés a característiques específiques de TTF com ara: ttf_tables, get_table_bytes(), i dades d’eix de font variable.
from aspose_font.loader import FontLoader
font = FontLoader.open("Roboto-Regular.ttf")
print(font.font_name, font.num_glyphs, "glyphs")Accedir a les taules de TTF
TtfFont.ttf_tables exposa una TtfTableSet amb propietats nomenades per a taules comunes.
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)Bytes de taula brut
Utilització: TtfFont.get_table_bytes(tag) per recuperar dades de taula binària en bruto i TtfFont.set_table_bytes(tag, data) per escriure bytes de taula modificats.
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")Instancies de fonts variables
TtfFont.get_axis() Retorna informació sobre l’eix. TtfInstancer.instantiate() Produeix un instància estàtica d’una font variable a coordenades d ’eixes especificades.
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})Consells i millors pràctiques
- Utilitzar sempre:
isinstance(font, TtfFont)abans d’accedirttf_tableso de la sevaget_table_bytes() - Utilització:
TtfTableSet.kernPer comprovar la disponibilitat de les parelles de núvols abans d’escollir-les. - L’instància de font variable produeix un nou objecte de lletra; l’original és inalterat.
Resum de referència d’API
| Classe / mètode | Description |
|---|---|
TtfFont.ttf_tables | Accés al conjunt de taules TTF |
TtfFont.get_table_bytes(tag) | Bytes en bruto per a una taula amb nom |
TtfFont.set_table_bytes(tag, data) | Escriure bytes de taula modificats |
TtfFont.get_axis() | Informació sobre l’eix de font variable |
TtfInstancer.instantiate(font, coords) | Crear una instància estàtica |
TtfTableSet.kern | Taula central (no existint si no hi ha) |