From: Peter Constable (petercon@microsoft.com)
Date: Wed Apr 07 2004 - 03:52:00 EDT
There's some discussion of support for supplementary-plane characters in
WinXP at
http://www.microsoft.com/globaldev/DrIntl/columns/018/default.mspx.
There are also slide decks from some relevant presentations at
http://www.microsoft.com/globaldev/reference/presentations/23rd_Unicode_
Conf.mspx
> Worse, most 3rd party win32 apps that process strings either treat
them
> as arrays of wchars or use CharNext/CharPrev, which don't allow for
> surrogates. But the good news is that the .net libs do seem to allow
for
> surrogates and combining chars right in the string class -- which
brings
> us dangerously close to relatively hassle-free use of multi language
> text!
Yes, Win32 APIs were designed many years ago and generally assume a
UCS-2 (i.e. plane 0 only) view of things. The WM_UNICHAR message was a
later addition to Win32, and it passed a UTF-32 codepoint, though not
many input methods generate that message.
In the the .Net Framework, the string class (System namespace) and the
System.Globalization and System.Text namespaces *are* designed to be
aware of supplementary plane characters.
For details, see the relevant portion of MSDN Library:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/h
tml/frlrfSystemStringClassTopic.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/h
tml/frlrfSystemGlobalization.asp
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemText.asp
There's also relevant sample code at
http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=3
68e8396-b14e-4768-89fd-8cef5b6256e7
Peter Constable
This archive was generated by hypermail 2.1.5 : Wed Apr 07 2004 - 04:32:54 EDT