提交 3d54bd12 编写于 作者: B Behdad Esfahbod

[HB] Use OffsetTo<> in more places

上级 9e4d9d7b
...@@ -34,9 +34,7 @@ ...@@ -34,9 +34,7 @@
#define DEFINE_INDIRECT_GLYPH_ARRAY_LOOKUP(Type, name) \ #define DEFINE_INDIRECT_GLYPH_ARRAY_LOOKUP(Type, name) \
inline const Type& name (hb_codepoint_t glyph) { \ inline const Type& name (hb_codepoint_t glyph) { \
const Coverage &c = get_coverage (); \ return (*this)[(this+coverage)(glyph)]; \
unsigned int c_index = c.get_coverage (glyph); \
return (*this)[c_index]; \
} }
...@@ -78,10 +76,10 @@ struct AttachList { ...@@ -78,10 +76,10 @@ struct AttachList {
private: private:
/* AttachPoint tables, in Coverage Index order */ /* AttachPoint tables, in Coverage Index order */
DEFINE_OFFSET_ARRAY_TYPE (AttachPoint, attachPoint, glyphCount); DEFINE_OFFSET_ARRAY_TYPE (AttachPoint, attachPoint, glyphCount);
DEFINE_GET_ACCESSOR (Coverage, coverage, coverage);
private: private:
Offset coverage; /* Offset to Coverage table -- from OffsetTo<Coverage>
coverage; /* Offset to Coverage table -- from
* beginning of AttachList table */ * beginning of AttachList table */
USHORT glyphCount; /* Number of glyphs with attachment USHORT glyphCount; /* Number of glyphs with attachment
* points */ * points */
...@@ -199,10 +197,10 @@ struct LigCaretList { ...@@ -199,10 +197,10 @@ struct LigCaretList {
private: private:
/* LigGlyph tables, in Coverage Index order */ /* LigGlyph tables, in Coverage Index order */
DEFINE_OFFSET_ARRAY_TYPE (LigGlyph, ligGlyph, ligGlyphCount); DEFINE_OFFSET_ARRAY_TYPE (LigGlyph, ligGlyph, ligGlyphCount);
DEFINE_GET_ACCESSOR (Coverage, coverage, coverage);
private: private:
Offset coverage; /* Offset to Coverage table--from OffsetTo<Coverage>
coverage; /* Offset to Coverage table--from
* beginning of LigCaretList table */ * beginning of LigCaretList table */
USHORT ligGlyphCount; /* Number of ligature glyphs */ USHORT ligGlyphCount; /* Number of ligature glyphs */
Offset ligGlyph[]; /* Array of offsets to LigGlyph Offset ligGlyph[]; /* Array of offsets to LigGlyph
......
...@@ -800,6 +800,10 @@ struct Coverage { ...@@ -800,6 +800,10 @@ struct Coverage {
} }
} }
unsigned int operator() (hb_codepoint_t glyph_id) const {
return get_coverage (glyph_id);
}
private: private:
union { union {
USHORT coverageFormat; /* Format identifier */ USHORT coverageFormat; /* Format identifier */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册