Treballar amb fonts de TrueType

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’accedir ttf_tables o de la seva get_table_bytes()
  • Utilització: TtfTableSet.kern Per 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ètodeDescription
TtfFont.ttf_tablesAccé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.kernTaula central (no existint si no hi ha)

See Also

 Català