On 04/06/2011 05:22 AM, MacArthur, Ian (SELEX GALILEO, UK) wrote: > > It very much looks as if the rendering of Unicode values from the > "bigger" numbers is broken on win32. > > The code in fl_font_win32.cxx for handling the ::draw() mechanisms seems > to be assuming that any UTF8 encoded char can be represented by 1 win32 > WCHAR, but of course this is not true, since the win32 WCHAR is only 16 > bits... > > As a result, any Unicode point above 0x10000 gets wrapped back over from > 0... > > What we are doing is converting the UTF8 stream into UCS values, then > assigning that UCS to a single win32 WCHAR. (see ~ line 356 and > thereabouts) > > So when I need to render glyphs from the higher pages (musical notation > in this case from U+1D100 onwards) they get trashed on win32. > > What we need to do is convert the UCS into UTF16 surrogate pairs and > render that, of course. > > Thoughts?
The conversion function *should* be converting to correct UTF16. The code in fltk2.0 does this and should be copied. _______________________________________________ fltk-dev mailing list [email protected] http://lists.easysw.com/mailman/listinfo/fltk-dev
