]>
git.saurik.com Git - apple/icu.git/blob - icuSources/layout/LookupTables.h
3 * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved
7 #ifndef __LOOKUPTABLES_H
8 #define __LOOKUPTABLES_H
16 #include "LayoutTables.h"
17 #include "LETableReference.h"
21 enum LookupTableFormat
30 typedef le_int16 LookupValue
;
50 struct BinarySearchLookupTable
: LookupTable
55 le_int16 entrySelector
;
58 const LookupSegment
*lookupSegment(const LETableReference
&base
, const LookupSegment
*segments
, LEGlyphID glyph
, LEErrorCode
&success
) const;
60 const LookupSingle
*lookupSingle(const LETableReference
&base
, const LookupSingle
*entries
, LEGlyphID glyph
, LEErrorCode
&success
) const;
63 struct SimpleArrayLookupTable
: LookupTable
65 LookupValue valueArray
[ANY_NUMBER
];
67 LE_VAR_ARRAY(SimpleArrayLookupTable
, valueArray
)
69 struct SegmentSingleLookupTable
: BinarySearchLookupTable
71 LookupSegment segments
[ANY_NUMBER
];
73 LE_VAR_ARRAY(SegmentSingleLookupTable
, segments
)
75 struct SegmentArrayLookupTable
: BinarySearchLookupTable
77 LookupSegment segments
[ANY_NUMBER
];
79 LE_VAR_ARRAY(SegmentArrayLookupTable
, segments
)
81 struct SingleTableLookupTable
: BinarySearchLookupTable
83 LookupSingle entries
[ANY_NUMBER
];
85 LE_VAR_ARRAY(SingleTableLookupTable
, entries
)
87 struct TrimmedArrayLookupTable
: LookupTable
91 LookupValue valueArray
[ANY_NUMBER
];
93 LE_VAR_ARRAY(TrimmedArrayLookupTable
, valueArray
)