font-format.layout.text-format |
Значение TextFormat |
Передавайте слот Font, битовую маску FontFlag и неотрицательное число SkipLines в TextFormat. |
Экспортируемый тип имеет фиксированную 12-байтную раскладку, используемую измерением и отрисовкой. |
Source/Client/FontManager.h |
font-format.layout.wrap-overflow |
Переполнение ширины и перенос |
При конечной ширине обычная компоновка переносит по последнему пробелу или табуляции и вставляет разрыв перед слишком длинным токеном, когда точки разрыва нет. |
Компоновка изменяет свою кэшированную копию текста, задавая границы строк, но не меняет исходную строку вызывающего кода. |
Source/Client/FontManager.cpp |
font-format.layout.no-wrap-and-truncate |
NoWrap и TruncateLine |
NoWrap завершает отрисовку при первом переполнении; TruncateLine удаляет переполняющие глифы до следующего авторского перевода строки. |
Эти флаги намеренно выбирают разное поведение потери текста и не являются синонимами. |
Source/Client/FontManager.cpp |
font-format.layout.horizontal-alignment |
Горизонтальное выравнивание |
CenterX и AlignRight независимо размещают каждую строку в прямоугольнике; не сочетайте противоречащие флаги выравнивания. |
Начальная и каждая следующая после перевода строки координата X пересчитывается по измеренной ширине этой строки. |
Source/Client/FontManager.cpp |
font-format.layout.vertical-alignment |
Вертикальное выравнивание |
CenterY центрирует видимый блок, а AlignBottom размещает его у низа прямоугольника с учётом LineHeight и YAdvance. |
Вертикальное положение зависит от числа помещающихся строк, а не от длины исходной строки в байтах. |
Source/Client/FontManager.cpp |
font-format.layout.skip-lines-and-tail |
SkipLines и KeepTail |
SkipLines обычно удаляет начальные строки, а с AlignBottom конечные; KeepTail отбрасывает начальное переполнение, сохраняя новые видимые строки. |
Механизмы обслуживают постраничный вывод и хвост журнала, но используют разные счётчики и условия переполнения. |
Source/Client/FontManager.cpp |
font-format.layout.justification |
Выравнивание по ширине |
Justify распределяет остаток конечной ширины по доступным для разрыва пробелам перенесённых и не пропущенных строк. |
Табуляции фиксированы на четырёх SpaceWidth и не участвуют в выравнивании по ширине. |
Source/Client/FontManager.cpp |
font-format.layout.utf8-and-missing-glyphs |
UTF-8 и отсутствующие глифы |
Добавляйте каждую требуемую кодовую точку Unicode; некорректный UTF-8 и отсутствующие глифы не занимают ширину и не отображают запасной символ. |
Компоновка сопоставляет некорректные последовательности с кодовой точкой ноль, а неизвестные точки с нулевым продвижением; отрисовка пропускает отсутствующие записи. |
Source/Client/FontManager.cpp |
font-format.layout.measurement |
Измерение соответствует компоновке |
Используйте Game.GetTextInfo и функции строк с тем же прямоугольником и TextFormat, что и при отрисовке, но не выводите обрезку NoWrap только для отрисовки из измерений. |
Измерение и отрисовка используют GetOrFormat, пропуски, метрики строк и масштаб привязки; обрезка NoWrap намеренно включена только в режиме Draw. |
Source/Client/FontManager.cpp, Source/Scripting/ClientGlobalScriptMethods.cpp |