Werken met TrueType-lettertypen

Werken met TrueType-lettertypen

Werken met TrueType-lettertypen

Deze gids laat zien hoe je TrueType-lettertypen laadt, hun binaire tabelgegevens inspecteert, ruwe tabelbytes leest, en statische instanties maakt van variabele lettertypen met behulp van TtfInstancer.

TrueType (TTF)-lettertypen zijn het meest voorkomende desktop- en weblettertypeformaat. Aspose.Font FOSS voor Python maakt TtfFont beschikbaar voor het benaderen van TTF-specifieke tabelgegevens, het ophalen van glyph-blobs en de controle van variabele lettertype-assen.


Een TTF-lettertype laden

FontLoader.open() detecteert automatisch het TTF-formaat en retourneert een object van type TtfFont. Het geretourneerde exemplaar biedt toegang tot TTF-specifieke functies zoals ttf_tables, get_table_bytes(), en variabele lettertype-assen gegevens.

from aspose_font import FontLoader

font = FontLoader.open("Roboto-Regular.ttf")
print(font.font_name, font.num_glyphs, "glyphs")

Toegang tot TTF-tabellen

TtfFont.ttf_tables biedt een TtfTableSet met benoemde eigenschappen voor veelvoorkomende tabellen.

from aspose_font import FontLoader
from aspose_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)

Ruwe tabelbytes

Gebruik TtfFont.get_table_bytes(tag) om ruwe binaire tabelgegevens op te halen en TtfFont.set_table_bytes(tag, data) om gewijzigde tabelbytes te schrijven.

from aspose_font import FontLoader
from aspose_font import TtfFont

ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
raw_cmap = ttf_font.get_table_bytes("cmap")

Variabele Lettertype-Instanties

TtfFont.get_axis(tag) retourneert een enkele variabele as op basis van zijn 4-karakter tag (bijv. "wght", "wdth"), of None als het lettertype die as niet definieert. TtfInstancer.instantiate() maakt een statische instantie van een variabel lettertype bij opgegeven ascoördinaten.

from aspose_font import FontLoader
from aspose_font import TtfFont
from aspose_font.ttf.instancer import TtfInstancer  # internal API — may change between releases

ttf_font: TtfFont = FontLoader.open("Roboto-VariableFont_wdth,wght.ttf")

weight_axis = ttf_font.get_axis("wght")
if weight_axis is not None:
    print(f"wght range: {weight_axis.min_value}-{weight_axis.max_value}")

# Get a static instance at wght=700, wdth=75
instance = TtfInstancer.instantiate(ttf_font, {"wght": 700.0, "wdth": 75.0})

Tips en Best Practices

  • Gebruik altijd isinstance(font, TtfFont) voordat je ttf_tables of get_table_bytes() benadert.
  • Gebruik TtfTableSet.kern om de beschikbaarheid van kerning te controleren voordat je kernparen leest.
  • Variabele lettertype-instantiatie produceert een nieuw lettertype-object; het origineel blijft ongewijzigd.

API Reference Samenvatting

Klasse / MethodeBeschrijving
TtfFont.ttf_tablesToegang tot TTF-tabelset
TtfFont.get_table_bytes(tag)Ruwe bytes voor een benoemde tabel
TtfFont.set_table_bytes(tag, data)Schrijf gewijzigde tabelbytes
TtfFont.get_axis(tag)Variabele lettertype-as per tag, of None
TtfInstancer.instantiate(font, coords)Maak een statische instantie
TtfTableSet.kernKerning-tabel (None indien afwezig)

Zie ook

 Nederlands