From: Behdad Esfahbod Date: Thu, 21 May 2009 08:47:05 +0000 (-0400) Subject: [GPOS] Start MarkBasePosFormat1 X-Git-Tag: 1.25.1~162 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=93e5da2de8070410b5e8978dfa3a261e6d7f00a4;p=platform%2Fupstream%2Fpango.git [GPOS] Start MarkBasePosFormat1 --- diff --git a/pango/opentype/TODO b/pango/opentype/TODO index e4e2a8e..2646ecb 100644 --- a/pango/opentype/TODO +++ b/pango/opentype/TODO @@ -2,3 +2,4 @@ - When sanitizing, have to do a second round to make sure no toe-stepping - Implement is_simple() - Static assert PangoOTGlyph vs hb */ +- Face index > 0 and dfont fonts diff --git a/pango/opentype/hb-ot-layout-gpos-private.h b/pango/opentype/hb-ot-layout-gpos-private.h index 6426b29..4ef0219 100644 --- a/pango/opentype/hb-ot-layout-gpos-private.h +++ b/pango/opentype/hb-ot-layout-gpos-private.h @@ -753,26 +753,18 @@ struct CursivePos ASSERT_SIZE (CursivePos, 2); -struct BaseRecord -{ - /* TODO */ - - private: - Offset baseAnchor[]; /* Array of offsets (one per class) - * to Anchor tables--from beginning - * of BaseArray table--ordered by - * class--zero--based */ -}; -ASSERT_SIZE (BaseRecord, 0); - struct BaseArray { - /* TODO */ + friend struct MarkBasePosFormat1; private: - USHORT baseCount; /* Number of BaseRecords */ - BaseRecord baseRecord[]; /* Array of BaseRecords--in order of - * BaseCoverage Index */ + USHORT len; /* Number of rows */ + OffsetTo + matrix[]; /* Matrix of offsets to Anchor tables-- + * from beginning of BaseArray table-- + * base-major--in order of + * BaseCoverage Index--, mark-minor-- + * ordered by class--zero-based. */ }; ASSERT_SIZE (BaseArray, 2); @@ -784,20 +776,24 @@ struct MarkBasePosFormat1 inline bool apply (APPLY_ARG_DEF) const { /* TODO */ + /* XXXXXXXXXXXXXXX */ return false; } private: USHORT format; /* Format identifier--format = 1 */ - Offset markCoverage; /* Offset to MarkCoverage table--from + OffsetTo + markCoverage; /* Offset to MarkCoverage table--from * beginning of MarkBasePos subtable */ - Offset baseCoverage; /* Offset to BaseCoverage table--from + OffsetTo + baseCoverage; /* Offset to BaseCoverage table--from * beginning of MarkBasePos subtable */ USHORT classCount; /* Number of classes defined for marks */ - Offset markArray; /* Offset to MarkArray table--from + OffsetTo + markArray; /* Offset to MarkArray table--from * beginning of MarkBasePos subtable */ - /* XXXXXXXXXXXXX */ - Offset baseArray; /* Offset to BaseArray table--from + OffsetTo + baseArray; /* Offset to BaseArray table--from * beginning of MarkBasePos subtable */ }; ASSERT_SIZE (MarkBasePosFormat1, 12);