1/*
2 *
3 * (C) Copyright IBM Corp. and others 1998-2013 - All Rights Reserved
4 *
5 */
6
7#ifndef __CONTEXTUALGLYPHSUBSTITUTION_H
8#define __CONTEXTUALGLYPHSUBSTITUTION_H
9
10/**
11 * \file
12 * \internal
13 */
14
15#include "LETypes.h"
16#include "LayoutTables.h"
17#include "StateTables.h"
18#include "MorphTables.h"
19
20U_NAMESPACE_BEGIN
21
22struct ContextualGlyphSubstitutionHeader : MorphStateTableHeader
23{
24    ByteOffset  substitutionTableOffset;
25};
26
27struct ContextualGlyphHeader2 : MorphStateTableHeader2
28{
29    le_uint32  perGlyphTableOffset; // no more substitution tables
30};
31
32enum ContextualGlyphSubstitutionFlags
33{
34    cgsSetMark      = 0x8000,
35    cgsDontAdvance  = 0x4000,
36    cgsReserved     = 0x3FFF
37};
38
39struct ContextualGlyphSubstitutionStateEntry : StateEntry
40{
41    WordOffset markOffset;
42    WordOffset currOffset;
43};
44
45struct ContextualGlyphStateEntry2 : StateEntry2
46{
47    le_uint16 markIndex;
48    le_uint16 currIndex;
49};
50
51U_NAMESPACE_END
52#endif
53