]> git.saurik.com Git - apple/icu.git/blob - icuSources/layout/MarkToLigaturePosnSubtables.h
ICU-59180.0.1.tar.gz
[apple/icu.git] / icuSources / layout / MarkToLigaturePosnSubtables.h
1 /*
2 *
3 * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved
4 *
5 */
6
7 #ifndef __MARKTOLIGATUREPOSITIONINGSUBTABLES_H
8 #define __MARKTOLIGATUREPOSITIONINGSUBTABLES_H
9
10 /**
11 * \file
12 * \internal
13 */
14
15 #include "LETypes.h"
16 #include "LEFontInstance.h"
17 #include "OpenTypeTables.h"
18 #include "GlyphPositioningTables.h"
19 #include "AttachmentPosnSubtables.h"
20 #include "GlyphIterator.h"
21
22 U_NAMESPACE_BEGIN
23
24 struct MarkToLigaturePositioningSubtable : AttachmentPositioningSubtable
25 {
26 le_int32 process(const LETableReference &base, GlyphIterator *glyphIterator, const LEFontInstance *fontInstance, LEErrorCode &success) const;
27 LEGlyphID findLigatureGlyph(GlyphIterator *glyphIterator) const;
28 };
29
30 struct ComponentRecord
31 {
32 Offset ligatureAnchorTableOffsetArray[ANY_NUMBER];
33 };
34 LE_VAR_ARRAY(ComponentRecord, ligatureAnchorTableOffsetArray)
35
36 struct LigatureAttachTable
37 {
38 le_uint16 componentCount;
39 ComponentRecord componentRecordArray[ANY_NUMBER];
40 };
41 LE_VAR_ARRAY(LigatureAttachTable, componentRecordArray)
42
43 struct LigatureArray
44 {
45 le_uint16 ligatureCount;
46 Offset ligatureAttachTableOffsetArray[ANY_NUMBER];
47 };
48 LE_VAR_ARRAY(LigatureArray, ligatureAttachTableOffsetArray)
49
50 U_NAMESPACE_END
51 #endif
52