[HB] Use OffsetTo<> in more places

This commit is contained in:
Behdad Esfahbod 2009-05-17 00:15:51 -04:00
parent 9e4d9d7b27
commit 3d54bd1293
2 changed files with 9 additions and 7 deletions

View File

@ -34,9 +34,7 @@
#define DEFINE_INDIRECT_GLYPH_ARRAY_LOOKUP(Type, name) \
inline const Type& name (hb_codepoint_t glyph) { \
const Coverage &c = get_coverage (); \
unsigned int c_index = c.get_coverage (glyph); \
return (*this)[c_index]; \
return (*this)[(this+coverage)(glyph)]; \
}
@ -78,10 +76,10 @@ struct AttachList {
private:
/* AttachPoint tables, in Coverage Index order */
DEFINE_OFFSET_ARRAY_TYPE (AttachPoint, attachPoint, glyphCount);
DEFINE_GET_ACCESSOR (Coverage, coverage, coverage);
private:
Offset coverage; /* Offset to Coverage table -- from
OffsetTo<Coverage>
coverage; /* Offset to Coverage table -- from
* beginning of AttachList table */
USHORT glyphCount; /* Number of glyphs with attachment
* points */
@ -199,10 +197,10 @@ struct LigCaretList {
private:
/* LigGlyph tables, in Coverage Index order */
DEFINE_OFFSET_ARRAY_TYPE (LigGlyph, ligGlyph, ligGlyphCount);
DEFINE_GET_ACCESSOR (Coverage, coverage, coverage);
private:
Offset coverage; /* Offset to Coverage table--from
OffsetTo<Coverage>
coverage; /* Offset to Coverage table--from
* beginning of LigCaretList table */
USHORT ligGlyphCount; /* Number of ligature glyphs */
Offset ligGlyph[]; /* Array of offsets to LigGlyph

View File

@ -800,6 +800,10 @@ struct Coverage {
}
}
unsigned int operator() (hb_codepoint_t glyph_id) const {
return get_coverage (glyph_id);
}
private:
union {
USHORT coverageFormat; /* Format identifier */