|
1 /***************************************************************************/ |
|
2 /* */ |
|
3 /* afwarp.h */ |
|
4 /* */ |
|
5 /* Auto-fitter warping algorithm (specification). */ |
|
6 /* */ |
|
7 /* Copyright 2006, 2007 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) & ~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 |
|
58 FT_END_HEADER |
|
59 |
|
60 |
|
61 #endif /* __AFWARP_H__ */ |
|
62 |
|
63 |
|
64 /* END */ |