[Lazarus] Making sources compatible with Delphi (but Lazarus is priority)

Michael Van Canneyt michael at freepascal.org
Fri May 5 12:01:47 CEST 2017



On Fri, 5 May 2017, Ondrej Pokorny via Lazarus wrote:

> On 05.05.2017 11:23, Michael Van Canneyt via Lazarus wrote:
>> Yes, this somewhat alleviates the problem; but this still is a 
>> single-byte TStrings, as opposed to the WideString
>> TStrings of Delphi. It's also still a single-byte filename argument.
>
> Yes but you forget that unicode is also single-byte UTF-8. And the 
> greatest thing about FPC: it fully supports "DefaultSystemCodePage := 
> CP_UTF8".
>
> Therefore you don't need WideString/UnicodeString file arguments and 
> UnicodeString-TStrings to have full unicode support in current FPC.
>
> Just use "DefaultSystemCodePage := CP_UTF8" and every single-byte string 
> is unicode enabled.
>
> Believe me, I use it in production without any problems: I have 
> unicode-aware TStrings, I can read files with unicode names, I can do 
> everything with plain FPC trunk.

I am aware of this, I do it myself. 
But I work on Linux, where UTF8 is the norm.

So I cannot vouch for other platforms...

>
> I don't need a 100% UTF-16 Delphi-Compatible RTL for that at all.

This is the crux of the problem. 
Is this wanted/needed or do we stick to UTF8 ?

We claim Delphi compatibility. 
So IMHO we must provide a UTF-16 Delphi compatible RTL.

Michael.


More information about the Lazarus mailing list