sl@0: /* sl@0: * @(#)KernTable.h 1.1 04/10/13 sl@0: * sl@0: * (C) Copyright IBM Corp. 2004-2005 - All Rights Reserved sl@0: * sl@0: */ sl@0: sl@0: #ifndef __KERNTABLE_H sl@0: #define __KERNTABLE_H sl@0: sl@0: #ifndef __LETYPES_H sl@0: #include "LETypes.h" sl@0: #endif sl@0: sl@0: #include "LETypes.h" sl@0: #include "LEFontInstance.h" sl@0: #include "LEGlyphStorage.h" sl@0: sl@0: #include sl@0: sl@0: U_NAMESPACE_BEGIN sl@0: struct PairInfo; sl@0: sl@0: /** sl@0: * Windows type 0 kerning table support only for now. sl@0: */ sl@0: class U_LAYOUT_API KernTable sl@0: { sl@0: private: sl@0: le_uint16 coverage; sl@0: le_uint16 nPairs; sl@0: const PairInfo* pairs; sl@0: const LEFontInstance* font; sl@0: le_uint16 searchRange; sl@0: le_uint16 entrySelector; sl@0: le_uint16 rangeShift; sl@0: sl@0: public: sl@0: KernTable(const LEFontInstance* font, const void* tableData); sl@0: sl@0: /* sl@0: * Process the glyph positions. sl@0: */ sl@0: void process(LEGlyphStorage& storage); sl@0: }; sl@0: sl@0: U_NAMESPACE_END sl@0: sl@0: #endif