Home > Archive > Fortran > September 2005 > Internationalization and Upper-/Lower-Case (was: PL/I Cant create a Upper case functi
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Internationalization and Upper-/Lower-Case (was: PL/I Cant create a Upper case functi
|
|
| William M. Klein 2005-09-13, 6:59 pm |
| "Mark Yudkin" <myudkinATcompuserveDOTcom@boingboing.org> wrote in message
news:43266952$0$1161$5402220f@news.sunrise.ch...
> His code fails to handle accented characters such as German's aöü => ÄÖÜ,
> Spanish ñ => Ñ, etc. As such, his code is totally useless outside of his
> tunnel vision view of the tiny part of the world he lives in (if that).
>
I thought I would start a follow-on thread. I am interested in what other
programming languages to about Upper-/Lower-case issues where there is a 2-to-1
(or vice versa) conversion. The classic case that COBOL had to figure out (when
adding "locale support) was the
German ß ("esszett")
Or cases like French where e, é, and è are USUALLY "capitalized" to E.
Clearly (???) any "translate" facility can do a many to one conversion (such as
the French example) but figuring out what to do if one character such as ß
sometimes (not always) gets capitalized to "SS" if often more of a "challenge".
***
Actually, this is probably NOT a programming language issue, but something that
POSIX, ISO (10646) etc deal with, but I thought I would ask in case either
Fortran or PL/I has "good" solutions to it.
| |
| Tom Linden 2005-09-13, 6:59 pm |
| On Tue, 13 Sep 2005 17:58:31 GMT, William M. Klein
<wmklein@nospam.netcom.com> wrote:
> "Mark Yudkin" <myudkinATcompuserveDOTcom@boingboing.org> wrote in message
> news:43266952$0$1161$5402220f@news.sunrise.ch...
>
> I thought I would start a follow-on thread. I am interested in what
> other
> programming languages to about Upper-/Lower-case issues where there is a
> 2-to-1
> (or vice versa) conversion. The classic case that COBOL had to figure
> out (when
> adding "locale support) was the
>
> German ß ("esszett")
>
> Or cases like French where e, é, and è are USUALLY "capitalized" to E.
>
> Clearly (???) any "translate" facility can do a many to one conversion
> (such as
> the French example) but figuring out what to do if one character such as
> ß
> sometimes (not always) gets capitalized to "SS" if often more of a
> "challenge".
>
> ***
>
> Actually, this is probably NOT a programming language issue, but
> something that
> POSIX, ISO (10646) etc deal with, but I thought I would ask in case
> either
> Fortran or PL/I has "good" solutions to it.
>
>
With our compiler, the COLLATE() bif returns a 256 byte character string,
which as the name implies is the collating sequence for the ASCII character
set and would therfore contain the umlauts and the like. I see no reason
why
couldn't do the same for the EBCDIC character set.
| |
| Mark Yudkin 2005-09-14, 7:57 am |
| These issues are covered by the I18N standard. The URL you want is
http://www.w3.org/International/. It is implemented by many C/C++ runtime
library routines, but is AFAIK, not a part of POSIX per se.
Windows offers APIs at the O/S level that "emulate I18N", but do not follow
their naming convention. Case mapping such as Germany's ß -> SS is handled
by LCMapString for the relevant locale. Note that a locale consists of a
languange (Windows constant: LANG_GERMAN) a region (SUBLANG_GERMAN) and a
sort order. The region is very important: the ß character is not used over
here in Switzerland (SUBLANG_GERMAN_SWISS), which is why I tend to forget
its existence.
"William M. Klein" <wmklein@nospam.netcom.com> wrote in message
news:brEVe.40623$e95.26442@fe08.news.easynews.com...
> "Mark Yudkin" <myudkinATcompuserveDOTcom@boingboing.org> wrote in message
> news:43266952$0$1161$5402220f@news.sunrise.ch...
>
> I thought I would start a follow-on thread. I am interested in what other
> programming languages to about Upper-/Lower-case issues where there is a
> 2-to-1 (or vice versa) conversion. The classic case that COBOL had to
> figure out (when adding "locale support) was the
>
> German ß ("esszett")
>
> Or cases like French where e, é, and è are USUALLY "capitalized" to E.
>
> Clearly (???) any "translate" facility can do a many to one conversion
> (such as the French example) but figuring out what to do if one character
> such as ß sometimes (not always) gets capitalized to "SS" if often more of
> a "challenge".
>
> ***
>
> Actually, this is probably NOT a programming language issue, but something
> that POSIX, ISO (10646) etc deal with, but I thought I would ask in case
> either Fortran or PL/I has "good" solutions to it.
>
>
|
|
|
|
|