Home | History | Annotate | Download | only in layout
      1 /*
      2  *
      3  * (C) Copyright IBM Corp. and others 1998-2013 - All Rights Reserved
      4  *
      5  */
      6 
      7 #ifndef __CONTEXTUALGLYPHSUBSTITUTION_H
      8 #define __CONTEXTUALGLYPHSUBSTITUTION_H
      9 
     10 /**
     11  * \file
     12  * \internal
     13  */
     14 
     15 #include "LETypes.h"
     16 #include "LayoutTables.h"
     17 #include "StateTables.h"
     18 #include "MorphTables.h"
     19 
     20 U_NAMESPACE_BEGIN
     21 
     22 struct ContextualGlyphSubstitutionHeader : MorphStateTableHeader
     23 {
     24     ByteOffset  substitutionTableOffset;
     25 };
     26 
     27 struct ContextualGlyphHeader2 : MorphStateTableHeader2
     28 {
     29     le_uint32  perGlyphTableOffset; // no more substitution tables
     30 };
     31 
     32 enum ContextualGlyphSubstitutionFlags
     33 {
     34     cgsSetMark      = 0x8000,
     35     cgsDontAdvance  = 0x4000,
     36     cgsReserved     = 0x3FFF
     37 };
     38 
     39 struct ContextualGlyphSubstitutionStateEntry : StateEntry
     40 {
     41     WordOffset markOffset;
     42     WordOffset currOffset;
     43 };
     44 
     45 struct ContextualGlyphStateEntry2 : StateEntry2
     46 {
     47     le_uint16 markIndex;
     48     le_uint16 currIndex;
     49 };
     50 
     51 U_NAMESPACE_END
     52 #endif
     53