COMPOUND_TEXT
Собственная текстовая кодировка X11 для выделений и заголовков окон, построенная на ISO 2022, чтобы одна строка могла посреди текста переключать набор символов, — за десятилетие до того, как UTF-8 сделал это ненужным.
Тип STRING протокола вмещал только Latin-1, а в Токио с ним далеко не уедешь. Поэтому Роберт Шайфлер описал Compound Text для X11R4 в 1989 году: байтовая строка, где escape-последовательности ISO 2022 объявляют, какой набор символов действует дальше, — ISO 8859-7 для греческого, JIS X 0208 для японского, GB 2312 для китайского, — плюс управляющие коды направления письма. ICCCM сделал его стандартным форматом текста, передаваемого между клиентами: программа, владеющая выделением, должна уметь отдать его как COMPOUND_TEXT, а WM_NAME принял тот же тип для заголовков, которые нельзя записать западноевропейскими буквами.
Локальные механизмы Xlib с версии R5 переводили между родной кодировкой программы и Compound Text через XmbTextListToTextProperty, а разбирать формат целиком пытался разве что сам Xlib. Когда в конце 1990-х Жюльюс Хробчек предложил атом UTF8_STRING, EWMH принял его как текстовую форму, а GTK и Qt перешли внутри на UTF-8. Сегодня Compound Text — формат, который современный клиент предлагает последним в списке, для собеседников старше Unicode.