[fpc-devel] Unicode support - for the 20th time... ;-)
daniel.mantione at freepascal.org
Thu Nov 20 10:50:08 CET 2008
Op Thu, 20 Nov 2008, schreef Graeme Geldenhuys:
> On Thu, Nov 20, 2008 at 11:28 AM, Daniël Mantione
> <daniel.mantione at freepascal.org> wrote:
>> These instructions are highly unproductive. Work on being able to compile
>> the RTL in either ansi/unicode depending on the platform has started.
>> Full Unicode support is for FPC 2.4.
> Well, that's the first I heard of it. Last time I checked, there was
> no clear decision as to what design/implementation to follow? So
> where is the finalized design spec / wiki page etc, so I can see where
> I can help?
> If you read Marco's PDF, there are a few ideas for Unicode
> implementation, and a few weeks ago, it seems nothing has changed.
> Everybody seems to have there own ideas.
Marco's PDF was written prior to the Delphi 2009 information and not
really updated. People still have a bit different ideas, but it is clear
what needs to be done. As you may know, the UTF-16 string is already
implemented in 2.3, no one disputes its need. No one disputes the need for
a Delphi 2009 compatible ansistring.
While not everything has been settled yet, things are moving in a certain
>> If you need it today, widestrings are
>> your best option.
> At the moment I use UTF-8 and standard String type - as implemented in
> fpGUI. So I'm okay for now with our current projects, but there are
> still many outstanding issues and pitfalls (as my earlier example
>> If you want to help, we need to implement the Delphi 2009 encoding aware
>> string type, both runtime support as well as the compiler support.
> Well considering that I don't have a copy of Delphi 2009 and don't
> want to fall into the same trap as before - where FPC had copyrighted
> code in the RTL, I would prefer to look at the design guidelines /
> spec as set out by the core FPC team. Where can I get hold of such a
> document or information?
No document exists.
There will be Delphi 2009 styled ansistrings with the encoding as part of
the type information. You can view how it works from the published
The rtl is being adapted so that it can be compiled with the desired
string type, i.e. ansi, utf8string or utf16string. What platforms will get
a utf8 or utf16 string as default has not been decided yet.
More information about the fpc-devel