]> git.saurik.com Git - apple/icu.git/blob - icuSources/layout/KernTable.h
ICU-531.48.tar.gz
[apple/icu.git] / icuSources / layout / KernTable.h
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