From ff05d257dd43221b7c8ebead188e78495daa8eda Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Wed, 20 May 2009 03:53:00 -0400 Subject: [PATCH] [HB] Move lookup types enum into subtable class --- src/hb-ot-layout-gpos-private.h | 66 ++++++++++++++++++++--------------------- src/hb-ot-layout-gsub-private.h | 44 +++++++++++++-------------- 2 files changed, 55 insertions(+), 55 deletions(-) diff --git a/src/hb-ot-layout-gpos-private.h b/src/hb-ot-layout-gpos-private.h index f46adfd..0373a59 100644 --- a/src/hb-ot-layout-gpos-private.h +++ b/src/hb-ot-layout-gpos-private.h @@ -1064,51 +1064,51 @@ ASSERT_SIZE (ExtensionPos, 2); * PosLookup */ -enum { - GPOS_Single = 1, - GPOS_Pair = 2, - GPOS_Cursive = 3, - GPOS_MarkBase = 4, - GPOS_MarkLig = 5, - GPOS_MarkMark = 6, - GPOS_Context = 7, - GPOS_ChainContext = 8, - GPOS_Extension = 9, -}; - struct PosLookupSubTable { friend struct PosLookup; + enum { + Single = 1, + Pair = 2, + Cursive = 3, + MarkBase = 4, + MarkLig = 5, + MarkMark = 6, + Context = 7, + ChainContext = 8, + Extension = 9, + }; + inline bool apply (APPLY_ARG_DEF, unsigned int lookup_type) const { switch (lookup_type) { - case GPOS_Single: return u.single->apply (APPLY_ARG); - case GPOS_Pair: return u.pair->apply (APPLY_ARG); - case GPOS_Cursive: return u.cursive->apply (APPLY_ARG); - case GPOS_MarkBase: return u.markBase->apply (APPLY_ARG); - case GPOS_MarkLig: return u.markLig->apply (APPLY_ARG); - case GPOS_MarkMark: return u.markMark->apply (APPLY_ARG); - case GPOS_Context: return u.context->apply (APPLY_ARG); - case GPOS_ChainContext: return u.chainContext->apply (APPLY_ARG); - case GPOS_Extension: return u.extension->apply (APPLY_ARG); + case Single: return u.single->apply (APPLY_ARG); + case Pair: return u.pair->apply (APPLY_ARG); + case Cursive: return u.cursive->apply (APPLY_ARG); + case MarkBase: return u.markBase->apply (APPLY_ARG); + case MarkLig: return u.markLig->apply (APPLY_ARG); + case MarkMark: return u.markMark->apply (APPLY_ARG); + case Context: return u.context->apply (APPLY_ARG); + case ChainContext: return u.chainContext->apply (APPLY_ARG); + case Extension: return u.extension->apply (APPLY_ARG); default:return false; } } private: union { - USHORT format; - SinglePos single[]; - PairPos pair[]; - CursivePos cursive[]; - MarkBasePos markBase[]; - MarkLigPos markLig[]; - MarkMarkPos markMark[]; - ContextPos context[]; - ChainContextPos chainContext[]; - ExtensionPos extension[]; + USHORT format; + SinglePos single[]; + PairPos pair[]; + CursivePos cursive[]; + MarkBasePos markBase[]; + MarkLigPos markLig[]; + MarkMarkPos markMark[]; + ContextPos context[]; + ChainContextPos chainContext[]; + ExtensionPos extension[]; } u; }; ASSERT_SIZE (PosLookupSubTable, 2); @@ -1127,7 +1127,7 @@ struct PosLookup : Lookup { unsigned int type = get_type (); - if (HB_UNLIKELY (type == GPOS_Extension)) + if (HB_UNLIKELY (type == PosLookupSubTable::Extension)) { unsigned int count = get_subtable_count (); type = get_subtable(0).u.extension->get_type (); @@ -1240,7 +1240,7 @@ inline bool ExtensionPosFormat1::apply (APPLY_ARG_DEF) const { unsigned int lookup_type = get_type (); - if (HB_UNLIKELY (lookup_type == GPOS_Extension)) + if (HB_UNLIKELY (lookup_type == PosLookupSubTable::Extension)) return false; return ((PosLookupSubTable&)*(((char *) this) + get_offset ())).apply (APPLY_ARG, lookup_type); diff --git a/src/hb-ot-layout-gsub-private.h b/src/hb-ot-layout-gsub-private.h index 24e4b37..82d7d5f 100644 --- a/src/hb-ot-layout-gsub-private.h +++ b/src/hb-ot-layout-gsub-private.h @@ -630,32 +630,32 @@ ASSERT_SIZE (ReverseChainSingleSubst, 2); * SubstLookup */ -enum { - GSUB_Single = 1, - GSUB_Multiple = 2, - GSUB_Alternate = 3, - GSUB_Ligature = 4, - GSUB_Context = 5, - GSUB_ChainContext = 6, - GSUB_Extension = 7, - GSUB_ReverseChainSingle = 8, -}; - struct SubstLookupSubTable { friend struct SubstLookup; + enum { + Single = 1, + Multiple = 2, + Alternate = 3, + Ligature = 4, + Context = 5, + ChainContext = 6, + Extension = 7, + ReverseChainSingle = 8, + }; + inline bool apply (APPLY_ARG_DEF, unsigned int lookup_type) const { switch (lookup_type) { - case GSUB_Single: return u.single->apply (APPLY_ARG); - case GSUB_Multiple: return u.multiple->apply (APPLY_ARG); - case GSUB_Alternate: return u.alternate->apply (APPLY_ARG); - case GSUB_Ligature: return u.ligature->apply (APPLY_ARG); - case GSUB_Context: return u.context->apply (APPLY_ARG); - case GSUB_ChainContext: return u.chainContext->apply (APPLY_ARG); - case GSUB_Extension: return u.extension->apply (APPLY_ARG); - case GSUB_ReverseChainSingle: return u.reverseChainContextSingle->apply (APPLY_ARG); + case Single: return u.single->apply (APPLY_ARG); + case Multiple: return u.multiple->apply (APPLY_ARG); + case Alternate: return u.alternate->apply (APPLY_ARG); + case Ligature: return u.ligature->apply (APPLY_ARG); + case Context: return u.context->apply (APPLY_ARG); + case ChainContext: return u.chainContext->apply (APPLY_ARG); + case Extension: return u.extension->apply (APPLY_ARG); + case ReverseChainSingle: return u.reverseChainContextSingle->apply (APPLY_ARG); default:return false; } } @@ -689,7 +689,7 @@ struct SubstLookup : Lookup { unsigned int type = get_type (); - if (HB_UNLIKELY (type == GSUB_Extension)) + if (HB_UNLIKELY (type == SubstLookupSubTable::Extension)) { unsigned int count = get_subtable_count (); type = get_subtable(0).u.extension->get_type (); @@ -705,7 +705,7 @@ struct SubstLookup : Lookup inline bool is_reverse (void) const { - return HB_UNLIKELY (get_effective_type () == GSUB_ReverseChainSingle); + return HB_UNLIKELY (get_effective_type () == SubstLookupSubTable::ReverseChainSingle); } inline bool apply_subtables (hb_ot_layout_t *layout, @@ -819,7 +819,7 @@ inline bool ExtensionSubstFormat1::apply (APPLY_ARG_DEF) const { unsigned int lookup_type = get_type (); - if (HB_UNLIKELY (lookup_type == GSUB_Extension)) + if (HB_UNLIKELY (lookup_type == SubstLookupSubTable::Extension)) return false; return ((SubstLookupSubTable&)*(((char *) this) + get_offset ())).apply (APPLY_ARG, lookup_type); -- 2.7.4