Subject: Short character ids are "passwords" of internationalization

From: ALB <[email-masked]>
Date: Tue, 7 Jan 1992 00:33 GMT

:From: [email-masked] (Walt Daniels)
:
:>If o/ denotes o-with-stroke I could write:
:>
:>          if (c == '\<o/>') ....
:>Keld
:That looks like a perfectly legal character string without any
:mneumonic interpretation.  How do you distinguish?  I presume you add
:a new character to those whose escaping has a special significance, but
:it is certainly not a compatible change.

This is but one application. Of course it requires sender and recipient
multual agreement on the delimiter. If I understand correctly, the
mnemonics does not automatically include the "<" and ">" pair (or correct
me if I am wrong): these are the default symbolic delimiters. The issue is
that there are character identifiers (their names) which are: 1) much too long
(some exceed a screen width of 80 characters to express a single graphic
character); 2) an unique id (ideally, short, mnemonic, with no linguistic
bias) using the portable character set only is required to transfer meaning
of characters everywhere (even here on this network), whatever the coding.
Unless we use the universal character set itself (which is not possible here
for example, character meaning must be preserved, and as economically as
possible - why use 82 characters to describe a single Greek character for
example). If there are other ways, they remain to be found. If there is no
other, then to negate such a process is negating a need to which there is
a simple and straightforward solution.

:Besides which the "trend" is supposed to be to write internationalized
:programs, instead of localized programs.  One of the rules of
:internationalized programs is that literal strings must be in message
:catalogs or some such.

What if the message catalog is in the universal character set and it
must be ported to EBCIC 037 CECP? to IBM code page 850? to IBM code page 437?
to ISO 646 (which has no more than 94 characters)? to HP Roman-8?
How do you preserve data integrity, with no proprietary architectured software?
Who defines the conventions? ISO I guess and this is a really simple
convention, which does not mean the program is localized. It is built to
preserve data integrity, given the constraints of unknown features of
undetermined environments.

An internationalized program is a program that adapts without fault to the
country where it is implemented, not an old program we don't want to change
and that is accommodated by loose standards that only force all country's
acceptance of narrow designs of the past. Now this is of course easier to say
than to realize. But I think this leads us to also deal with the past without
jeopardizing the future's ability to be more state-of-the art-oriented.

                   Alain LaBont<e'>