Робота з шрифтами 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 | Керуюча таблиця (без відсутності) |