Как работать с управлением основными шрифтами в Python
Aspose.Font FOSS for Python provides FontLoader как основной входный пункт для загрузки шрифтов. Отправленные файлы должны быть сделаны из паутины, байт-массивов или потоков. Font объект раскрывает метаданные такие как имя, фамилия, стиль, число схем и кодирующая карта.
Крок за шагом руководство
Шаг 1: Установка упаковки
pip install "aspose-font>=1.0.0"Шаг 2: Импорт необходимых классов
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFontШаг 3: Загрузить шрифт с пути файла
Call FontLoader.open() Метод автоматически обнаруживает формат и возвращает соответствующий файл. Font подкласс (TtfFont, CffFont, и т.д.):
font = FontLoader.open("Roboto-Regular.ttf")
print(font.font_name)
print(font.num_glyphs)Шаг 4: Доступ к метрике шрифтов
В связи с этим Font.metrics свойство возвращает a FontMetrics объект, содержащий подъемник, нисходящий элемент, разрыв между линиями, высоту крышки и другие типографические измерения шрифта:
from aspose_font.loader import FontLoader
font = FontLoader.open("Roboto-Regular.ttf")
metrics = font.metrics
print(metrics)Шаг 5: конвертировать в другой формат
Передайте загруженный шрифт на FontConverter.convert() с желаемым . FontType Цель. Метод возвращает новый объект шрифта в запрошенном формате без изменения оригинала:
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)Общие проблемы и фиксированные
FontType Не найдено. Импорт FontType с верхнего уровня. aspose_font Пакет: from aspose_font import FontType.
Font has no attribute font_name Убедитесь, что вы используете Font возвращенный экземпляр в соответствии с FontLoader.open(), а не объект с общим числом байтов.
Ошибки кодирования на пути Windows Проходные пути как сырые строки: r"C:\Fonts\MyFont.ttf".
Часто задаваемые вопросы
Какие форматы шрифтов поддерживает FontLoader?
FontLoader.open() поддерживает TTF, OTF и CFF, типа 1, WOFF и EOT.
Можно загрузить шрифт из байтов?
- Да, я знаю.
FontLoader.open()принимает строку пути файла, байты или объект потока черезsourceс ясным доказательством,font_typeпараметр.
Font.to_bytes ((() доступен?
- Нет, не могу.
Font.to_bytes()не реализована в базовом классе. ИспользуйтеFontConverter.convert()чтобы изменить формат, затем используйте методы сохранения подкласса.