Home | History | Annotate | Download | only in freetype
      1 /***************************************************************************/
      2 /*                                                                         */
      3 /*  ftsynth.h                                                              */
      4 /*                                                                         */
      5 /*    FreeType synthesizing code for emboldening and slanting              */
      6 /*    (specification).                                                     */
      7 /*                                                                         */
      8 /*  Copyright 2000-2018 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 -- this even affects     */
     66   /* mono-width fonts!                                                     */
     67   /*                                                                       */
     68   /* You can also call @FT_Outline_Get_CBox to get precise values.         */
     69   FT_EXPORT( void )
     70   FT_GlyphSlot_Embolden( FT_GlyphSlot  slot );
     71 
     72   /* Slant an outline glyph to the right by about 12 degrees. */
     73   FT_EXPORT( void )
     74   FT_GlyphSlot_Oblique( FT_GlyphSlot  slot );
     75 
     76   /* */
     77 
     78 
     79 FT_END_HEADER
     80 
     81 #endif /* FTSYNTH_H_ */
     82 
     83 
     84 /* END */
     85