Subject: Re: support for symbolic character names

From: Arne Thormodsen <[email-masked]>
Date: Wed, 8 Jan 92 11:26:40 -0800

>          Re: (SC22WG14.165)
>          Re: support for symbolic character names

Keld comments:

>The mechanism is to support portability of international C programs.
>Consider a text with my name in it, Keld J|rn Simonsen.
>The | looks fine on my terminal, but probably not on yours.
>It is a lowercase-o-with-stroke. If I want to write a portable
>program, which tests for this letter, then it is very difficult.

I disagree that Keld's proposed function mapping symbolic names to
character codes, or implicit support of symbolic names in a compiler,
will help in writing a portable program.  I think that the proposed
function is useful, but in a different context than portability.

The way to write a portable program is to have no character data
embedded in the program at all.  All text should be external to the
source code.  As has been pointed out already (by Sekiguchi-san) you
can't assume the existance of a character on a system in the first
place, so how can you assume that you can use a given symbolic name in
the source of a program.  This is a more fundamental problem than any
mapping function can solve.

Having said this, I still think that the ability to map symbolic names
to code points will be very important to writers of non-portable,
system-specific programs such as locale definition compilers, message
catalog translation utilities, etc.  However, this functionality should
not be "sold" as portability functionality, but rather more like "iconv",
which is a standard interface to system-specific data/functionality.

--arne

Arne Thormodsen
NSG Internationalization