Home | History | Annotate | Download | only in layout
      1 /*
      2  *
      3  * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
      4  *
      5  */
      6 
      7 #ifndef __STATETABLES_H
      8 #define __STATETABLES_H
      9 
     10 /**
     11  * \file
     12  * \internal
     13  */
     14 
     15 #include "LETypes.h"
     16 #include "LayoutTables.h"
     17 
     18 U_NAMESPACE_BEGIN
     19 
     20 struct StateTableHeader
     21 {
     22     le_int16 stateSize;
     23     ByteOffset classTableOffset;
     24     ByteOffset stateArrayOffset;
     25     ByteOffset entryTableOffset;
     26 };
     27 
     28 enum ClassCodes
     29 {
     30     classCodeEOT = 0,
     31     classCodeOOB = 1,
     32     classCodeDEL = 2,
     33     classCodeEOL = 3,
     34     classCodeFirstFree = 4,
     35     classCodeMAX = 0xFF
     36 };
     37 
     38 typedef le_uint8 ClassCode;
     39 
     40 struct ClassTable
     41 {
     42     TTGlyphID firstGlyph;
     43     le_uint16 nGlyphs;
     44     ClassCode classArray[ANY_NUMBER];
     45 };
     46 
     47 enum StateNumber
     48 {
     49     stateSOT        = 0,
     50     stateSOL        = 1,
     51     stateFirstFree  = 2,
     52     stateMAX        = 0xFF
     53 };
     54 
     55 typedef le_uint8 EntryTableIndex;
     56 
     57 struct StateEntry
     58 {
     59     ByteOffset  newStateOffset;
     60     le_int16    flags;
     61 };
     62 
     63 U_NAMESPACE_END
     64 #endif
     65 
     66