2012/12/2 Dmitry Timoshkov dmitry@baikal.ru:
Why don't you put it in libs/wine where other unicode conversion routines are implemented?
Before I started this project I asked where to put the functions: http://www.winehq.org/pipermail/wine-devel/2012-January/093705.html
I received no reply, so I put them in libwine. Then I was told to move them to kernel32: http://www.winehq.org/pipermail/wine-devel/2012-July/096531.html
Also you probably need to add support for composition/ surrogates like other implementations do.
MSDN states:
"Starting with Windows Vista, this function fully conforms with the Unicode 4.1 specification for UTF-8 and UTF-16. The function used on earlier operating systems encodes or decodes lone surrogate halves or mismatched surrogate pairs. Code written in earlier versions of Windows that rely on this behavior to encode random non-text binary data might run into problems. However, code that uses this function on valid UTF-8 strings will behave the same way as on earlier Windows operating systems." http://msdn.microsoft.com/en-us/library/windows/desktop/dd319072%28v=vs.85%2...
My implementation is modeled after Windows XP (Wine's default target Windows version), which encodes and decodes arbitrary character sequences without normalization. I saw that my submission has already been marked "rejected"--was this why?
-Alex