[HB] Move lookup types enum into subtable class
This commit is contained in:
parent
263bbef767
commit
ff05d257dd
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue