1/***************************************************************************/ 2/* */ 3/* afwarp.h */ 4/* */ 5/* Auto-fitter warping algorithm (specification). */ 6/* */ 7/* Copyright 2006-2016 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 24FT_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 FT_LOCAL( void ) 51 af_warper_compute( AF_Warper warper, 52 AF_GlyphHints hints, 53 AF_Dimension dim, 54 FT_Fixed *a_scale, 55 FT_Fixed *a_delta ); 56 57 58FT_END_HEADER 59 60 61#endif /* AFWARP_H_ */ 62 63 64/* END */ 65