1/* 2 * @(#)KernTable.h 1.1 04/10/13 3 * 4 * (C) Copyright IBM Corp. 2004-2013 - All Rights Reserved 5 * 6 */ 7 8#ifndef __KERNTABLE_H 9#define __KERNTABLE_H 10 11#ifndef __LETYPES_H 12#include "LETypes.h" 13#endif 14 15#include "LETypes.h" 16#include "LETableReference.h" 17//#include "LEFontInstance.h" 18//#include "LEGlyphStorage.h" 19 20#include <stdio.h> 21 22U_NAMESPACE_BEGIN 23struct PairInfo; 24class LEFontInstance; 25class LEGlyphStorage; 26 27/** 28 * Windows type 0 kerning table support only for now. 29 */ 30class U_LAYOUT_API KernTable 31{ 32 private: 33 le_uint16 coverage; 34 le_uint16 nPairs; 35 LEReferenceToArrayOf<PairInfo> pairs; 36 const LETableReference &fTable; 37 le_uint16 searchRange; 38 le_uint16 entrySelector; 39 le_uint16 rangeShift; 40 41 public: 42 KernTable(const LETableReference &table, LEErrorCode &success); 43 44 /* 45 * Process the glyph positions. 46 */ 47 void process(LEGlyphStorage& storage, LEErrorCode &success); 48}; 49 50U_NAMESPACE_END 51 52#endif 53