winefile: UNICODE

Martin Fuchs fuchs.martin at gmail.com
Sun Jul 3 14:56:07 CDT 2005


> > I thought it would be enough just to use "--ptr" to go back one
> > character in UCS-16 strings. Only MBCS or UTF-8 encoded strings would
> > need such helper functions like CharPrevW()?
> 
> IIRC there are these 'surrogate pairs' in which case just --ptr
> will not work correctly:
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/indexsrv/html/wbrscenario_01df.asp

Thanks for the pointer. I found this web about UTF-16 surrogate pairs
page with translation table even more enlighting:
http://www.i18nguy.com/unicode/surrogatetable.html#jump

Because I'm only using the routine to search for the last dot
character in strings to determine file extensions, there is no
problem. The code for '.' is not present in the surrogate code range.
So just advancing back in the string using pointer decreasing is
enough.

Regards,

  Martin




More information about the wine-devel mailing list