src/share/native/sun/font/layout/KernTable.h

Print this page




  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