]>
git.saurik.com Git - apple/icu.git/blob - icuSources/layout/LookupTables.h
3 * (C) Copyright IBM Corp. 1998-2016 - All Rights Reserved
7 #ifndef __LOOKUPTABLES_H
8 #define __LOOKUPTABLES_H
16 #include "LayoutTables.h"
17 #include "LETableReference.h"
22 enum LookupTableFormat
31 typedef le_int16 LookupValue
;
33 // Different from struct LookupTable in Lookups.h.
34 struct LookupTableBase
52 struct BinarySearchLookupTable
: LookupTableBase
57 le_int16 entrySelector
;
60 const LookupSegment
*lookupSegment(const LETableReference
&base
, const LookupSegment
*segments
, LEGlyphID glyph
, LEErrorCode
&success
) const;
62 const LookupSingle
*lookupSingle(const LETableReference
&base
, const LookupSingle
*entries
, LEGlyphID glyph
, LEErrorCode
&success
) const;
65 struct SimpleArrayLookupTable
: LookupTableBase
67 LookupValue valueArray
[ANY_NUMBER
];
69 LE_VAR_ARRAY(SimpleArrayLookupTable
, valueArray
)
71 struct SegmentSingleLookupTable
: BinarySearchLookupTable
73 LookupSegment segments
[ANY_NUMBER
];
75 LE_VAR_ARRAY(SegmentSingleLookupTable
, segments
)
77 struct SegmentArrayLookupTable
: BinarySearchLookupTable
79 LookupSegment segments
[ANY_NUMBER
];
81 LE_VAR_ARRAY(SegmentArrayLookupTable
, segments
)
83 struct SingleTableLookupTable
: BinarySearchLookupTable
85 LookupSingle entries
[ANY_NUMBER
];
87 LE_VAR_ARRAY(SingleTableLookupTable
, entries
)
89 struct TrimmedArrayLookupTable
: LookupTableBase
93 LookupValue valueArray
[ANY_NUMBER
];
95 LE_VAR_ARRAY(TrimmedArrayLookupTable
, valueArray
)