🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.cppbuilder.internationalization
Article #238

Re: Unicode and LoadString

#238
From: Andrue Cope [TeamB]
Date: Thu, 05 May 2005 15:49
50 lines
3388 bytes
kev wrote:

> It should be a simple matter of UNICODE or !UNICODE, but as I look at
> the user groups, I can see that it is not.

Definately not. The entire area of language support is horrendously
complex and convoluted. I'll add that although I have had to play with
it and have a level of understanding I am not an expert. My colleague
knows more about it (he had wrote our own codepage conversion module)
but even he gets confused.

To be fair to Borland the way it implemented the VCL is a perfectly
reasonable and correct solution. It's a shame they didn't choose
Unicode right from the start but they probably had enough to worry
about and it wasn't available in the Win16 API that Delphi 1 ran under.

The problem with Chinese (I believe) is simply that there are too many
characters for any 8-bit character set to handle. As far as I know. I
might be wrong. The way to test that theory is to ask a Chinese user if
they find that some applications use a form of "pigeon" Chinese (ie;a
severely reduced subset of glyphs) rather than the full set.

For alphabetical languages the system works fine. Well actually there
is another limitation that impacts everyone:locality. A machine
configured for UK use will not be able to correctly display Russian
characters using the VCL. This isn't a fault of the VCL just another
drawback of the system. All machines have to choose at boot up what
codepage (ie;alphabet) they will support for 8-bit text. All
conversions from Unicode to 8-bit text will be performed according to
that codepage.

My machine is UK configured so if I try to convert a Unicode string
containing Cryllic to 8-bit text it will produce poor results.

My machine will, however, be able to display Russian text using Unicode
routines but only if the font being used includes Russian characters.
One would assume all Unicode fonts would support Cyrillic but there's
no requirement that they do. Microsoft's Arial Unicode is a very
complete font but a lot of Unicode fonts are woefully incomplete.

> If there is ANY way to use Unicode I MUST do so! Any other tips are
> very much appreciated.

How often do you need to display Unicode strings? We were lucky in that
we only needed to do that in a couple of cases. We were able to use
TextoutW() to the component's canvas.
-- 
Andrue Cope [TeamB]
[Bicester, Uk]
http://info.borland.com/newsgroups/guide.html
Technical Details
Message-ID: <427a407a@newsgroups.borland.com>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!proxad.net!proxad.net!194.117.148.138.MISMATCH!pe2.news.blueyonder.co.uk!blueyonder!news-peer-test!btnet!newsfeed.bt.es!caladan.landsraad.net!newsgroups.borland.com!not-for-mail
References: <427905c4$1@newsgroups.borland.com> <4279d5fd@newsgroups.borland.com> <427a1807$1@newsgroups.borland.com>

Show Full Headers
Complete Article Headers
X-Google-Thread: 10297d,94c782bbe2550585
X-Google-Attributes: gid10297d,public
X-Google-Language: ENGLISH,ASCII-7-bit
From: "Andrue Cope [TeamB]" <no.spam@not.a.valid.address>
Subject: Re: Unicode and LoadString
Newsgroups: borland.public.cppbuilder.internationalization
References: <427905c4$1@newsgroups.borland.com> <4279d5fd@newsgroups.borland.com> <427a1807$1@newsgroups.borland.com>
Date: Thu, 5 May 2005 16:49:49 +0100
User-Agent: XanaNews/1.17.4.1
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
NNTP-Posting-Host: 217.207.223.34
Message-ID: <427a407a@newsgroups.borland.com>
X-Trace: newsgroups.borland.com 1115308154 217.207.223.34 (5 May 2005 08:49:14 -0700)
Lines: 50
X-Authenticated-User: acope
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!proxad.net!proxad.net!194.117.148.138.MISMATCH!pe2.news.blueyonder.co.uk!blueyonder!news-peer-test!btnet!newsfeed.bt.es!caladan.landsraad.net!newsgroups.borland.com!not-for-mail