All,
This is in fltk-1.3 r7500.
Inspired by Manlolo's work on rendering utf8 strings under GL on OSX, I was
digging into gl_draw.cxx a bit.
(It's not pretty, and some of the mess is mine...)
However, that aside, I was looking at gl_draw() near line 228 we have:
for (i = 0; i < n; i++) {
unsigned int r;
r = (str[i] & 0xFC00) >> 10;
if (!gl_fontsize->glok[r]) get_list(r);
}
What *does* that do?
The array "str" is a char array, so (str[i] & 0xFC00) and you always get 0,
surely?
Unless the "signed char" has it's top bit set, in which case it would
presumably be sign-extended and then and'ing with 0xFC00 will always return
0xFC00... bit shift that down by 10 and you have 0x3F...
I assume I am missing something here, but I just can't figure out what that bit
of code is doing.
--
Ian
_______________________________________________
fltk-dev mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-dev