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 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(FT_UInt glyph_index,AF_GlyphHints hints,FT_Outline * outline,AF_StyleMetrics metrics)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