Как да работим с TTF шрифтове в Python
Това ръководство показва как да заредите TTF шрифтове, проверка TtfFont свойства, четене на таблици, инстанцииране на променливи шрифтове и конвертиране в други формати с помощта на Aspose.Font FOSS за Python. TrueType шрифт (.ttfAspose.Font FOSS ги зарежда като TtfFont инстанции, които дават достъп до таблици, променливи ос на шрифтове, данни за глифи и утилити за конверсия.
Постепенно ръководство
Стъпка 1: Инсталирайте пакета
Инсталирайте пакета Aspose.Cells FOSS от PyPI, като използвате следната команда pip:
pip install "aspose-font>=1.0.0"Стъпка 2: Импортиране на необходимите класове
Внос на продукти от други държави членки FontLoader и в) TtfFont за зареждане на шрифт TTF и достъп до неговите типизирани свойства:
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFontСтъпка 3: Зареждане и проверка на TTF шрифт
Зареждане на TTF файл с помощта на: FontLoader.open() и да прочетете основни свойства като име, фамилия и брой на глифи:
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
print(ttf_font.font_name)
print(ttf_font.font_family)
print(ttf_font.num_glyphs)Стъпка 4: Прочетете ядрената таблица
Достъп до ttf_tables свойство и проверка на наличието на ядрената таблица по име:
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
kern = ttf_font.ttf_tables.kern
print("kern present:", kern is not None)Стъпка 5: Инстантиране на променлив шрифт
Заредете файл с променлив шрифт, проверете is_variable, и се обади. instantiate() с речник на оси за създаване на статична инстанция:
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont
ttf_font: TtfFont = FontLoader.open("Roboto-VariableFont_wdth,wght.ttf")
if ttf_font.is_variable:
static = ttf_font.instantiate({"wght": 700.0})
print("Instantiated:", static.font_name)Стъпка 6: Преобразуване на WOFF2
Преобразуване на зареден TTF шрифт във формат WOFF2 чрез преминаване FontType.WOFF2 в) към FontConverter.convert():
from aspose_font.loader import FontLoader
from aspose_font.converter import FontConverter
from aspose_font import FontType
font = FontLoader.open("Roboto-Regular.ttf")
woff2 = FontConverter.convert(font, FontType.WOFF2)Обичайни проблеми и решения
AttributeError: Font has no attribute ttf_tables Използване ttf_font: TtfFont = FontLoader.open(...). Съветът на ЕС ttf_tables имотът е на TtfFont, не базата. Font.
is_variable е False на променлив шрифт Някои променливи шрифтове използват нестандартни шрифт. fvar Формат на таблицата. Проверка ttf_font.fvar is not None като алтернатива.
instantiate() повишаване на стойността KeyError Осият етикет трябва да бъде регистриран 4-каровен. (напр. "wght", "wdth") Проверка ttf_font.axes за наличните етикети.
Често задавани въпроси
Каква е разликата между TTF и OTF?
OTF и TTF споделят един и същ двоичен контейнер (SFNT). ОТФ шрифтовете обикновено използват очертания на CFF. TTF шрифтовете използват TrueType квадратни криви. И двете са заредени от: FontLoader.open().
Мога ли да получа двойки ядки от TTF шрифт?
Да, използвай. TtfFont.get_kern_pairs() да получите списък на KernPair обекти.
Поддържа ли библиотеката колекции от шрифтове (.ttc)?
Да, използвай. FontLoader.open(source, collection_index=N) да изберете конкретен шрифт от: файл за събиране на ТТС.