1/* 2 * 3 * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved 4 * 5 */ 6 7#include "LETypes.h" 8#include "OpenTypeTables.h" 9#include "Lookups.h" 10#include "CoverageTables.h" 11#include "LESwaps.h" 12 13U_NAMESPACE_BEGIN 14 15const LookupTable *LookupListTable::getLookupTable(le_uint16 lookupTableIndex) const 16{ 17 if (lookupTableIndex >= SWAPW(lookupCount)) { 18 return 0; 19 } 20 21 Offset lookupTableOffset = lookupTableOffsetArray[lookupTableIndex]; 22 23 return (const LookupTable *) ((char *) this + SWAPW(lookupTableOffset)); 24} 25 26const LookupSubtable *LookupTable::getLookupSubtable(le_uint16 subtableIndex) const 27{ 28 if (subtableIndex >= SWAPW(subTableCount)) { 29 return 0; 30 } 31 32 Offset subtableOffset = subTableOffsetArray[subtableIndex]; 33 34 return (const LookupSubtable *) ((char *) this + SWAPW(subtableOffset)); 35} 36 37le_int32 LookupSubtable::getGlyphCoverage(Offset tableOffset, LEGlyphID glyphID) const 38{ 39 const CoverageTable *coverageTable = (const CoverageTable *) ((char *) this + SWAPW(tableOffset)); 40 41 return coverageTable->getGlyphCoverage(glyphID); 42} 43 44U_NAMESPACE_END 45