Home | History | Annotate | Download | only in layout
      1 /*
      2  * @(#)KernTable.h	1.1 04/10/13
      3  *
      4  * (C) Copyright IBM Corp. 2004-2005 - 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 "LEFontInstance.h"
     17 //#include "LEGlyphStorage.h"
     18 
     19 #include <stdio.h>
     20 
     21 U_NAMESPACE_BEGIN
     22 struct PairInfo;
     23 class  LEFontInstance;
     24 class  LEGlyphStorage;
     25 
     26 /**
     27  * Windows type 0 kerning table support only for now.
     28  */
     29 class U_LAYOUT_API KernTable
     30 {
     31  private:
     32   le_uint16 coverage;
     33   le_uint16 nPairs;
     34   const PairInfo* pairs;
     35   const LEFontInstance* font;
     36   le_uint16 searchRange;
     37   le_uint16 entrySelector;
     38   le_uint16 rangeShift;
     39 
     40  public:
     41   KernTable(const LEFontInstance* font, const void* tableData);
     42 
     43   /*
     44    * Process the glyph positions.
     45    */
     46   void process(LEGlyphStorage& storage);
     47 };
     48 
     49 U_NAMESPACE_END
     50 
     51 #endif
     52