os/textandloc/fontservices/textshaperplugin/IcuSource/layout/StateTables.h
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     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