1 | /***************************************************************************/ |
2 | /* */ |
3 | /* ftsynth.h */ |
4 | /* */ |
5 | /* FreeType synthesizing code for emboldening and slanting */ |
6 | /* (specification). */ |
7 | /* */ |
8 | /* Copyright 2000-2001, 2003, 2006, 2008, 2012, 2013 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 | /*************************************************************************/ |
21 | /*************************************************************************/ |
22 | /*************************************************************************/ |
23 | /*************************************************************************/ |
24 | /*************************************************************************/ |
25 | /********* *********/ |
26 | /********* WARNING, THIS IS ALPHA CODE! THIS API *********/ |
27 | /********* IS DUE TO CHANGE UNTIL STRICTLY NOTIFIED BY THE *********/ |
28 | /********* FREETYPE DEVELOPMENT TEAM *********/ |
29 | /********* *********/ |
30 | /*************************************************************************/ |
31 | /*************************************************************************/ |
32 | /*************************************************************************/ |
33 | /*************************************************************************/ |
34 | /*************************************************************************/ |
35 | |
36 | |
37 | /* Main reason for not lifting the functions in this module to a */ |
38 | /* `standard' API is that the used parameters for emboldening and */ |
39 | /* slanting are not configurable. Consider the functions as a */ |
40 | /* code resource that should be copied into the application and */ |
41 | /* adapted to the particular needs. */ |
42 | |
43 | |
44 | #ifndef __FTSYNTH_H__ |
45 | #define __FTSYNTH_H__ |
46 | |
47 | |
48 | #include <ft2build.h> |
49 | #include FT_FREETYPE_H |
50 | |
51 | #ifdef FREETYPE_H |
52 | #error "freetype.h of FreeType 1 has been loaded!" |
53 | #error "Please fix the directory search order for header files" |
54 | #error "so that freetype.h of FreeType 2 is found first." |
55 | #endif |
56 | |
57 | |
58 | FT_BEGIN_HEADER |
59 | |
60 | /* Embolden a glyph by a `reasonable' value (which is highly a matter of */ |
61 | /* taste). This function is actually a convenience function, providing */ |
62 | /* a wrapper for @FT_Outline_Embolden and @FT_Bitmap_Embolden. */ |
63 | /* */ |
64 | /* For emboldened outlines the height, width, and advance metrics are */ |
65 | /* increased by the strength of the emboldening. You can also call */ |
66 | /* @FT_Outline_Get_CBox to get precise values. */ |
67 | FT_EXPORT( void ) |
68 | FT_GlyphSlot_Embolden( FT_GlyphSlot slot ); |
69 | |
70 | /* Slant an outline glyph to the right by about 12 degrees. */ |
71 | FT_EXPORT( void ) |
72 | FT_GlyphSlot_Oblique( FT_GlyphSlot slot ); |
73 | |
74 | /* */ |
75 | |
76 | FT_END_HEADER |
77 | |
78 | #endif /* __FTSYNTH_H__ */ |
79 | |
80 | |
81 | /* END */ |
82 | |