1 /**************************************************************************** 2 * 3 * afwarp.h 4 * 5 * Auto-fitter warping algorithm (specification). 6 * 7 * Copyright 2006-2018 by 8 * David Turner, Robert Wilhelm, and Werner Lemberg. 9 * 10 * This file is part of the FreeType project, and may only be used, 11 * modified, and distributed under the terms of the FreeType project 12 * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 * this file you indicate that you have read the license and 14 * understand and accept it fully. 15 * 16 */ 17 18 19 #ifndef AFWARP_H_ 20 #define AFWARP_H_ 21 22 #include "afhints.h" 23 24 FT_BEGIN_HEADER 25 26 #define AF_WARPER_SCALE 27 28 #define AF_WARPER_FLOOR( x ) ( (x) & ~FT_TYPEOF( x )63 ) 29 #define AF_WARPER_CEIL( x ) AF_WARPER_FLOOR( (x) + 63 ) 30 31 32 typedef FT_Int32 AF_WarpScore; 33 34 typedef struct AF_WarperRec_ 35 { 36 FT_Pos x1, x2; 37 FT_Pos t1, t2; 38 FT_Pos x1min, x1max; 39 FT_Pos x2min, x2max; 40 FT_Pos w0, wmin, wmax; 41 42 FT_Fixed best_scale; 43 FT_Pos best_delta; 44 AF_WarpScore best_score; 45 AF_WarpScore best_distort; 46 47 } AF_WarperRec, *AF_Warper; 48 49 50 #ifdef AF_CONFIG_OPTION_USE_WARPER 51 FT_LOCAL( void ) 52 af_warper_compute( AF_Warper warper, 53 AF_GlyphHints hints, 54 AF_Dimension dim, 55 FT_Fixed *a_scale, 56 FT_Fixed *a_delta ); 57 #endif 58 59 60 FT_END_HEADER 61 62 63 #endif /* AFWARP_H_ */ 64 65 66 /* END */ 67