1 /****************************************************************************
   2  *
   3  * svpfr.h
   4  *
   5  *   Internal PFR service functions (specification).
   6  *
   7  * Copyright (C) 2003-2019 by
   8  * David Turner, Robert Wilhelm, and Werner Lemberg.
   9  *
  10  * This file is part of the FreeType project, and may only be used,
  11  * modified, and distributed under the terms of the FreeType project
  12  * license, LICENSE.TXT.  By continuing to use, modify, or distribute
  13  * this file you indicate that you have read the license and
  14  * understand and accept it fully.
  15  *
  16  */
  17 
  18 
  19 #ifndef SVPFR_H_
  20 #define SVPFR_H_
  21 
  22 #include FT_PFR_H
  23 #include FT_INTERNAL_SERVICE_H
  24 
  25 
  26 FT_BEGIN_HEADER
  27 
  28 
  29 #define FT_SERVICE_ID_PFR_METRICS  "pfr-metrics"
  30 
  31 
  32   typedef FT_Error
  33   (*FT_PFR_GetMetricsFunc)( FT_Face    face,
  34                             FT_UInt   *aoutline,
  35                             FT_UInt   *ametrics,
  36                             FT_Fixed  *ax_scale,
  37                             FT_Fixed  *ay_scale );
  38 
  39   typedef FT_Error
  40   (*FT_PFR_GetKerningFunc)( FT_Face     face,
  41                             FT_UInt     left,
  42                             FT_UInt     right,
  43                             FT_Vector  *avector );
  44 
  45   typedef FT_Error
  46   (*FT_PFR_GetAdvanceFunc)( FT_Face   face,
  47                             FT_UInt   gindex,
  48                             FT_Pos   *aadvance );
  49 
  50 
  51   FT_DEFINE_SERVICE( PfrMetrics )
  52   {
  53     FT_PFR_GetMetricsFunc  get_metrics;
  54     FT_PFR_GetKerningFunc  get_kerning;
  55     FT_PFR_GetAdvanceFunc  get_advance;
  56 
  57   };
  58 
  59  /* */
  60 
  61 FT_END_HEADER
  62 
  63 #endif /* SVPFR_H_ */
  64 
  65 
  66 /* END */