From dc08fb7281b86edacc2edd521da0212acffca985 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Tue, 26 May 2009 18:57:56 -0400 Subject: [PATCH] [GPOS] Fix PairPos signedness --- pango/opentype/hb-ot-layout-gpos-private.h | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/pango/opentype/hb-ot-layout-gpos-private.h b/pango/opentype/hb-ot-layout-gpos-private.h index e2057c2..a67de24 100644 --- a/pango/opentype/hb-ot-layout-gpos-private.h +++ b/pango/opentype/hb-ot-layout-gpos-private.h @@ -101,13 +101,13 @@ struct ValueRecord { y_scale = layout->gpos_info.y_scale; /* design units -> fractional pixel */ if (format & xPlacement) - glyph_pos->x_pos += x_scale * *(USHORT*)values++ / 0x10000; + glyph_pos->x_pos += x_scale * *(SHORT*)values++ / 0x10000; if (format & yPlacement) - glyph_pos->y_pos += y_scale * *(USHORT*)values++ / 0x10000; + glyph_pos->y_pos += y_scale * *(SHORT*)values++ / 0x10000; if (format & xAdvance) - glyph_pos->x_advance += x_scale * *(USHORT*)values++ / 0x10000; + glyph_pos->x_advance += x_scale * *(SHORT*)values++ / 0x10000; if (format & yAdvance) - glyph_pos->y_advance += y_scale * *(USHORT*)values++ / 0x10000; + glyph_pos->y_advance += y_scale * *(SHORT*)values++ / 0x10000; if (HB_LIKELY (!layout->gpos_info.dvi)) { @@ -356,7 +356,6 @@ struct PairSet private: USHORT len; /* Number of PairValueRecords */ - /* XXX */ PairValueRecord array[]; /* Array of PairValueRecords--ordered * by GlyphID of the second glyph */ @@ -784,7 +783,6 @@ struct MarkBasePosFormat1 return false; i++, j--; } - #if 0 /* The following assertion is too strong. */ if (!(property & HB_OT_LAYOUT_GLYPH_CLASS_BASE_GLYPH)) @@ -903,7 +901,6 @@ struct MarkLigPosFormat1 return false; i++, j--; } - #if 0 /* The following assertion is too strong. */ if (!(property & HB_OT_LAYOUT_GLYPH_CLASS_LIGATURE)) -- 2.7.4