История изменений
Исправление static_lab, (текущая версия) :
DeepSeek:
Типичный пайплайн отображения текста в современном приложении (браузер, текстовый редактор, ОС) выглядит так:
-
Приложение получает строку Unicode-текста, которую нужно отобразить.
-
HarfBuzz получает эту строку и информацию о шрифте.
-
HarfBuzz выполняет шейпинг:
-
Обращается к FreeType (или другой библиотеке), чтобы загрузить метрики шрифта и информацию о доступных глифах.
-
На основе правил для данного языка/шрифта преобразует строку символов в последовательность идентификаторов глифов (glyph id) и их позиций.
-
-
HarfBuzz возвращает результат: массив глифов (их ID) и массив позиций для каждого глифа.
-
Приложение (или движок рендеринга) для каждого глифа из массива:
- Обращается к FreeType, чтобы растеризовать этот конкретный глиф (по его ID) в bitmap.
-
Приложение рисует полученные bitmap’ы на экране в рассчитанных HarfBuzz позициях.
Исходная версия static_lab, :
DeepSeek описывает так:
Типичный пайплайн отображения текста в современном приложении (браузер, текстовый редактор, ОС) выглядит так:
-
Приложение получает строку Unicode-текста, которую нужно отобразить.
-
HarfBuzz получает эту строку и информацию о шрифте.
-
HarfBuzz выполняет шейпинг:
-
Обращается к FreeType (или другой библиотеки), чтобы загрузить метрики шрифта и информацию о доступных глифах.
-
На основе правил для данного языка/шрифта преобразует строку символов в последовательность идентификаторов глифов (glyph id) и их позиций.
-
-
HarfBuzz возвращает результат: массив глифов (их ID) и массив позиций для каждого глифа.
-
Приложение (или движок рендеринга) для каждого глифа из массива:
- Обращается к FreeType, чтобы растеризовать этот конкретный глиф (по его ID) в bitmap.
-
Приложение рисует полученные bitmap’ы на экране в рассчитанных HarfBuzz позициях.