XmString
«Составная строка» Motif: непрозрачный текстовый тип, где у каждого сегмента есть тег, выбирающий шрифт и направление письма, и который каждая метка, кнопка и строка списка требует вместо обычной строки C.
Идея — интернационализация до Unicode: подпись кнопки могла смешивать латинский и японский сегменты, у каждого свой тег, а ивритская метка могла объявить себя написанной справа налево. Тег ищется в XmFontList, а с Motif 2.0 — в render table, которая может хранить также цвет, подчёркивание и табуляцию по сегментам, а с Motif 2.3 — указывать на шрифты Xft. На практике почти все брали тег по умолчанию XmFONTLIST_DEFAULT_TAG, а программисты помнят ритуал: XmStringCreateLocalized на каждый литерал, задать ресурс XmNlabelString и не забыть XmStringFree, иначе каждая перерисованная метка теряет несколько байт.
В файлах ресурсов и в UIL строки писались обычным текстом, а Motif преобразовывал их сам. Но в коде на C тип встречается повсюду, и это одна из причин, почему Motif выглядел многословным рядом с более поздними тулкитами, остановившимися на UTF-8 в обычной строке.