Improve handling of composite glyphs (finished).
commit0a29d609ff07d54f71a34e789c3327d820c8a0cc
authorWerner Lemberg <wl@gnu.org>
Sun, 25 Dec 2011 21:12:42 +0000 (25 22:12 +0100)
committerWerner Lemberg <wl@gnu.org>
Sun, 25 Dec 2011 21:12:42 +0000 (25 22:12 +0100)
tree1eeb94c1242a7ef7e1824d05c3f95b1797e61f30
parente90143708acb9d843cfce22901bcb8db49f54a0d
Improve handling of composite glyphs (finished).

Finally, the last patch of a series which started with commit 9329c207.
Documentation will follow soon.

The idea is to prepend a dummy composite element (called `.ttfautohint') to
all composite glyphs; its only function is to execute some bytecode,
increasing a composite nesting level counter.  Later on we test this counter
to prevent execution of hints which the autohinter has already applied to
composite elements.

In other words, composite glyphs are now hinted as a whole, too.  While this
increases the size of fonts, it greatly improves the rendering of such
glyphs.

Due to the inserted dummy composite element(s), some point indices change.
The previous patches implemented the necessary functionality in SFNT tables;
this commit combines everything to make it work actually.
src/tabytecode.c
src/taglyf.c
src/ttfautohint.c