From arnet@hpcupt1.cup.hp.com Wed Jan  8 23:25:35 1992
Received: from relay.hp.com by dkuug.dk via EUnet with SMTP (5.64+/8+bit/IDA-1.2.8)
	id AA06176; Wed, 8 Jan 92 23:25:35 +0100
Received: from hpcupt1.cup.hp.com by relay.hp.com with SMTP
	(16.6/15.5+IOS 3.13) id AA19872; Wed, 8 Jan 92 11:26:43 -0800
Received: by hpcupt1.cup.hp.com
	(16.6/15.5+IOS 3.20) id AA29131; Wed, 8 Jan 92 11:26:40 -0800
Date: Wed, 8 Jan 92 11:26:40 -0800
From: Arne Thormodsen <arnet@hpcupt1.cup.hp.com>
Message-Id: <9201081926.AA29131@hpcupt1.cup.hp.com>
To: i18n@dkuug.dk, wg14@dkuug.dk
Subject: Re: support for symbolic character names
Cc: arnet@hpcupt1.cup.hp.com
X-Charset: ASCII
X-Char-Esc: 29

>          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

