I should switch the unicode compare ervice to using CompareString
(http://msdn.microsoft.com/en-us/library/ms647476%28VS.85%29.aspx)

(it now uses wcscmpi, which isn't aware of surrogate pairs and suchlike).

CompareString comes with a bunch of baggage:

-- a bunch of flags, which I can code into keywords

-- a locale, which can be 

   LOCALE_SYSTEM_DEFAULT
   LOCALE_USER_DEFAULT
   LOCALE_NEUTRAL
   LOCALE_INVARIANT

which again I can handle with keywords.  What I can't do easily is handle the 
other possibility for locales, which is to specify an arbitrary one e.g. 
LANG_GALICIAN, SUBLANG_GALICIAN_GALICIAN: only way I can do that is do a 
string-to-constant mapping for every possible language, and that seems a bit 
over the top...



Reply via email to