fonttools конвертирует ttf в woff2

В настоящее время я использую fonttools (https://github.com/fonttools/fonttools) для преобразования файла шрифтаttf к woff2 по ttx команда с 2 шагами

  • перерабатывать ttf к ttx
  • затем конвертировать ttx к woff2

Но это слишком медленно и ttx файл в большой, есть ли способ конвертировать ttf к woff2 напрямую с помощью fonttools для повышения производительности?

4 ответа

Решение

Если в Python установлены инструменты шрифтов (virtualenv, pipenv и т. Д.):

$ python
>>> from fontTools.ttLib import TTFont
>>> f = TTFont('path/to/your/file.otf')
>>> f.flavor='woff2'
>>> f.save('path/to/your/file.woff2')

ПРИМЕЧАНИЕ: вам может потребоваться установить другие fontTools зависимости ('brotli', другие) для сохранения с flavor=woff2 чтобы работать правильно.

      pip install --user --upgrade fonttools[woff]
python3
>>> from fontTools.ttLib.woff2 import compress
>>> compress('filename.otf','filename.woff2')
  • Это будет [только] принимать .otf и .ttf
  • Он создает файлы меньшего размера, чем другие методы (например, woff2-tools).

https://fonttools.readthedocs.io/en/latest/ttLib/woff2.html?highlight=ttLib.woff2%3A#fontTools.ttLib.woff2.compress

Существует интерфейс командной строки Google woff2, поэтому вы можете сделать это в командной строке вместо того, чтобы вручную писать некоторые сценарии.

Если вы устанавливаете Fonttools с правильными зависимостями, вы также можете сделать это из командной строки:

      ./fonttools ttLib Roboto-Regular.ttf --flavor woff2 Roboto-Regular.woff2
Другие вопросы по тегам