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 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