XmString
De "compound string" van Motif: een ondoorzichtig teksttype waarin elk segment een tag draagt die lettertype en schrijfrichting kiest, en dat elk label, elke knop en elke lijstrij eist in plaats van een gewone C-string.
Het idee was internationalisering vóór Unicode: het opschrift van een knop kon Latijnse en Japanse segmenten mengen, elk met een eigen tag, en een Hebreeuws label kon zichzelf als rechts-naar-links aanmerken. De tag wordt opgezocht in een XmFontList, of vanaf Motif 2.0 in een render table, die per segment ook kleur, onderstreping en tabstops kan bevatten en die vanaf Motif 2.3 naar Xft-lettertypen kan wijzen. In de praktijk gebruikte bijna iedereen de standaardtag XmFONTLIST_DEFAULT_TAG, en wat programmeurs zich herinneren is het ritueel: XmStringCreateLocalized op elke literal, de resource XmNlabelString instellen, en daarna XmStringFree niet vergeten, anders lekt elk opnieuw getekend label een paar bytes. Een char* terugkrijgen vergde XmStringGetLtoR, later XmStringUnparse.
In resourcebestanden en in UIL werden de strings als gewone tekst geschreven en door Motif omgezet, wat de comfortabele route was. Maar in C-code zit het type overal, en het is een van de dingen die Motif uitgebreid maakten naast de latere toolkits die zich met UTF-8 in een gewone string tevredenstelden.