Часто задавані запитання
Ліцензія та відкритий код
Яка модель ліцензування?
Aspose.Font FOSS for Python is released under the Ліцензія MIT.Ви можете використовувати, копіюйте., модифікувати, об’єднати, опублікувати , розподілити, надавати субліцензію або продавати копії програмного забезпечення без Єдиним вимогом є те, що повідомлення про авторські права та текст ліцензії повинні бути включені в всі копії або значні частини програмного забезпечення.
Чи можна використовувати його в комерційних продуктах?
Так. Ліцензія MIT дозволяє використовувати в закритих кодових та комерційних продуктах. Немає ніяких зобов’язань щодо авторських прав або припису, крім збереження заголовку авторського права у ваших копіях самої бібліотеки.
Чи є платна версія з більшою кількістю функцій?
Aspose.Font FOSS is the open-source edition. The FOSS edition covers TTF, OTF, CFF, Type 1, WOFF, WOFF2, and EOT — which covers the majority of real-world font work.
Інсталяція та вимоги
Як встановити Aspose.Page FOSS для Python?
Інсталювати пакет з PyPI (затребуває Python 3.10+):
pip install "aspose-font>=1.0.0"Не потрібно мати наційну залежність на рівні системи.
Які версії Python підтримуються?
Python 3.10 і пізніше. Бібліотека використовує лише стандартні функції бібліотек, тому вона працює на CPython та PyPy реалізаціях, які підтримують Python 3.0+.
Чи є якісь корінні або платформісті залежності?
Ні. Aspose.Font FOSS для Python не має розширень C, системних шрифтів і платформенних API. Він працює ідентично на Windows, macOS та Linux.
Формат підтримки
Які формати шрифтів можна читати?
FontLoader.open() може завантажувати TTF, OTF (одинокий), CFF (виділений самостійно), тип 1, WOFF, WOff2 та EOT.
from aspose_font.loader import FontLoader
font = FontLoader.open("MyFont.ttf")Важливо: Завжди використовуйте Presentation у конструкції using. Клас реалізує IDisposable, і без цього ресурси не будуть коректно звільнені.?
FontConverter.convert() підтримує конвертацію на TTF, CFF, WOFF та WOff2. шрифт може бути збережений до байтів або потоку файлів.
Декомпресія WOFF2 вбудована?
Так. Скомпресія та декомпресию WOFF2 Brotli реалізуються повністю в бібліотеці. Не потрібно зовнішнього пакету brotli.
Використання вогню
Як завантажити шрифт і оглянути його метадані?
Використання FontLoader.open() що повертає a Font Наприклад, для шрифтів TTF/OTF відкидаються на: TtfFont для доступу до властивостей, що специфічні для ТТФ:
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
print(ttf_font.font_name)
print(ttf_font.num_glyphs)Як я перетворюю TTF на WOFF2?
Завантажити шрифт з: FontLoader.open(), потім передати його до FontConverter.convert() уточнюючи: FontType.WOFF2 Відвернутий об’єкт є Woff2Font Інстанція готова до серіалізації:
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)Як я підставляю шрифт для доставки в Інтернеті?
Використання FontSubsetter.subset_by_text() для створення нового шрифта, який включає тільки гліфи, необхідні для відтворення наданого текстового ряду, зменшуючи розмір файлу для вбудування веб-сторінки:
from aspose_font.loader import FontLoader
from aspose_font.subsetter import FontSubsetter
font = FontLoader.open("Roboto-Regular.ttf")
subset = FontSubsetter.subset_by_text(font, "Hello World")Як я можу отримати доступ до окремих гліфів?
Використання Font.glyph_accessor що впроваджує: GlyphAccessor.Подзвони. get_glyph_by_unicode() з точкою коду Unicode для отримання відповідного об’єкта і перевірки його метрики або контур:
from aspose_font.loader import FontLoader
font = FontLoader.open("Roboto-Regular.ttf")
glyph = font.glyph_accessor.get_glyph_by_unicode(0x0041) # 'A'
print(glyph.glyph_id)Знайомі обмеження
Font.to_bytes ((() реалізовано?
Абстрактний базовий клас Font.to_bytes() піднімає NotImplementedError якщо це буде пряме покликання. Однак всі конкретні класи шрифтів TtfFont, CffFont, WoffFont, Woff2Font, EotFont, і Type1Font впроваджувати to_bytes() Завантажити шрифт з FontLoader.open() і подзвонить. to_bytes() на поверненому конкретному випадку. FontConverter.convert() також може бути створювати новий шрифт у будь-якому підтримуваному цільовому форматі.
Чи заповнені всі типи таблиць у TtfTableSet?
Тільки загальні таблиці (head, hhea, maxp, os2, name, post, cmap, loca, hmtx, kern) є експонуються як названі властивості на TtfTableSet.Інші таблиці можуть читатися як нерозроблені байти . через: TtfFont.get_table_bytes(tag).
Чи підтримує бібліотека вимірювання змінного шрифту?
Так, я знаю. TtfFont.instantiate() виробляє статичний TtfFont на визначених координатах осі. Використання TtfFont.is_variable і TtfFont.axes спочатку виявити осі зміни.