00001
00002
00003
00004
00005
00006
00007
00008 #ifndef __STATETABLES_H
00009 #define __STATETABLES_H
00010
00011 #include "LETypes.h"
00012 #include "LayoutTables.h"
00013
00014 struct StateTableHeader
00015 {
00016 le_int16 stateSize;
00017 ByteOffset classTableOffset;
00018 ByteOffset stateArrayOffset;
00019 ByteOffset entryTableOffset;
00020 };
00021
00022 enum ClassCodes
00023 {
00024 classCodeEOT = 0,
00025 classCodeOOB = 1,
00026 classCodeDEL = 2,
00027 classCodeEOL = 3,
00028 classCodeFirstFree = 4,
00029 classCodeMAX = 0xFF
00030 };
00031
00032 typedef le_uint8 ClassCode;
00033
00034 struct ClassTable
00035 {
00036 LEGlyphID firstGlyph;
00037 le_uint16 nGlyphs;
00038 ClassCode classArray[ANY_NUMBER];
00039 };
00040
00041 enum StateNumber
00042 {
00043 stateSOT = 0,
00044 stateSOL = 1,
00045 stateFirstFree = 2,
00046 stateMAX = 0xFF
00047 };
00048
00049 typedef le_uint8 EntryTableIndex;
00050
00051 struct StateEntry
00052 {
00053 ByteOffset newStateOffset;
00054 le_int16 flags;
00055 };
00056
00057 #endif
00058