XmString
Motifs „Compound String“: ein opaker Texttyp, in dem jedes Segment ein Tag für Schrift und Schreibrichtung trägt und den jedes Label, jeder Button und jede Listenzeile statt eines gewöhnlichen C-Strings verlangt.
Die Idee war Internationalisierung vor Unicode: Eine Button-Beschriftung konnte lateinische und japanische Segmente mischen, jedes mit eigenem Tag, und ein hebräisches Label konnte sich als rechts-nach-links deklarieren. Das Tag wird in einer XmFontList nachgeschlagen, ab Motif 2.0 in einer Render Table, die pro Segment auch Farbe, Unterstreichung und Tabstopps tragen kann und ab Motif 2.3 auf Xft-Schriften zeigen darf. In der Praxis nahmen fast alle das Standard-Tag XmFONTLIST_DEFAULT_TAG, und im Gedächtnis der Programmierer bleibt das Ritual: XmStringCreateLocalized für jedes Literal, die Ressource XmNlabelString setzen und danach XmStringFree nicht vergessen, sonst leckt jedes neu gezeichnete Label ein paar Bytes. Einen char* zurückzubekommen erforderte XmStringGetLtoR, später XmStringUnparse.
In Ressourcendateien und in UIL wurden die Strings als normaler Text geschrieben und von Motif konvertiert, was der bequeme Weg war. Im C-Code aber ist der Typ allgegenwärtig, und er gehört zu den Dingen, die Motif neben den späteren Toolkits geschwätzig wirken ließen, die sich mit UTF-8 in einem schlichten String begnügten.