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 18U_NAMESPACE_BEGIN 19 20struct StateTableHeader 21{ 22 le_int16 stateSize; 23 ByteOffset classTableOffset; 24 ByteOffset stateArrayOffset; 25 ByteOffset entryTableOffset; 26}; 27 28enum ClassCodes 29{ 30 classCodeEOT = 0, 31 classCodeOOB = 1, 32 classCodeDEL = 2, 33 classCodeEOL = 3, 34 classCodeFirstFree = 4, 35 classCodeMAX = 0xFF 36}; 37 38typedef le_uint8 ClassCode; 39 40struct ClassTable 41{ 42 TTGlyphID firstGlyph; 43 le_uint16 nGlyphs; 44 ClassCode classArray[ANY_NUMBER]; 45}; 46 47enum StateNumber 48{ 49 stateSOT = 0, 50 stateSOL = 1, 51 stateFirstFree = 2, 52 stateMAX = 0xFF 53}; 54 55typedef le_uint8 EntryTableIndex; 56 57struct StateEntry 58{ 59 ByteOffset newStateOffset; 60 le_int16 flags; 61}; 62 63U_NAMESPACE_END 64#endif 65 66