Поднабор шрифта

Что такое подмножество шрифтов

Подмножество шрифта — это процесс извлечения определенных символов из файла шрифта. Однако эти символы могут быть представлены несколькими глифами. Этот момент мы поясним далее.

Как было сказано в статье про glyphs, файл шрифта включает в себя так называемый glyphsets. Их размер сильно различается и может составлять более 5000 символов. С помощью подмножества вы можете создать файл только из нескольких из них.

Зачем вам нужно создавать подмножество?

Давайте опишем ситуации, когда подмножество принесет вам некоторую пользу.

Упрощенное изображение подмножества шрифтов

Таким образом, логотип, созданный в подмножестве Dancing Script, будет выглядеть следующим образом.

Логотип из символов сгенерированного подмножества

Подмножество веб-шрифта

Веб-шрифты состоят из двух важных частей. Это символы (буквы, цифры, знаки препинания) и элементы открытого типа. Символы размещаются в определенных блоках в зависимости от их функциональности или языка. Каждый из них имеет свой собственный код (Юникод), сопоставленный с шестнадцатеричным числом. Функции открытого типа больше относятся к глифам (вариантам этих символов).

Веб-шрифт — это один из форматов, созданный специально для веб-проектов, страниц, сайтов и т. д. Он предназначен для правильного отображения текста в браузерах и уменьшения веса страницы. Подробнее о шрифтах WOFF и WOFF2 вы можете узнать из статьи, в которой рассказывается о форматах шрифтов.

Некоторые, говоря о веб-шрифтах, также упоминают такой термин, как шрифт HTML. Этот термин относится к наличию одного или нескольких запасных вариантов на случай, если ваш шрифт не удастся отобразить в каком-либо браузере. Веб-шрифт HTML использует веб-шрифт, установленный на устройстве пользователя, в качестве резервного варианта.

Когда речь идет о подмножестве веб-шрифтов, у него могут быть и другие преимущества:

Как создать подмножество шрифтов с помощью Aspose?

Существует много способов создать подмножество шрифтов. Некоторые из них являются программными способами, а некоторые — просто настольными или онлайн-приложениями.

Кроссплатформенное приложение подмножества шрифтов

Будучи экспертом в управлении шрифтами среди множества различных полезных решений, Aspose.Font также предлагает кроссплатформенное приложение, которое может помочь вам создать подмножество вашего шрифта.

Функционал довольно простой. С его помощью вы можете объединить глифы из нескольких файлов шрифтов в один или просто создать гораздо меньший и более четкий файл. Вы можете выбрать строчные буквы, цифры, знаки препинания или ввести необходимые символы. Он поддерживает форматы TTF, WOFF, EOT, CFF и Type 1.

Давайте представим, что мы хотим, чтобы наш логотип был составлен из букв шрифта Abel Regular. Файл у него не такой уж и большой, всего 35 Кб. и содержит всего 259 глифов, но мы все же хотим сделать его как можно меньшим.

Выбор необходимых символов из шрифта

После загрузки шрифта с устройства или держателя можно выбрать нужные символы. Для нашего логотипа нам понадобится всего 9 из них.

При необходимости есть несколько кнопок, которые ускоряют процесс: вы можете выбирать прописные или строчные буквы, цифры, математические символы или знаки препинания одним щелчком мыши.

Поднастройка параметров приложения

Через мгновение вы сможете скачать результат. В нашем случае размер сгенерированного файла шрифта составляет 2 КБ. Итак, у нас есть файл в 15 раз меньший. Давайте сравним два документа, используя приложение Viewer.

Сравнение двух файлов шрифтов

Как вы могли заметить, количество символов в сгенерированном файле равно 10, а не 9, как нам нужно для нашего логотипа. Ответ на это несоответствие содержится в вышеупомянутом тезисе о том, что один иероглиф может быть представлен несколькими глифами. Судя по всему, одна из букв или символ точки имеет другой вариант внешнего вида.

Итак, очевидно, что с файлом гораздо большего размера вы можете получить гораздо более заметные результаты. Это почему-то кажется таким же полезным, как сжатие контента (текстовых файлов, изображений) архивами, но по сравнению со сжатием качество символов подмножества ни капельки не меняется.

Лицензионные ограничения, связанные с подмножеством шрифтов

Когда дело доходит до разделения шрифтов, очень важно помнить об ограничениях лицензирования, связанных с использованием шрифтов. Условия лицензирования шрифтов могут различаться в зависимости от разработчика шрифта или дизайнера. Давайте рассмотрим общие соображения относительно лицензионных ограничений при разделении шрифтов:

Создание ИИ-агента для субсеттинга шрифтов

Основная инженерная задача — создать конвейер, в котором ИИ может принимать поток текстового контента в реальном времени или запрос на брендинг, динамически сопоставлять требуемые массивы символов с собственными кодовыми точками Unicode, внедрять защитные резервные символы (такие как .notdef) и компилировать высокосжатый веб-контейнер шрифта с помощью Aspose.Font для .NET.

Пошаговый рабочий процесс реализации агента

  1. Извлечение контента и сбор символов (ядро LLM) Пользователь предоставляет промпт, блок компонентов пользовательского интерфейса или определенный текст брендинга (например, «Создайте оптимизированное подмножество веб-шрифтов для заголовка нашей целевой страницы, использующее строку “ASPOSE.FONT”»). LLM анализирует исходный поток символов, изолирует уникальные символы и преобразует строки в упорядоченный список различных кодовых точек Unicode, удаляя дубликаты.

  2. Пометка критических и резервных (fallback) глифов Чтобы результирующий набор шрифтов не приводил к сбоям в работе современных движков рендеринга или процессоров макетов браузера, системы структурного контроля должны быть явно настроены вместе с пользовательским списком подмножества. Агент инициализирует собственный процесс Font.Load для сопоставления исходного бинарного файла. Он автоматически помечает индикаторы структурного резервного копирования (PreserveDefaultGlyphs = true) для привязки стандартных системных символов, таких как .notdef и .null, обеспечивая структурную стабильность.

  3. Фабрика оптимизации и матрица параметров (уровень проверки) Агент строит матрицу профиля оптимизации на основе ограничений среды вывода. ИИ создает программный объект конфигурации FontSubsetOptions:

  1. Синтез и кодирование подмножества (узел выполнения) Оптимизированный профиль передается непосредственно в буфер памяти основного файла для вывода минимизированного кроссплатформенного файла шрифта. Агент запускает sourceFont.Subset(subsetOptions), выводя оптимизированный экземпляр шрифта. Он сохраняет файл через FontSavingFormats в веб-совместимые форматы (WOFF2, WOFF или TTF) и передает оптимизированный веб-шрифт непосредственно в конвейер развертывания.

В статье здесь описывается одно из многих приложений для управления шрифтами. Чтобы увидеть, что еще мы можем предложить для этой цели, перейдите на Приложения шрифтов, где вы найдете онлайн-конвертеры, просмотрщики, слиятели, различные генераторы и многое другое.