XFA: merge patch from CL 817753002
[pdfium.git] / core / src / fxge / fx_freetype / fxft2.5.01 / include / freetype / ftsynth.h
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 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 "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 */