• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
53