00001 /***************************************************************************/ 00002 /* */ 00003 /* ftsynth.h */ 00004 /* */ 00005 /* FreeType synthesizing code for emboldening and slanting */ 00006 /* (specification). */ 00007 /* */ 00008 /* Copyright 2000-2001, 2003, 2006, 2008 by */ 00009 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ 00010 /* */ 00011 /* This file is part of the FreeType project, and may only be used, */ 00012 /* modified, and distributed under the terms of the FreeType project */ 00013 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 00014 /* this file you indicate that you have read the license and */ 00015 /* understand and accept it fully. */ 00016 /* */ 00017 /***************************************************************************/ 00018 00019 00020 /*************************************************************************/ 00021 /*************************************************************************/ 00022 /*************************************************************************/ 00023 /*************************************************************************/ 00024 /*************************************************************************/ 00025 /********* *********/ 00026 /********* WARNING, THIS IS ALPHA CODE! THIS API *********/ 00027 /********* IS DUE TO CHANGE UNTIL STRICTLY NOTIFIED BY THE *********/ 00028 /********* FREETYPE DEVELOPMENT TEAM *********/ 00029 /********* *********/ 00030 /*************************************************************************/ 00031 /*************************************************************************/ 00032 /*************************************************************************/ 00033 /*************************************************************************/ 00034 /*************************************************************************/ 00035 00036 00037 /* Main reason for not lifting the functions in this module to a */ 00038 /* `standard' API is that the used parameters for emboldening and */ 00039 /* slanting are not configurable. Consider the functions as a */ 00040 /* code resource which should be copied into the application and */ 00041 /* adapted to the particular needs. */ 00042 00043 00044 #ifndef __FTSYNTH_H__ 00045 #define __FTSYNTH_H__ 00046 00047 00048 #include <ft2build.h> 00049 #include FT_FREETYPE_H 00050 00051 #ifdef FREETYPE_H 00052 #error "freetype.h of FreeType 1 has been loaded!" 00053 #error "Please fix the directory search order for header files" 00054 #error "so that freetype.h of FreeType 2 is found first." 00055 #endif 00056 00057 00058 FT_BEGIN_HEADER 00059 00060 /* Embolden a glyph by a `reasonable' value (which is highly a matter of */ 00061 /* taste). This function is actually a convenience function, providing */ 00062 /* a wrapper for @FT_Outline_Embolden and @FT_Bitmap_Embolden. */ 00063 /* */ 00064 /* For emboldened outlines the metrics are estimates only; if you need */ 00065 /* precise values you should call @FT_Outline_Get_CBox. */ 00066 FT_EXPORT( void ) 00067 FT_GlyphSlot_Embolden( FT_GlyphSlot slot ); 00068 00069 /* Slant an outline glyph to the right by about 12 degrees. */ 00070 FT_EXPORT( void ) 00071 FT_GlyphSlot_Oblique( FT_GlyphSlot slot ); 00072 00073 /* */ 00074 00075 FT_END_HEADER 00076 00077 #endif /* __FTSYNTH_H__ */ 00078 00079 00080 /* END */