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 22 U_NAMESPACE_BEGIN 23 struct PairInfo; 24 class LEFontInstance; 25 class LEGlyphStorage; 26 27 /** 28 * Windows type 0 kerning table support only for now. 29 */ 30 class 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 50 U_NAMESPACE_END 51 52 #endif 53