1 /*
2  *
3  * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved
4  *
5  */
6 
7 #ifndef __ICUFEATURES_H
8 #define __ICUFEATURES_H
9 
10 /**
11  * \file
12  * \internal
13  */
14 
15 #include "LETypes.h"
16 #include "OpenTypeTables.h"
17 
18 U_NAMESPACE_BEGIN
19 
20 struct FeatureRecord
21 {
22     ATag        featureTag;
23     Offset      featureTableOffset;
24 };
25 
26 struct FeatureTable
27 {
28     Offset      featureParamsOffset;
29     le_uint16   lookupCount;
30     le_uint16   lookupListIndexArray[ANY_NUMBER];
31 };
32 LE_VAR_ARRAY(FeatureTable, lookupListIndexArray)
33 
34 struct FeatureListTable
35 {
36     le_uint16           featureCount;
37     FeatureRecord       featureRecordArray[ANY_NUMBER];
38 
39   LEReferenceTo<FeatureTable>  getFeatureTable(const LETableReference &base, le_uint16 featureIndex, LETag *featureTag, LEErrorCode &success) const;
40 
41 #if 0
42   const LEReferenceTo<FeatureTable>  getFeatureTable(const LETableReference &base, LETag featureTag, LEErrorCode &success) const;
43 #endif
44 };
45 
46 LE_VAR_ARRAY(FeatureListTable, featureRecordArray)
47 
48 U_NAMESPACE_END
49 #endif
50