Работа с TrueType шрифтове

Работа с TrueType шрифтове

Работа с TrueType шрифтове

Това ръководство показва как да заредите TrueType шрифтове, да проверявате данните от бинарната таблица им, четете сурови байти на таблицата и създавайте статични инстанции от променливи шрифт с помощта на TtfInstancer.

TrueType (TTF) шрифтовете са най-често срещаният формат на настолен и уеб шрифт. Aspose.Font FOSS за Python експозиции TtfFont за достъп до таблични данни, специфични за ТТФ, извличане на гликови кърпички;, и променливо управление на осната линия.


Зареждане на TTF шрифт

FontLoader.open() автоматично открива формат TTF и връща a TtfFontВръщаният екземпляр предоставя достъп до специфични за TTF характеристики като: ttf_tables, get_table_bytes(), и данни за променливата ос на шрифта.

from aspose_font.loader import FontLoader

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

Достъп до таблици за ТТФ

TtfFont.ttf_tables излага на опасността от TtfTableSet с наименовани свойства за общи таблици.

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)

Необработени битове от таблицата

Използване на: TtfFont.get_table_bytes(tag) да се извличат сурови данни от двоична таблица и TtfFont.set_table_bytes(tag, data) да пише модифицирани таблични байтове.

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")

Изменливи инстанции на шрифта

TtfFont.get_axis() връща информация за ос. TtfInstancer.instantiate() произвежда статичен пример от променлив шрифт на определени координати на ос.

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})

Съвети и най-добри практики

  • Винаги използвайте: isinstance(font, TtfFont) преди да влезете в него. ttf_tables или с други: get_table_bytes()
  • Използване на: TtfTableSet.kern да провери наличността на ядрата преди четенето на двойки от ядрени.
  • Използването на променлив шрифт създава нов обект за шрифтове; оригиналът е непроменен.

Снимка на API референтна информация

Клас / методОписание на състоянието
TtfFont.ttf_tablesДостъп до набор от таблици с ТТФ
TtfFont.get_table_bytes(tag)Необработени байтове за назована таблица
TtfFont.set_table_bytes(tag, data)Записване на модифицирани таблични байтове
TtfFont.get_axis()Информация за променливата ос на шрифта
TtfInstancer.instantiate(font, coords)Създаване на статичен екземпляр
TtfTableSet.kernТаблица за корен (без отсъстване)

Вижте също:

 Български