On 09/27/11 06:27, Jonathan Kew wrote: > I'd guess the real issue is that GlyphID arithmetic is implicitly supposed to > happen in 16-bit unsigned space, with silent wraparound of over- or > under-flow, but HBNG ends up doing the arithmetic with 32-bit values and > doesn't implement the modulo-64K truncation appropriately everywhere. (Note > that hb_codepoint_t, often used for glyph indexes, is a 32-bit type.)
I did that intentionally. I have not found any references in the spec as to how to handle overflow and underflow. Note that by not overflowing, I'm implicitly allowing limited support for fonts with more than 64k glyphs. If I wrap around, it would be much harder to work with those fonts. Specifically what should happen when you add a delta and there is no overflow, but the resulting glyphID is over 64k? Ie. the initial glyphID was over 64k? I'll take a look at what Adobe is doing. behdad _______________________________________________ HarfBuzz mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/harfbuzz
