Подтвердить что ты не робот

Как преобразовать WOFF в TTF/OTF через командную строку?

Я знаю об услугах, таких как Online Font Converter, но меня интересует автономное решение, желательно по командной строке. Кто-нибудь знает инструмент или рабочий процесс, как конвертировать WOFF в OTF/TTF в автономном режиме?

4b9b3361

Ответ 1

Я написал для этого простой инструмент:

https://github.com/hanikesn/woff2otf

В настоящее время тестируется только с ttf файлами.

Ответ 2

Вот ссылочный код для создания файлов WOFF: http://people.mozilla.org/~jkew/woff/ У меня есть зеркало: https://github.com/samboy/WOFF

Для компиляции и установки убедитесь, что установлены библиотеки разработки zlib (например, в CentOS6 yum -y install zlib-devel от имени пользователя root), затем

git clone https://github.com/samboy/WOFF
cd WOFF
make

Затем, как root:

cp sfnt2woff /usr/local/bin

Как только это будет сделано, чтобы создать webfont, введите каталог с файлом .ttf, затем запустите sfnt2woff

sfnt2woff Chortle2014f.ttf

Это создает файл webfont Chortle2014f.woff. Замените "Chortle2014f.ttf" на имя фактического webfont для преобразования.

Первая ссылка, которую я предоставляю, содержит двоичные файлы Windows и MacOS для людей, которые не хотят устанавливать компилятор.

Вот ссылочный код для создания файлов WOFF2: https://github.com/google/woff2 Обратите внимание, что этот код не будет установлен в CentOS6, но компилирует и устанавливает только отлично в CentOS7:

git clone --recursive https://github.com/google/woff2.git
cd woff2
make clean all

Генерация шрифтов woff2 аналогична:

woff2_compress Chortle2014f.ttf

Ответ 4

У EverythingFonts есть онлайн-инструмент, который, кажется, работает хорошо.

Если вы хотите сделать это в автономном режиме, следуя Erik Tjernlund ответьте на пользователя Super User, вы можете скачал источник и скомпилировал исполняемые файлы woff2sfnt и sfnt2woff.

Последняя версия на момент написания этой статьи была с 2009/09/09. К сожалению, я обнаружил, что он не работает для всех файлов WOFF, иногда жалуясь на плохую подпись и иногда просто выдавая сломанный файл OTF.

Ответ 6

Я понимаю, что этот поток уже неактивен уже некоторое время, но с помощью нескольких пользователей stackoverflow я смог использовать вышеупомянутый python script [woff2otf.py @hanikesn], чтобы создать рабочий процесс, позволяющий пакетное преобразование файлов woff.

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

Изменить Python script для пакетной конвертации всех "WOFF" Файлы в каталоге

Даже если вам не нужно конвертировать пакет, он-лайнfontconverter.com создает недостоверные результаты, и у allfonts.com есть ограничение на конверсии на 0,4 МБ, если вы не перейдете на платный аккаунт, и оба они не требуют много времени по сравнению с автономными решениями.

Удачи!

Ответ 7

Мне не понравился тот факт, что лучшим ответом на данный момент является скрипт на Python, а также есть случаи, когда люди говорят, что он не работает. Кроме того, ни один из текущих ответов, кажется, не упоминает компиляцию конвертеров WOFF с алгоритмом сжатия zopfli, который превосходит стандартный алгоритм zlib, который используют другие инструменты. По этим причинам я решил пойти по "правильному" (то есть без сценария) маршруту и добавить свой собственный ответ в процессе.

Примечание: * процесс компиляции для обеих нижеприведенных утилит очень прост, и его можно упростить, просто скопировав и выполнив фрагменты кода, которые я предоставил ниже, но они все же требуют работающего компилятора. Если вы ранее не компилировали программное обеспечение из исходного кода, вам может понадобиться сначала настроить среду компилятора. Если вы используете Cygwin, вы можете выполнить первую часть моего ответа здесь, чтобы настроить кросс-компилятор MinGW-w64 *.

Конвертер WOFF CLI (со сжатием ZOPFLI)

Сначала скомпилируйте и установите sfnt2woff1, вставив все следующее в терминал и нажав Enter:

git clone https://github.com/bramstein/sfnt2woff-zopfli.git woff &&
cd woff &&
make &&
chmod 755 woff2sfnt-zopfli sfnt2woff-zopfli &&
mv woff2sfnt-zopfli sfnt2woff-zopfli /usr/local/bin &&
rm -rf ../woff

После того, как инструмент скомпилирован и установлен, преобразуйте файл TTF или OTF в WOFF, запустив:

sfnt2woff-zopfli <inputfile>.ttf

Вы также можете использовать опцию -n, чтобы увеличить количество итераций, в которых запускается программа, увеличивая сжатие за счет времени преобразования (по умолчанию число итераций равно 15).

Чтобы преобразовать все файлы в текущем каталоге в WOFF:

for i in *; \
do sfnt2woff-zopfli.exe "$i"; \
done

CLIF конвертер WOFF2 (со сжатием Brotli)

Сначала скомпилируйте и установите Google woff2 tools, вставив все следующее в терминал и нажав Enter:

git clone --recursive https://github.com/google/woff2.git &&
cd woff2 &&
make clean all &&
mv woff2_compress woff2_decompress woff2_info /usr/local/bin &&
rm -rf ../woff2

После того, как инструмент скомпилирован и установлен, преобразуйте один файл TTF или OTF в WOFF2, выполнив:

woff2_compress.exe <inputfile>.ttf

Чтобы преобразовать все файлы в текущем каталоге в WOFF2:

for i in *; \
do woff2_compress.exe "$i"; \
done

Вы даже можете конвертировать файл WOFF2 обратно в TTF или OTF:

woff2_decompress.exe <inputfile>.woff2

1 Note that SFNT here refers to the SFNT table format that both TTF and OTF font formats are built around.