[fpc-devel] UnicodeChar and Locale variables don't work
graemeg.lists at gmail.com
Thu Nov 20 15:39:30 CET 2008
How am I supposed to handle unicode characters for locale variables?
All locale variables like ThousandSeparator is type Char and there is
no overloaded UnicodeChar versions. This causes problems in Russian
locales as the example below shows.
c := UnicodeChar($00A0); // non-breaking space character
ThousandSeparator := c;
s := Format('%10.2n', [123456789.123456]);
writeln('Russian style No-break Space char s = ', s);
writeln('SizeOf(UnicodeChar) = ', SizeOf(c));
writeln('SizeOf(ThousandSeparator) = ', SizeOf(ThousandSeparator));
And the output is as follows:
Russian style No-break Space char s = 123�456�789.12
SizeOf(UnicodeChar) = 2
SizeOf(ThousandSeparator) = 1
The ThousandSeparater variable is not big enough to store the
character. Plus, what's going to happen with > BMP characters?
- Graeme -
fpGUI - a cross-platform Free Pascal GUI toolkit
More information about the fpc-devel