|
1 /***************************************************************************/ |
|
2 /* */ |
|
3 /* ftsynth.h */ |
|
4 /* */ |
|
5 /* FreeType synthesizing code for emboldening and slanting */ |
|
6 /* (specification). */ |
|
7 /* */ |
|
8 /* Copyright 2000-2001, 2003, 2006, 2008 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 which 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 metrics are estimates only; if you need */ |
|
65 /* precise values you should call @FT_Outline_Get_CBox. */ |
|
66 FT_EXPORT( void ) |
|
67 FT_GlyphSlot_Embolden( FT_GlyphSlot slot ); |
|
68 |
|
69 /* Slant an outline glyph to the right by about 12 degrees. */ |
|
70 FT_EXPORT( void ) |
|
71 FT_GlyphSlot_Oblique( FT_GlyphSlot slot ); |
|
72 |
|
73 /* */ |
|
74 |
|
75 FT_END_HEADER |
|
76 |
|
77 #endif /* __FTSYNTH_H__ */ |
|
78 |
|
79 |
|
80 /* END */ |