Содержание
Оптимизация шрифтов – Николай Громов
Столкнулся (в очередной раз) с некорректной работой конвертера fontsquirrel.com (для некоторых шрифтов он очень заметно деформирует символы шрифта) и решил разобраться каким образом можно самостоятельно получить оптимизированные файлы шрифта для использования при верстке сайтов.
Требования к инструментарию:
- на выходе должен получаться минимальный размер файлов (скармливать инструменту набор символов, которые нужно оставить в шрифте),
- отсутствие деформаций символов после конверсии,
- работа с форматами TTF, WOFF/WOFF2,
- кроссплатформенность,
- бесплатность,
- локальность (не веб-сервис).
Рассматривать буду все в разрезе использования консоли и nodejs/npm. Если вы еще не начали использовать консольные инструменты, самое время начать.
Оптимизация шрифта
Задача: оставить в шрифте только те символы, которые необходимы на проекте. В моем случае, это цифры, латиница, кириллица (не целиком) и некоторые другие (кавычки, тире и т. п.) символы.
Для этих целей обнаружил три инструмента:
- fonttools — набор консольных инструментов, в т.ч. инструмент, оставляющий в файле шрифта только символы с указанными utf-кодами.
- fontforge — бесплатный редактор шрифта (полноценный редактор с GUI).
- fontmin — набор китайских инструментов (есть консольные варианты, вебсервис и приложение с GUI).
fonttools
Лучший из найденных инструментов. Требует установленного Python. Ставим инструмент и потом в консоли:
pyftsubset fonts/Roboto-Black.ttf --output-file=fonts/Roboto-Black--pyftsubset.ttf --unicodes-file=codes.txt
fonts/Roboto-Black.ttf
— исходный файл,fonts/Roboto-Black--pyftsubset.ttf
— результат,codes.txt
— файл с кодами символов, которые нужно оставить в шрифте (пример, получить свой набор можно любым конвертером символов).
Результат для TTF:
- Open Sans 212 Кб → 25 Кб.
- Pt Serif 319 Кб → 62 Кб.
- Roboto 158 Кб → 33 Кб.
- Roboto Condensed 156 Кб → 33 Кб.
- Roboto Slab 166 Кб → 35 Кб.
После конвертации в WOFF и WOFF2 размеры файлов становятся еще приятнее.
Из обнаруженных минусов:
- Пропущенные через инструмент шрифты при открытии стандартным инструментом просмотра шрифтов (по кр. мере, на Windows) выдают ошибку (браузер переваривает их корректно).
- Я получил файл нулевой длинны для одного из конвертируемых шрифтов. Странный глюк с неизвестной причиной (пришлось использовать fontforge).
fontforge
Бесплатное кроссплатформенное ПО для редактирования шрифтов, в т.ч. можно выделить и очистить площадки символов, которые не нужны на проекте, радикально уменьшив размер файла.
Увы, мною не были обнаружены адекватные инструменты автоматизации, позволяющие поточно обработать несколько файлов по одной маске. А выделять символы вручную — минут по 5-7 на файл — не хочется категорически. Если подскажите способ сохранить выделение символов или как-то консольно вызвать fontforge, чтобы от взял ttf-файл, вырезал символы и сохранил, буду благодарен.
fontmin
Устанавливаем глобально и потом в консоли можно:
text="`cat subset.txt`" && fontmin -t "$text" fonts/lato.ttf > fonts/lato--fontmin.ttf
subset.txt
— файл с символами, которые хочется оставить в шрифте (пример),fonts/lato.ttf
— исходный файл,fonts/lato--fontmin.ttf
— результат.
Одна беда: fontmin вырежет все пробелы. Либо оставит, но подпортит ширины символов. Поскольку пробельные символы могут сильно отличаться в разных шрифтах, диагноз: малоюзабельно.
Конвертирование шрифта
ttf2woff
- Конвертирует TTF в WOFF.
- Консольный инструмент. Нужно владеть азами работы с консолью и иметь установленный node.js.
- Настроек не имеет.
Ставим инструмент глобально и потом в консоли:
ttf2woff fonts/lato.ttf fonts/lato--ttf2woff.woff
Указывается путь и имя исходного и результирующего файла.
ttf2woff2
- Конвертирует TTF в WOFF2.
- Консольный инструмент. Нужно владеть азами работы с консолью и иметь установленный node.js.
- У меня (Windows 10) работает медленно: до пары минут на конверсию одного файла.
Ставим инструмент глобально и потом в консоли:
cat fonts/lato.ttf | ttf2woff2 >> fonts/lato--ttf2woff2.woff2
Указывается путь и имя исходного и результирующего файла.
Прочие инструменты (веб-сервисы)
font2web.com — конвертер
- Работает не со всеми шрифтами (чёрный список обнаружить не удалось, попытка сконвертировать Open Sans привела к скачиванию архива без шрифтов).
- Настроек не имеет.
- Не отдаёт шрифты в формате WOFF2.
- Работает с одним файлом за раз.
freefontconverter.com — конвертер
- Отдаёт TTF, WOFF, WOFF2, EOT, SVG.
- Настроек не имеет.
- Работает с одним файлом за раз.
- Получает TTF, который становится немного меньшего размера в результирующем архиве.
web-font-generator.
com — конвертер
- Отдаёт TTF, WOFF, EOT, SVG.
- Настроек не имеет.
- Работает с одним файлом за раз.
- Показывает превью результата.
- Умеет конвертировать в base64.
- Иногда выдает бОльший размер файла, чем у закачанного оригинала.
webfont.ru — конвертер и оптимизатор
- Отдаёт TTF, WOFF, WOFF2.
- Позволяет работать только с имеющимися на проекте шрифтами, свой загрузить нельзя.
- Одновременная работа только с одним шрифтом (при переходе от шрифта к шрифту в рамках гарнитуры сохраняются настройки конвертера).
- Есть настройка с указанием сохраняемых в шрифте диапазонов символов или конкретных символов, что в несколько раз уменьшает вес файла (212Кб → 27Кб для Open Sans с минимальным набором символов).
- Умеет конвертировать в base64.
- Меняет визуальную плотность, портит полуовалы, деформирует вертикальные размеры букв, меняет высоту строки.
fontsquirrel.
com — конвертер и оптимизатор
- Отдаёт TTF, WOFF, WOFF2, EOT, SVG.
- Работает не со всеми шрифтами (чёрный список имеется, но не опубликован).
- Множество настроек, в том числе указание диапазонов символов или конкретных символов (212Кб → 34Кб для Open Sans с минимальным набором символов).
- С настройками по умолчанию убирает из шрифта все нелатинские символы (в т.ч. кириллические).
- Работает с несколькими файлами за раз.
- Умеет конвертировать в base64.
- Меняет визуальную плотность, портит полуовалы, деформирует вертикальные размеры букв, меняет высоту строки, для некоторых размеров «съедает» внутрибуквенные просветы.
Смотри так же
- Как сейчас нужно подключать шрифты
- Репозиторий для экспериментов
Онлайн конвертер ZIP в TTF (Без ограничений!)
- ?
Инструкции приводятся ниже
Вот шаги по преобразованию ZIP-архива в файл TTF с помощью ezyZip.
- Есть два способа выбрать zip файл:
В нем будут перечислены все файлы TTF в ZIP-архиве. Нажмите зеленую кнопку «Сохранить», чтобы сохранить отдельный файл ttf на локальном диске.
Сначала следуйте инструкциям выше
Нажмите «Сохранить все». Если кнопка неактивна, значит ваш браузер не поддерживает эту функцию или она не включена.
В Chrome вы можете включить функцию, переключив этот параметр:
chrome://flags/#native-file-system-api
(скопируйте и вставьте в адресную строку браузера) org/HowToStep»>После того, как вы выбрали папку, браузер запросит разрешение на доступ к ней. Кликните «Просмотреть файлы», а затем «Сохранить изменения».
Затем начнется сохранение файлов и подпапок в указанную вами.
Выберите пустую папку, куда вы хотите извлечь файлы. Внимание: если там уже есть файлы с такими именами, ezyZip ПЕРЕЗАПИШЕТ ИХ.
Кликните на лого Dropbox () на кнопке выбора zip файла.
Появится окно выбора файла в Dropbox. При первом запуске будет необходимо подтвердить доступ к ezyZip.
Как только вы выберете zip файл, он сразу скачается в вашем браузере и откроется после скачивания.
Для сохранения ttf файлов на Dropbox, кликните «Dropbox» выбрав данный пункт из появляющегося под кнопкой «Сохранить» или «Сохранить все». Необходимо будет авторизовать Dropbox для ezyZip при первом использовании.
Файлы будут сохранены в папке /Apps/ezyZip.
ezyZip поддерживает любую ОС, которая может работать с современным браузером. Мы протестировали его для работы с Windows, MacOS, Linux (например, Ubuntu, Mint, Debian), Android, ChromeOS (Chromebook), Android, iOS (iPhone, iPad и iPod Touch).
Убедитесь, что вы используете последнюю версию одного из популярных браузеров или их вариации (например, Chrome, Firefox, Safari, Opera).
ezyZip — это бесплатная онлайн-утилита для извлечения ttf файлов из zip-архива . Нет необходимости устанавливать дополнительное программное обеспечение, так как оно работает в браузере. Он поддерживает множество других извлечения файлов и вариантов преобразования тоже.
В отличие от других онлайн-утилит для конвертации zip-файлов, ezyZip не требует от вас загрузки файлов на сервер. Он работает локально как приложение для браузера, что делает его намного быстрее, чем другие аналогичные инструменты онлайн-преобразования. ограничений на размер файла нет! Это также гарантирует, ваша конфиденциальность будет защищена, так как никакие данные файла не будут покидать ваш браузер .
TTF означает True Type Font и используется для хранения данных шрифтов. Впервые он был разработан компанией Apple в 1980-х годах специально для платформы Macintosh, но теперь он работает и с другими платформами, такими как Windows. Важной особенностью шрифтов TTF является возможность изменять размер до любого без потери качества.
Конвертер
TTF в WOFF | Онлайн и бесплатно
Работает на aspose.com и aspose.cloud
Перетащите файл сюда
Найдите файл
Загружая файлы или используя наш сервис, вы соглашаетесь с нашими Условиями обслуживания и Политикой конфиденциальности
Формат шрифта TTF является одним из наиболее часто используемых форматов, но, как и все остальные, имеет свои недостатки и ограничения. По этой причине вам может понадобиться преобразовать TTF в WOFF в качестве дополнительного или более подходящего формата.
Конвертер шрифтов TTF в WOFF — это бесплатное веб-приложение для онлайн-преобразования шрифтов. Для выполнения преобразования требуется всего несколько секунд.
Конвертер шрифтов TTF в WOFF прост в использовании и может работать в Mac OS, Linux, Android, iOS и любом другом интерфейсе. Нет необходимости устанавливать какое-либо программное обеспечение на ваше устройство. Единственное, что вам нужно, это веб-браузер.
Если вы хотите иметь функцию преобразования в своем продукте или хотите программно работать со шрифтами, изучите главу «Документация».
- Простое преобразование TTF в WOFF.
- Преобразование шрифтов онлайн без подписки и регистрации
- Интегрируйте функцию преобразования в свое решение.
Как преобразовать TTF в WOFF
- org/HowToStep»> Чтобы добавить файл, нажмите в любом месте синей области или на кнопку «Найти файл», чтобы загрузить или перетащите его. Вы также можете добавить документ, введя его URL-адрес в ячейку URL-адреса.
- Чтобы сбросить выделение или начать сначала, щелкните крестик в правом верхнем углу области перетаскивания.
- Нажмите кнопку Преобразовать. Ваш файл шрифта будет загружен и преобразован в формат результата.
- Ссылка на скачивание полученного файла будет доступна сразу после конвертации.
- Чтобы начать заново, нажмите кнопку Вернуться к приложению.
Часто задаваемые вопросы
- Как преобразовать TTF в WOFF? Добавьте файл для конвертации: щелкните в любом месте синей области или кнопку «Найти файл», чтобы загрузить или перетащите его.
Вы также можете добавить документ, введя его URL-адрес в ячейку URL-адреса. Затем нажмите кнопку Конвертировать. Когда преобразование шрифта завершено, вы можете загрузить файл результата.
- Сколько времени нужно, чтобы преобразовать TTF в WOFF? Этот преобразователь работает быстро. Процесс занимает всего несколько секунд.
- Безопасно ли использовать приложение? Конечно! Ссылка для скачивания полученного файла будет доступна сразу после конвертации. Мы удаляем загруженные файлы через 24 часа, после чего ссылка перестает работать. Никто не имеет доступа к вашим файлам. Преобразование шрифтов абсолютно безопасно.
- Могу ли я конвертировать шрифты в Linux, Mac OS или Android? Да, вы можете бесплатно использовать наш конвертер в любой операционной системе, в которой есть веб-браузер.
Он работает онлайн и не требует установки какого-либо программного обеспечения.
Быстрая и простая конвертация
Выберите формат, из которого вы хотите конвертировать, и формат, в который вы хотите конвертировать. Загрузите свой шрифт и нажмите кнопку «Конвертировать». Вы получите ссылку для скачивания, как только файл будет конвертирован.
Преобразование откуда угодно
Работает на всех платформах, включая Windows, Mac, Android и iOS. Все файлы обрабатываются на наших серверах. Для вас не требуется установка плагинов или программного обеспечения.
Качество преобразования
Преобразование выполняется с использованием API-интерфейсов Aspose, которые используются многими компаниями из списка Fortune 100 в 114 странах.
© Aspose Pty Ltd 2001-2022. Все права защищены.
- Политика конфиденциальности
- Условия использования
- Контакты
JavaScript отключен
шрифтов — Преобразование TTF в WOFF
спросил
Изменено
1 год, 8 месяцев назад
Просмотрено
19 тысяч раз
Я пытался преобразовать TTF в WOFF, используя различные инструменты командной строки и онлайн. Я пробовал следующее:
Командная строка:
- sfntwoff: https://people-mozilla.org/~jkew/woff/
- ttf2woff: http://wizard.ae.krakow.pl/~jb/ttf2woff/
- рубиновый драгоценный камень: https://coderwall.com/p/kyc8lw/convert-fonts-from-the-command-line
Онлайн:
- белка шрифта: https://www.
fontsquirrel.com/tools/webfont-generator
- трансфонтер: http://transfonter.org/
У меня есть файл ttf размером ~220 КБ. Все эти инструменты генерируют файл woff размером около 100 КБ, за исключением font-squirrel, который создает оптимизированный по размеру файл размером около 20 КБ.
Мне любопытно, что делает font-squirrel, чего не может сделать ни один другой инструмент командной строки (читай с открытым исходным кодом). И если возможно, как я могу сделать то же самое через командную строку, даже если это потребует написания или взлома некоторого кода.
- шрифты
- truetype
- woff
Я использую программу Джонатана Кью sfnt2woff и поражен, увидев, насколько малы файлы .woff.
Я не мог поверить, что сжатие без потерь. Таким образом я пробовал:
sfnt2woff CharisSIL-R.ttf woff2sfnt CharisSIL-R.woff > CharisSIL-R_converted.ttf cmp CharisSIL-R.ttf CharisSIL-R_converted.ttf эхо $?
в соответствии с cmp(1) нет никакой разницы между шрифтом, преобразованным в woff и обратно в ttf, и исходным файлом ttf.
3
Простое сжатие WOFF должно привести к очень похожим размерам файлов, независимо от используемого инструмента.
Я ожидаю, что Font Squirrel делает больше, чтобы учесть эту дополнительную экономию 80 КБ, например, удаление подсказок, удаление функций OpenType, таких как капитель, или подмножество для поддержки только западных языков.
Вы можете использовать TTX/FontTools для проверки файлов до и после преобразования и посмотреть, что изменилось.
1
Вы можете использовать веб-сайт Fontdrop, чтобы сравнить исходный набор шрифтов с новым, созданным FontSquirrel. В моем случае преобразованный набор шрифтов поддерживал 64 языка по сравнению с 99 языками в исходном файле. Кроме того, в конвертированной версии было меньше функций, чем в оригинале.
Информация, предоставленная Fontdrop, вероятно, поможет вам принять решение, достаточно ли вам преобразованного набора из FontSquirrel или вам следует попробовать другой инструмент преобразования.