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