COMPOUND_TEXT
Le codage de texte maison de X11 pour les sélections et les titres de fenêtres, bâti sur ISO 2022 pour qu'une même chaîne puisse changer de jeu de caractères en cours de route — une dizaine d'années avant que l'UTF-8 ne rende cela superflu.
Le type STRING du protocole ne contenait que du Latin-1, ce qui ne menait pas très loin à Tokyo. Robert Scheifler a donc spécifié Compound Text pour X11R4 en 1989 : une chaîne d'octets où des séquences d'échappement ISO 2022 annoncent quel jeu de caractères s'applique à partir de là — ISO 8859-7 pour le grec, JIS X 0208 pour le japonais, GB 2312 pour le chinois — avec en prime des codes de contrôle pour le sens d'écriture. ICCCM en a fait le format standard du texte échangé entre clients : un programme qui détient une sélection doit pouvoir la fournir en COMPOUND_TEXT, et WM_NAME a adopté le même type pour les titres impossibles à écrire avec des lettres d'Europe occidentale.
Le mécanisme de locales de Xlib, à partir de R5, traduisait entre l'encodage natif d'un programme et Compound Text avec XmbTextListToTextProperty, et presque personne en dehors de Xlib n'a jamais tenté d'analyser le format en entier. Quand Juliusz Chroboczek a proposé l'atome UTF8_STRING à la fin des années 1990, EWMH l'a retenu comme forme de texte, et GTK comme Qt sont passés à l'UTF-8 en interne. Aujourd'hui, Compound Text est le format qu'un client moderne propose en dernier dans sa liste, à l'intention des pairs antérieurs à Unicode.