1ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/* 2ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * @(#)KernTable.h 1.1 04/10/13 3ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * 4ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * (C) Copyright IBM Corp. 2004-2005 - All Rights Reserved 5ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * 6ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */ 7ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 8ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#ifndef __KERNTABLE_H 9ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#define __KERNTABLE_H 10ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 11ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#ifndef __LETYPES_H 12ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "LETypes.h" 13ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 14ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 15ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "LETypes.h" 16ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//#include "LEFontInstance.h" 17ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//#include "LEGlyphStorage.h" 18ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 19ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include <stdio.h> 20ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 21ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QueruU_NAMESPACE_BEGIN 22ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct PairInfo; 23ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruclass LEFontInstance; 24ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruclass LEGlyphStorage; 25ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 26ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/** 27ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * Windows type 0 kerning table support only for now. 28ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */ 29ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruclass U_LAYOUT_API KernTable 30ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 31ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru private: 32ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 coverage; 33ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 nPairs; 34ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const PairInfo* pairs; 35ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru const LEFontInstance* font; 36ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 searchRange; 37ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 entrySelector; 38ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 rangeShift; 39ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 40ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru public: 41ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru KernTable(const LEFontInstance* font, const void* tableData); 42ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 43ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru /* 44ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * Process the glyph positions. 45ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */ 46ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru void process(LEGlyphStorage& storage); 47ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 48ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 49ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QueruU_NAMESPACE_END 50ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 51ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 52