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-2018 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, /* style_metrics_init */
66 (AF_WritingSystem_ScaleMetricsFunc)NULL, /* style_metrics_scale */
67 (AF_WritingSystem_DoneMetricsFunc) NULL, /* style_metrics_done */
68 (AF_WritingSystem_GetStdWidthsFunc)NULL, /* style_metrics_getstdw */
69
70 (AF_WritingSystem_InitHintsFunc) af_dummy_hints_init, /* style_hints_init */
71 (AF_WritingSystem_ApplyHintsFunc) af_dummy_hints_apply /* style_hints_apply */
72 )
73
74
75/* END */
76