Home | History | Annotate | Download | only in layout
      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