[GPOS] Start MarkBasePosFormat1

This commit is contained in:
Behdad Esfahbod 2009-05-21 04:47:05 -04:00
parent ee8776d9e0
commit fb3b5ccfef
2 changed files with 18 additions and 21 deletions

View File

@ -2,3 +2,4 @@
- When sanitizing, have to do a second round to make sure no toe-stepping - When sanitizing, have to do a second round to make sure no toe-stepping
- Implement is_simple() - Implement is_simple()
- Static assert PangoOTGlyph vs hb */ - Static assert PangoOTGlyph vs hb */
- Face index > 0 and dfont fonts

View File

@ -753,26 +753,18 @@ struct CursivePos
ASSERT_SIZE (CursivePos, 2); 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 struct BaseArray
{ {
/* TODO */ friend struct MarkBasePosFormat1;
private: private:
USHORT baseCount; /* Number of BaseRecords */ USHORT len; /* Number of rows */
BaseRecord baseRecord[]; /* Array of BaseRecords--in order of OffsetTo<Anchor>
* BaseCoverage Index */ 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); ASSERT_SIZE (BaseArray, 2);
@ -784,20 +776,24 @@ struct MarkBasePosFormat1
inline bool apply (APPLY_ARG_DEF) const inline bool apply (APPLY_ARG_DEF) const
{ {
/* TODO */ /* TODO */
/* XXXXXXXXXXXXXXX */
return false; return false;
} }
private: private:
USHORT format; /* Format identifier--format = 1 */ USHORT format; /* Format identifier--format = 1 */
Offset markCoverage; /* Offset to MarkCoverage table--from OffsetTo<Coverage>
markCoverage; /* Offset to MarkCoverage table--from
* beginning of MarkBasePos subtable */ * beginning of MarkBasePos subtable */
Offset baseCoverage; /* Offset to BaseCoverage table--from OffsetTo<Coverage>
baseCoverage; /* Offset to BaseCoverage table--from
* beginning of MarkBasePos subtable */ * beginning of MarkBasePos subtable */
USHORT classCount; /* Number of classes defined for marks */ USHORT classCount; /* Number of classes defined for marks */
Offset markArray; /* Offset to MarkArray table--from OffsetTo<MarkArray>
markArray; /* Offset to MarkArray table--from
* beginning of MarkBasePos subtable */ * beginning of MarkBasePos subtable */
/* XXXXXXXXXXXXX */ OffsetTo<BaseArray>
Offset baseArray; /* Offset to BaseArray table--from baseArray; /* Offset to BaseArray table--from
* beginning of MarkBasePos subtable */ * beginning of MarkBasePos subtable */
}; };
ASSERT_SIZE (MarkBasePosFormat1, 12); ASSERT_SIZE (MarkBasePosFormat1, 12);