The Interclient Communications Conventions (ICCC) defines
the mechanism used to pass text between clients. Because the system
is capable of supporting multiple code sets, it may be possible
that two applications that are communicating with each other are
using different code sets. ICCC defines how these two clients agree
on how the data is passed between them. If two clients have incompatible
character sets (for example, Latin1 and Japanese (JIS)), some data
may be lost when characters are transported.
However, if two clients have different code sets but compatible
character sets, ICCC enables these clients to pass information with
no data lost. If code sets of the two clients are not identical,
CompoundText encoding is used as the interchange with the COMPOUND_TEXT
atom used. If data being communicated involves only portable characters
(7-bit, ASCII, and others) or the ISO8859-1 code set, the data is
communicated as is with no conversion by way of the XA_STRING
atom.
Titles and icon names need to be communicated to the Window
Manager using the COMPOUND_TEXT
atom if nonportable characters are used; otherwise, the XA_STRING
atom can be used.
Motif, for example, uses its own atoms to transfer textual
data:
_MOTIF_COMPOUND_STRING
transfers data in XmString format.
_MOTIF_RENDER_TABLE
transfers the value of its render table as type STRING
For more information, refer to Motif Widget Writer's
Guide.
Any other encoding is limited to the ability to convert to
the locale of the Window Manager. The Window Manager runs in a single
locale and supports only titles and icon names that are convertible
to the code set of the locale under which it is running.
The Motif library and all desktop clients should follow these
conventions.