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