Imported Upstream version 2.13.2
[platform/upstream/freetype2.git] / src / autofit / afdummy.c
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 (C) 2003-2023 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                         AF_StyleMetrics  metrics )
45   {
46     FT_Error  error;
47
48     FT_UNUSED( glyph_index );
49     FT_UNUSED( metrics );
50
51
52     error = af_glyph_hints_reload( hints, outline );
53     if ( !error )
54       af_glyph_hints_save( hints, outline );
55
56     return error;
57   }
58
59
60   AF_DEFINE_WRITING_SYSTEM_CLASS(
61     af_dummy_writing_system_class,
62
63     AF_WRITING_SYSTEM_DUMMY,
64
65     sizeof ( AF_StyleMetricsRec ),
66
67     (AF_WritingSystem_InitMetricsFunc) NULL,                /* style_metrics_init    */
68     (AF_WritingSystem_ScaleMetricsFunc)NULL,                /* style_metrics_scale   */
69     (AF_WritingSystem_DoneMetricsFunc) NULL,                /* style_metrics_done    */
70     (AF_WritingSystem_GetStdWidthsFunc)NULL,                /* style_metrics_getstdw */
71
72     (AF_WritingSystem_InitHintsFunc)   af_dummy_hints_init, /* style_hints_init      */
73     (AF_WritingSystem_ApplyHintsFunc)  af_dummy_hints_apply /* style_hints_apply     */
74   )
75
76
77 /* END */