]> git.saurik.com Git - apple/icu.git/blob - icuSources/layout/ExtensionSubtables.cpp
ICU-6.2.9.tar.gz
[apple/icu.git] / icuSources / layout / ExtensionSubtables.cpp
1 /*
2 * %W% %E%
3 *
4 * (C) Copyright IBM Corp. 2002 - All Rights Reserved
5 *
6 */
7
8 #include "LETypes.h"
9 #include "OpenTypeTables.h"
10 #include "GlyphSubstitutionTables.h"
11 #include "LookupProcessor.h"
12 #include "ExtensionSubtables.h"
13 #include "GlyphIterator.h"
14 #include "LESwaps.h"
15
16 U_NAMESPACE_BEGIN
17
18
19 // FIXME: should look at the format too... maybe have a sub-class for it?
20 le_uint32 ExtensionSubtable::process(const LookupProcessor *lookupProcessor, le_uint16 lookupType,
21 GlyphIterator *glyphIterator, const LEFontInstance *fontInstance) const
22 {
23 le_uint16 elt = SWAPW(extensionLookupType);
24
25 if (elt != lookupType) {
26 le_uint32 extOffset = SWAPL(extensionOffset);
27 LookupSubtable *subtable = (LookupSubtable *) ((char *) this + extOffset);
28
29 return lookupProcessor->applySubtable(subtable, elt, glyphIterator, fontInstance);
30 }
31
32 return 0;
33 }
34
35 U_NAMESPACE_END