Home | History | Annotate | Download | only in autofit
      1 /***************************************************************************/
      2 /*                                                                         */
      3 /*  afdummy.c                                                              */
      4 /*                                                                         */
      5 /*    Auto-fitter dummy routines to be used if no hinting should be        */
      6 /*    performed (body).                                                    */
      7 /*                                                                         */
      8 /*  Copyright 2003-2015 by                                                 */
      9 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
     10 /*                                                                         */
     11 /*  This file is part of the FreeType project, and may only be used,       */
     12 /*  modified, and distributed under the terms of the FreeType project      */
     13 /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
     14 /*  this file you indicate that you have read the license and              */
     15 /*  understand and accept it fully.                                        */
     16 /*                                                                         */
     17 /***************************************************************************/
     18 
     19 
     20 #include "afdummy.h"
     21 #include "afhints.h"
     22 #include "aferrors.h"
     23 
     24 
     25   static FT_Error
     26   af_dummy_hints_init( AF_GlyphHints    hints,
     27                        AF_StyleMetrics  metrics )
     28   {
     29     af_glyph_hints_rescale( hints, metrics );
     30 
     31     hints->x_scale = metrics->scaler.x_scale;
     32     hints->y_scale = metrics->scaler.y_scale;
     33     hints->x_delta = metrics->scaler.x_delta;
     34     hints->y_delta = metrics->scaler.y_delta;
     35 
     36     return FT_Err_Ok;
     37   }
     38 
     39 
     40   static FT_Error
     41   af_dummy_hints_apply( FT_UInt        glyph_index,
     42                         AF_GlyphHints  hints,
     43                         FT_Outline*    outline )
     44   {
     45     FT_Error  error;
     46 
     47     FT_UNUSED( glyph_index );
     48 
     49 
     50     error = af_glyph_hints_reload( hints, outline );
     51     if ( !error )
     52       af_glyph_hints_save( hints, outline );
     53 
     54     return error;
     55   }
     56 
     57 
     58   AF_DEFINE_WRITING_SYSTEM_CLASS(
     59     af_dummy_writing_system_class,
     60 
     61     AF_WRITING_SYSTEM_DUMMY,
     62 
     63     sizeof ( AF_StyleMetricsRec ),
     64 
     65     (AF_WritingSystem_InitMetricsFunc) NULL,
     66     (AF_WritingSystem_ScaleMetricsFunc)NULL,
     67     (AF_WritingSystem_DoneMetricsFunc) NULL,
     68     (AF_WritingSystem_GetStdWidthsFunc)NULL,
     69 
     70     (AF_WritingSystem_InitHintsFunc)   af_dummy_hints_init,
     71     (AF_WritingSystem_ApplyHintsFunc)  af_dummy_hints_apply
     72   )
     73 
     74 
     75 /* END */
     76