1 /*
2 *
3 * (C) Copyright IBM Corp. 1998 - 2013 - All Rights Reserved
4 *
5 */
6
7 #include "LETypes.h"
8 #include "OpenTypeTables.h"
9 #include "GlyphDefinitionTables.h"
10 #include "LESwaps.h"
11
12 U_NAMESPACE_BEGIN
13
14 const LEReferenceTo<GlyphClassDefinitionTable>
getGlyphClassDefinitionTable(const LEReferenceTo<GlyphDefinitionTableHeader> & base,LEErrorCode & success) const15 GlyphDefinitionTableHeader::getGlyphClassDefinitionTable(const LEReferenceTo<GlyphDefinitionTableHeader>& base,
16 LEErrorCode &success) const
17 {
18 if(LE_FAILURE(success)) return LEReferenceTo<GlyphClassDefinitionTable>();
19 return LEReferenceTo<GlyphClassDefinitionTable>(base, success, SWAPW(glyphClassDefOffset));
20 }
21
22 const LEReferenceTo<AttachmentListTable>
getAttachmentListTable(const LEReferenceTo<GlyphDefinitionTableHeader> & base,LEErrorCode & success) const23 GlyphDefinitionTableHeader::getAttachmentListTable(const LEReferenceTo<GlyphDefinitionTableHeader>& base,
24 LEErrorCode &success) const
25 {
26 if(LE_FAILURE(success)) return LEReferenceTo<AttachmentListTable>();
27 return LEReferenceTo<AttachmentListTable>(base, success, SWAPW(attachListOffset));
28 }
29
30 const LEReferenceTo<LigatureCaretListTable>
getLigatureCaretListTable(const LEReferenceTo<GlyphDefinitionTableHeader> & base,LEErrorCode & success) const31 GlyphDefinitionTableHeader::getLigatureCaretListTable(const LEReferenceTo<GlyphDefinitionTableHeader>& base,
32 LEErrorCode &success) const
33 {
34 if(LE_FAILURE(success)) return LEReferenceTo<LigatureCaretListTable>();
35 return LEReferenceTo<LigatureCaretListTable>(base, success, SWAPW(ligCaretListOffset));
36 }
37
38 const LEReferenceTo<MarkAttachClassDefinitionTable>
getMarkAttachClassDefinitionTable(const LEReferenceTo<GlyphDefinitionTableHeader> & base,LEErrorCode & success) const39 GlyphDefinitionTableHeader::getMarkAttachClassDefinitionTable(const LEReferenceTo<GlyphDefinitionTableHeader>& base,
40 LEErrorCode &success) const
41 {
42 if(LE_FAILURE(success)) return LEReferenceTo<MarkAttachClassDefinitionTable>();
43 return LEReferenceTo<MarkAttachClassDefinitionTable>(base, success, SWAPW(MarkAttachClassDefOffset));
44 }
45
46 U_NAMESPACE_END
47