diff --git a/src/TODO b/src/TODO index e4e2a8ead2a640e890bc53ba53d8ecc06dd6ab21..2646ecbff6cd661230f1316d85492f2b5868646e 100644 --- a/src/TODO +++ b/src/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/src/hb-ot-layout-gpos-private.h b/src/hb-ot-layout-gpos-private.h index 6426b2981540deb5d8de211940ca938e4ad72e43..4ef0219c8ac8535a33eacfb662b369ca664011af 100644 --- a/src/hb-ot-layout-gpos-private.h +++ b/src/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);