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