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 */ |
78 | |