40 #include "LETypes.h"
41 #include "LETableReference.h"
42 //#include "LEFontInstance.h"
43 //#include "LEGlyphStorage.h"
44
45 #include <stdio.h>
46
47 U_NAMESPACE_BEGIN
48 struct PairInfo;
49 class LEFontInstance;
50 class LEGlyphStorage;
51
52 /**
53 * Windows type 0 kerning table support only for now.
54 */
55 class U_LAYOUT_API KernTable
56 {
57 private:
58 le_uint16 coverage;
59 le_uint16 nPairs;
60 LEReferenceToArrayOf<PairInfo> pairs;
61 PairInfo *pairsSwapped;
62 const LETableReference &fTable;
63 le_uint16 searchRange;
64 le_uint16 entrySelector;
65 le_uint16 rangeShift;
66
67 public:
68 KernTable(const LETableReference &table, LEErrorCode &success);
69
70 /*
71 * Process the glyph positions.
72 */
73 void process(LEGlyphStorage& storage, LEErrorCode &success);
74 };
75
76 U_NAMESPACE_END
77
78 #endif
|
40 #include "LETypes.h"
41 #include "LETableReference.h"
42 //#include "LEFontInstance.h"
43 //#include "LEGlyphStorage.h"
44
45 #include <stdio.h>
46
47 U_NAMESPACE_BEGIN
48 struct PairInfo;
49 class LEFontInstance;
50 class LEGlyphStorage;
51
52 /**
53 * Windows type 0 kerning table support only for now.
54 */
55 class U_LAYOUT_API KernTable
56 {
57 private:
58 le_uint16 coverage;
59 le_uint16 nPairs;
60 PairInfo *pairsSwapped;
61 const LETableReference &fTable;
62 le_uint16 searchRange;
63 le_uint16 entrySelector;
64 le_uint16 rangeShift;
65
66 public:
67 KernTable(const LETableReference &table, LEErrorCode &success);
68
69 /*
70 * Process the glyph positions.
71 */
72 void process(LEGlyphStorage& storage, LEErrorCode &success);
73 };
74
75 U_NAMESPACE_END
76
77 #endif
|