Документация
Docs/ru/reference/font-format/rendering.md
Контракт отрисовки шрифтов
Сгенерированный справочник. Не редактируйте его напрямую. Обновите
BuildTools/FontFormatInterface.json, затем выполнитеpython BuildTools/docs_font_format.py --write.
| Индекс | Форматы | FOFNT | BMFont | Привязка | Компоновка | Отрисовка | Проверка | Канонический JSON | Руководство |
| Стабильный ID | Правило | Требование | Причина | Источник |
|---|---|---|---|---|
font-format.rendering.one-pixel-sampling-border |
Однопиксельная рамка выборки | Оставляйте не менее одного пикселя корректного прозрачного отступа вокруг каждого прямоугольника глифа и по краю изображения. | Координаты текстуры и передаваемые quad расширяют каждый видимый глиф на один пиксель со всех сторон. | Source/Client/FontManager.cpp |
font-format.rendering.grayscale-tint |
Нормализация серого и тонирование | Используйте завершающий * в FOFNT Image или бинарный BMFont, когда растр должен нормализоваться в средне-серый и тонироваться цветом отрисовки. | RGB непрозрачных пикселей становится 128/128/128 при сохранении альфа-канала; прозрачные пиксели очищаются. | Source/Client/FontManager.cpp |
font-format.rendering.bordered-copy |
Копия атласа с обводкой | Резервируйте прозрачный отступ для однопиксельного чёрного расширения; FontFlag::Bordered выбирает сгенерированную вторую текстуру. | Загрузчик дублирует изображение и заполняет прозрачных соседей видимых пикселей до расчёта UV обводки. | Source/Client/FontManager.cpp |
font-format.rendering.bind-time-resampling |
Уменьшение усреднением площади | Ожидайте, что defaultScale ниже единицы один раз перепишет область привязанного атласа и целочисленные метрики, без масштаба шрифта для виджета. | Масштабировщик использует усреднение площади с весом альфа-канала, очищает исходный прямоугольник и сохраняет верхнюю левую позицию. | Source/Client/FontManager.cpp |
font-format.rendering.font-effect |
Общий эффект и эффект слота | Шрифты начинают с общего эффекта Engine; переопределение EffectType::Font для слота заменяет его, а null возвращает общий эффект. | Ключ пакетирования отрисовки включает выбранную текстуру и указатель RenderEffect. | Source/Client/FontManager.cpp, Source/Client/Client.cpp |
font-format.rendering.inline-color |
Встроенные теги цвета | Используйте @color:BBGGRR@ или @color:AABBGGRR@ с необязательным 0x для добавления цвета и @color@ для возврата предыдущего; NoColorize удаляет корректные теги без их применения. | Форматирование удаляет корректные маркеры до переноса и записывает переходы цвета по смещению байтов результата. | Source/Client/FontManager.cpp |
font-format.rendering.layout-cache |
Кэш компоновки на три кадра | Не полагайтесь на идентичность или срок жизни кэша; ключ включает текст, шрифт, флаги, пропуски, размер прямоугольника, цвет и режим, а запись истекает после трёх неиспользованных кадров. | Кэш является деталью реализации клиента и очищается при сохранении или удалении шрифтов. | Source/Client/FontManager.cpp |