LINUX.ORG.RU

История изменений

Исправление static_lab, (текущая версия) :

DeepSeek:

Типичный пайплайн отображения текста в современном приложении (браузер, текстовый редактор, ОС) выглядит так:

  1. Приложение получает строку Unicode-текста, которую нужно отобразить.

  2. HarfBuzz получает эту строку и информацию о шрифте.

  3. HarfBuzz выполняет шейпинг:

    • Обращается к FreeType (или другой библиотеке), чтобы загрузить метрики шрифта и информацию о доступных глифах.

    • На основе правил для данного языка/шрифта преобразует строку символов в последовательность идентификаторов глифов (glyph id) и их позиций.

  4. HarfBuzz возвращает результат: массив глифов (их ID) и массив позиций для каждого глифа.

  5. Приложение (или движок рендеринга) для каждого глифа из массива:

    • Обращается к FreeType, чтобы растеризовать этот конкретный глиф (по его ID) в bitmap.
  6. Приложение рисует полученные bitmap’ы на экране в рассчитанных HarfBuzz позициях.

Исходная версия static_lab, :

DeepSeek описывает так:

Типичный пайплайн отображения текста в современном приложении (браузер, текстовый редактор, ОС) выглядит так:

  1. Приложение получает строку Unicode-текста, которую нужно отобразить.

  2. HarfBuzz получает эту строку и информацию о шрифте.

  3. HarfBuzz выполняет шейпинг:

    • Обращается к FreeType (или другой библиотеки), чтобы загрузить метрики шрифта и информацию о доступных глифах.

    • На основе правил для данного языка/шрифта преобразует строку символов в последовательность идентификаторов глифов (glyph id) и их позиций.

  4. HarfBuzz возвращает результат: массив глифов (их ID) и массив позиций для каждого глифа.

  5. Приложение (или движок рендеринга) для каждого глифа из массива:

    • Обращается к FreeType, чтобы растеризовать этот конкретный глиф (по его ID) в bitmap.
  6. Приложение рисует полученные bitmap’ы на экране в рассчитанных HarfBuzz позициях.