From 3d54bd1293069fc3d3bdeeea8ad45036f3ee65f3 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Sun, 17 May 2009 00:15:51 -0400 Subject: [PATCH] [HB] Use OffsetTo<> in more places --- src/hb-ot-layout-gdef-private.h | 12 +++++------- src/hb-ot-layout-open-private.h | 4 ++++ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/hb-ot-layout-gdef-private.h b/src/hb-ot-layout-gdef-private.h index 33cda0823..fdff435a0 100644 --- a/src/hb-ot-layout-gdef-private.h +++ b/src/hb-ot-layout-gdef-private.h @@ -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; /* 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; /* Offset to Coverage table--from * beginning of LigCaretList table */ USHORT ligGlyphCount; /* Number of ligature glyphs */ Offset ligGlyph[]; /* Array of offsets to LigGlyph diff --git a/src/hb-ot-layout-open-private.h b/src/hb-ot-layout-open-private.h index 0c648efd4..9ef810bb2 100644 --- a/src/hb-ot-layout-open-private.h +++ b/src/hb-ot-layout-open-private.h @@ -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 */