]>
Commit | Line | Data |
---|---|---|
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 "ScriptAndLanguage.h" | |
10 | #include "GlyphLookupTables.h" | |
11 | #include "LESwaps.h" | |
12 | ||
13 | U_NAMESPACE_BEGIN | |
14 | ||
15 | le_bool GlyphLookupTableHeader::coversScript(const LETableReference &base, LETag scriptTag, LEErrorCode &success) const | |
16 | { | |
17 | LEReferenceTo<ScriptListTable> scriptListTable(base, success, SWAPW(scriptListOffset)); | |
18 | ||
19 | return (scriptListOffset != 0) && scriptListTable->findScript(scriptListTable, scriptTag, success) .isValid(); | |
20 | } | |
21 | ||
22 | le_bool GlyphLookupTableHeader::coversScriptAndLanguage(const LETableReference &base, LETag scriptTag, LETag languageTag, LEErrorCode &success, le_bool exactMatch) const | |
23 | { | |
24 | LEReferenceTo<ScriptListTable> scriptListTable(base, success, SWAPW(scriptListOffset)); | |
25 | LEReferenceTo<LangSysTable> langSysTable = scriptListTable->findLanguage(scriptListTable, | |
26 | scriptTag, languageTag, success, exactMatch); | |
27 | ||
28 | // FIXME: could check featureListOffset, lookupListOffset, and lookup count... | |
29 | // Note: don't have to SWAPW langSysTable->featureCount to check for non-zero. | |
30 | return LE_SUCCESS(success)&&langSysTable.isValid() && langSysTable->featureCount != 0; | |
31 | } | |
32 | ||
33 | U_NAMESPACE_END |