• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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