diff options
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | src/pfr/pfrgload.c | 4 | ||||
-rw-r--r-- | src/pfr/pfrtypes.h | 7 |
3 files changed, 20 insertions, 4 deletions
@@ -1,5 +1,18 @@ 2016-03-25 Werner Lemberg <wl@gnu.org> + [pfr] Fix handling of compound glyphs. + + Extra items are indicated with different bit positions. + + * src/pfr/pfrtypes.h (PFR_GlyphFlags): Replace + `PFR_GLYPH_EXTRA_ITEMS' with `PFR_GLYPH_SIMPLE_EXTRA_ITEMS' and + `PFR_GLYPH_COMPOUND_EXTRA_ITEMS'. + + * src/pfr/pfrgload.c (pfr_glyph_load_simple, + pfr_glyph_load_compound): Use them. + +2016-03-25 Werner Lemberg <wl@gnu.org> + [pfr] Minor. * src/pfr/pfrsbit.c, srf/pfr/pfrobjs.c: Use flag names instead of diff --git a/src/pfr/pfrgload.c b/src/pfr/pfrgload.c index 1dbbf95da..f9cd1f63b 100644 --- a/src/pfr/pfrgload.c +++ b/src/pfr/pfrgload.c @@ -336,7 +336,7 @@ /* XXX: we ignore the secondary stroke and edge definitions */ /* since we don't support native PFR hinting */ /* */ - if ( flags & PFR_GLYPH_EXTRA_ITEMS ) + if ( flags & PFR_GLYPH_SINGLE_EXTRA_ITEMS ) { error = pfr_extra_items_skip( &p, limit ); if ( error ) @@ -579,7 +579,7 @@ /* ignore extra items when present */ /* */ - if ( flags & PFR_GLYPH_EXTRA_ITEMS ) + if ( flags & PFR_GLYPH_COMPOUND_EXTRA_ITEMS ) { error = pfr_extra_items_skip( &p, limit ); if ( error ) diff --git a/src/pfr/pfrtypes.h b/src/pfr/pfrtypes.h index 592acbd7d..09649b9d8 100644 --- a/src/pfr/pfrtypes.h +++ b/src/pfr/pfrtypes.h @@ -291,8 +291,11 @@ FT_BEGIN_HEADER typedef enum PFR_GlyphFlags_ { - PFR_GLYPH_IS_COMPOUND = 0x80, - PFR_GLYPH_EXTRA_ITEMS = 0x08, + PFR_GLYPH_IS_COMPOUND = 0x80, + + PFR_GLYPH_SINGLE_EXTRA_ITEMS = 0x08, + PFR_GLYPH_COMPOUND_EXTRA_ITEMS = 0x40, + PFR_GLYPH_1BYTE_XYCOUNT = 0x04, PFR_GLYPH_XCOUNT = 0x02, PFR_GLYPH_YCOUNT = 0x01 |