]> git.saurik.com Git - apple/icu.git/blame - icuSources/layout/LigatureSubstitution.h
ICU-511.34.tar.gz
[apple/icu.git] / icuSources / layout / LigatureSubstitution.h
CommitLineData
b75a7d8f 1/*
b75a7d8f 2 *
51004dcb 3 * (C) Copyright IBM Corp. and Others 1998-2013 - All Rights Reserved
b75a7d8f
A
4 *
5 */
6
7#ifndef __LIGATURESUBSTITUTION_H
8#define __LIGATURESUBSTITUTION_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#include "MorphStateTables.h"
20
21U_NAMESPACE_BEGIN
22
23struct LigatureSubstitutionHeader : MorphStateTableHeader
24{
25 ByteOffset ligatureActionTableOffset;
26 ByteOffset componentTableOffset;
27 ByteOffset ligatureTableOffset;
28};
29
51004dcb
A
30struct LigatureSubstitutionHeader2 : MorphStateTableHeader2
31{
32 le_uint32 ligActionOffset;
33 le_uint32 componentOffset;
34 le_uint32 ligatureOffset;
35};
36
b75a7d8f
A
37enum LigatureSubstitutionFlags
38{
39 lsfSetComponent = 0x8000,
40 lsfDontAdvance = 0x4000,
51004dcb
A
41 lsfActionOffsetMask = 0x3FFF, // N/A in morx
42 lsfPerformAction = 0x2000
b75a7d8f
A
43};
44
45struct LigatureSubstitutionStateEntry : StateEntry
46{
47};
48
51004dcb
A
49struct LigatureSubstitutionStateEntry2
50{
51 le_uint16 nextStateIndex;
52 le_uint16 entryFlags;
53 le_uint16 ligActionIndex;
54};
55
b75a7d8f
A
56typedef le_uint32 LigatureActionEntry;
57
58enum LigatureActionFlags
59{
60 lafLast = 0x80000000,
61 lafStore = 0x40000000,
62 lafComponentOffsetMask = 0x3FFFFFFF
63};
64
65U_NAMESPACE_END
66#endif