Felipe Monteiro de Carvalho wrote 9 lines
Lazarus already supports unicode in Win9x using a "best effort"
approach since months. It's all explained in the wiki:
http://wiki.lazarus.freepascal.org/LCL_Unicode_Support#Guidelines
Nick answered with what can be considered a half true. Win9x do not
understand unicode, but you could convert the string before giving it
to it. Which leads us to consider that the real reason is that
codegear simply does not want to support win9x.
In the wiki it is said that on every function call you should check if a native unicode function
exists and then call it or otherwise the ansi function, after converting the string to the correct encoding.
Why you don't just create wrapper function for win32 which always accept utf-8/16 and call there the
native function
This is a lot easier if a function is used several times (e.g. DrawText).
