Как работать с управлением основными шрифтами в Python

Как работать с управлением основными шрифтами в 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() чтобы изменить формат, затем используйте методы сохранения подкласса.

See Also

 Русский