[fpc-devel] Unicode functions

Graeme Geldenhuys graemeg.lists at gmail.com
Tue Aug 26 11:44:01 CEST 2008

On 8/26/08, Daniƫl Mantione <daniel.mantione at freepascal.org> wrote:
> > defined as a word (2 bytes), so that means it's only UCS2 compliant
> > and not full Unicode UTF-16 (which is what we want).
>  For uppercasing/lowercasing it is correct to define a Unicode char as 2
> bytes.

Lets not limit ourselves again! Lets plan ahead this time.  After all,
I'm busy learning Klingon [wink], which falls outside the BMP range.
UCS2 or word size is limited to the BMP only.

>  The code is simple: If the char is in [#0..#255], it does a normal upcase,
> otherwise it sets the least significant  bit to zero. Seems not correct to
> me.

Hence the reason I say I don't understand the code...

I spoke to Martin (from MSEgui). He uses the underlying OS to do the
case conversion, but I don't know if that's the way to go, or how
portable that is (MSEgui only supports Linux and Windows).  It would
be nice if the lookup tables could be used by frameworks that use
UTF-8 encoding as well (Lazarus LCL and fpGUI for a start).

  - Graeme -

fpGUI - a cross-platform Free Pascal GUI toolkit

More information about the fpc-devel mailing list