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