]> git.saurik.com Git - apple/icu.git/blame - icuSources/layout/StateTables.h
ICU-8.11.tar.gz
[apple/icu.git] / icuSources / layout / StateTables.h
CommitLineData
b75a7d8f 1/*
b75a7d8f 2 *
374ca955 3 * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
b75a7d8f
A
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