1ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/* 2ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * @(#)KernTable.h 1.1 04/10/13 3ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * 459d709d503bab6e2b61931737e662dd293b40578ccornelius * (C) Copyright IBM Corp. 2004-2013 - 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" 1659d709d503bab6e2b61931737e662dd293b40578ccornelius#include "LETableReference.h" 17ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//#include "LEFontInstance.h" 18ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//#include "LEGlyphStorage.h" 19ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 20ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include <stdio.h> 21ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 22ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QueruU_NAMESPACE_BEGIN 23ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct PairInfo; 24ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruclass LEFontInstance; 25ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruclass LEGlyphStorage; 26ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 27ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/** 28ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * Windows type 0 kerning table support only for now. 29ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */ 30ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruclass U_LAYOUT_API KernTable 31ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 32ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru private: 33ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 coverage; 34ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 nPairs; 3559d709d503bab6e2b61931737e662dd293b40578ccornelius LEReferenceToArrayOf<PairInfo> pairs; 3659d709d503bab6e2b61931737e662dd293b40578ccornelius const LETableReference &fTable; 37ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 searchRange; 38ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 entrySelector; 39ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 rangeShift; 40ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 41ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru public: 4259d709d503bab6e2b61931737e662dd293b40578ccornelius KernTable(const LETableReference &table, LEErrorCode &success); 43ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 44ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru /* 45ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * Process the glyph positions. 46ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */ 4759d709d503bab6e2b61931737e662dd293b40578ccornelius void process(LEGlyphStorage& storage, LEErrorCode &success); 48ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 49ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 50ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QueruU_NAMESPACE_END 51ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 52ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 53