Робота з шрифтами TrueType

Робота з шрифтами TrueType

Робота з шрифтами TrueType

Цей керівництво показує, як завантажити шрифти TrueType, перевірити дані їх двоякісних таблиць, читати нерозроблені байти таблиці та створювати статичні інстанції з змінних шрифтів, використовуючи TtfInstancer.

Шрифти TrueType (TTF) є найбільш поширеним форматом шрифтів для настільних і веб-фантів. Aspose.Font FOSS для Python-експюрів TtfFont для доступу до даних таблиці, що стосуються TTF, пошук гліп-блоба;, і змінний контроль осі шрифту.


Завантаження шрифту TTF

FontLoader.open() автоматично виявляє формат TTF і повертає 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")

Доступ до таблиць TTF

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

Клас / методDescription
TtfFont.ttf_tablesДоступ до набору таблиць TTF
TtfFont.get_table_bytes(tag)Невироблені байти для названої таблиці
TtfFont.set_table_bytes(tag, data)Напишіть змінені байти таблиці
TtfFont.get_axis()Інформація про змінну ось шрифту
TtfInstancer.instantiate(font, coords)Створення статичного екземпляру
TtfTableSet.kernКеруюча таблиця (без відсутності)

See Also

 Українська