Если вы хотите, чтобы структура имела определенный размер с GCC, например, используйте __attribute__((packed))
.
В Windows вы можете установить выравнивание в один байт при использовании cl .exe компилятор с опцией / Zp .
Обычно ЦП получает доступ к данным, который является кратным 4 (или 8), зависящей от платформы, а также от компилятор.
Итак, это вопрос выравнивания в основном.
У вас должны быть веские причины для его изменения.
К сожалению, нет простого пути, не делая полноценное внедрение TextFormatter. Статья MSDN об основах Усовершенствованного TextFormatter:
Текстовое расположение и средства управления UI в WPF обеспечивают свойства форматирования, которые позволяют Вам легко включать форматированный текст в свое приложение. Эти средства управления выставляют много свойств для обработки презентации текста, который включает его гарнитуру, размер и цвет. При обычных обстоятельствах эти средства управления могут обработать большинство текстовой презентации в Вашем приложении. Однако некоторые усовершенствованные сценарии требуют управления текстового устройства хранения данных, а также текстовой презентации. WPF предоставляет расширяемый текст, форматирующий механизм с этой целью.
Вы посмотрели на UIElement. Свойство клипа?
Для непрямоугольного переноса текста Вы могли попытаться установить TextBlock. Свойство клипа к непрямоугольному Геометрическому объекту. Я не попробовал это; или это не нарисует текст вне региона клипа, или это перенесет текст для установки в клипе.
Charles Petzold упоминает эту технику.