Home | History | Annotate | Download | only in layout
      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
     53