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
58FT_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
79FT_END_HEADER
80
81#endif /* FTSYNTH_H_ */
82
83
84/* END */
85