From 3ec0092c5e2d48e8c4fc1618d3bee427adddb1e7 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Mon, 25 May 2009 02:34:25 -0400 Subject: [PATCH] [HB] Simplify more --- src/hb-ot-layout-open-private.h | 31 ++++++++++--------------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/src/hb-ot-layout-open-private.h b/src/hb-ot-layout-open-private.h index 65113bb8..3f845808 100644 --- a/src/hb-ot-layout-open-private.h +++ b/src/hb-ot-layout-open-private.h @@ -475,24 +475,7 @@ struct OpenTypeFontFile STATIC_DEFINE_GET_FOR_DATA (OpenTypeFontFile); - DEFINE_ARRAY_INTERFACE (OpenTypeFontFace, face); /* get_face_count(), get_face(i) */ - - /* This is how you get a table */ - inline const char* get_table_data (const OpenTypeTable& table) const { return (*this)[table]; } - - private: - inline const char* operator[] (const OpenTypeTable& table) const - { - if (HB_UNLIKELY (table.offset == 0)) return NULL; - return ((const char*)this) + table.offset; - } - inline char* operator[] (const OpenTypeTable& table) - { - if (HB_UNLIKELY (table.offset == 0)) return NULL; - return ((char*)this) + table.offset; - } - - unsigned int get_len (void) const + unsigned int get_face_count (void) const { switch (tag) { default: return 0; @@ -500,9 +483,9 @@ struct OpenTypeFontFile case TTCTag: return TTCHeader::get_for_data ((const char *) this).table.len; } } - const OpenTypeFontFace& operator[] (unsigned int i) const + const OpenTypeFontFace& get_face (unsigned int i) const { - if (HB_UNLIKELY (i >= get_len ())) return Null(OpenTypeFontFace); + if (HB_UNLIKELY (i >= get_face_count ())) return Null(OpenTypeFontFace); switch (tag) { default: /* Never happens because of the if above */ case TrueTypeTag: case CFFTag: return (const OffsetTable&)*this; @@ -510,7 +493,13 @@ struct OpenTypeFontFile } } - public: + /* This is how you get a table */ + inline const char* get_table_data (const OpenTypeTable& table) const + { + if (HB_UNLIKELY (table.offset == 0)) return NULL; + return ((const char*) this) + table.offset; + } + Tag tag; /* 4-byte identifier. */ }; ASSERT_SIZE (OpenTypeFontFile, 4); -- GitLab