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
af_dummy_hints_init(AF_GlyphHints hints,AF_StyleMetrics metrics)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
af_dummy_hints_apply(AF_GlyphHints hints,FT_Outline * outline)41   af_dummy_hints_apply( AF_GlyphHints  hints,
42                         FT_Outline*    outline )
43   {
44     FT_Error  error;
45 
46 
47     error = af_glyph_hints_reload( hints, outline );
48     if ( !error )
49       af_glyph_hints_save( hints, outline );
50 
51     return error;
52   }
53 
54 
55   AF_DEFINE_WRITING_SYSTEM_CLASS(
56     af_dummy_writing_system_class,
57 
58     AF_WRITING_SYSTEM_DUMMY,
59 
60     sizeof ( AF_StyleMetricsRec ),
61 
62     (AF_WritingSystem_InitMetricsFunc) NULL,
63     (AF_WritingSystem_ScaleMetricsFunc)NULL,
64     (AF_WritingSystem_DoneMetricsFunc) NULL,
65 
66     (AF_WritingSystem_InitHintsFunc)   af_dummy_hints_init,
67     (AF_WritingSystem_ApplyHintsFunc)  af_dummy_hints_apply
68   )
69 
70 
71 /* END */
72