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