Я пытаюсь выровнять текст по центру, который я должен нарисовать. я использую ID2D1RenderTarget :: DrawTextLayout метод. Проблема в том, что если я установлю горизонтальное выравнивание текста на DWRITE_TEXT_ALIGNMENT_LEADING
(значение по умолчанию) текст рисуется не совсем правильно, но если я изменю это значение на DWRITE_TEXT_ALIGNMENT_CENTER
текст смещен вправо.
Пример строки
Internal Amazing
Scupper
Ниже приведены результаты (первый — выравнивание ведущих):
Мой комментарий как ответ (да, угадали :)):
Просто быстрое предположение: вы проверили, что максимальная ширина вашего макета коробки
не слишком широк, чтобы центр заканчивался там справа?
IDWriteTextLayout
использован ID2D1RenderTarget::DrawTextLayout
Метод определяет максимальную ширину поля макета, который определяет, где текст центрируется. Это может быть изменено методы интерфейса (GetMaxWidth а также SetMaxWidth).