sl@0
|
1 |
/*
|
sl@0
|
2 |
*
|
sl@0
|
3 |
* (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
|
sl@0
|
4 |
*
|
sl@0
|
5 |
*/
|
sl@0
|
6 |
|
sl@0
|
7 |
#include "LETypes.h"
|
sl@0
|
8 |
#include "OpenTypeTables.h"
|
sl@0
|
9 |
#include "ScriptAndLanguage.h"
|
sl@0
|
10 |
#include "GlyphLookupTables.h"
|
sl@0
|
11 |
#include "LESwaps.h"
|
sl@0
|
12 |
|
sl@0
|
13 |
U_NAMESPACE_BEGIN
|
sl@0
|
14 |
|
sl@0
|
15 |
le_bool GlyphLookupTableHeader::coversScript(LETag scriptTag) const
|
sl@0
|
16 |
{
|
sl@0
|
17 |
const ScriptListTable *scriptListTable = (const ScriptListTable *) ((char *)this + SWAPW(scriptListOffset));
|
sl@0
|
18 |
|
sl@0
|
19 |
return scriptListOffset != 0 && scriptListTable->findScript(scriptTag) != NULL;
|
sl@0
|
20 |
}
|
sl@0
|
21 |
|
sl@0
|
22 |
le_bool GlyphLookupTableHeader::coversScriptAndLanguage(LETag scriptTag, LETag languageTag, le_bool exactMatch) const
|
sl@0
|
23 |
{
|
sl@0
|
24 |
const ScriptListTable *scriptListTable = (const ScriptListTable *) ((char *)this + SWAPW(scriptListOffset));
|
sl@0
|
25 |
const LangSysTable *langSysTable = scriptListTable->findLanguage(scriptTag, languageTag, exactMatch);
|
sl@0
|
26 |
|
sl@0
|
27 |
// FIXME: could check featureListOffset, lookupListOffset, and lookup count...
|
sl@0
|
28 |
// Note: don't have to SWAPW langSysTable->featureCount to check for non-zero.
|
sl@0
|
29 |
return langSysTable != NULL && langSysTable->featureCount != 0;
|
sl@0
|
30 |
}
|
sl@0
|
31 |
|
sl@0
|
32 |
U_NAMESPACE_END
|