]> git.saurik.com Git - apple/icu.git/blob - icuSources/layout/StateTables.h
ICU-461.12.tar.gz
[apple/icu.git] / icuSources / layout / StateTables.h
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