1/****************************************************************************
2 *
3 * ftsynth.h
4 *
5 * FreeType synthesizing code for emboldening and slanting
6 * (specification).
7 *
8 * Copyright (C) 2000-2021 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 <freetype/freetype.h>
49
50#ifdef FREETYPE_H
51#error "freetype.h of FreeType 1 has been loaded!"
52#error "Please fix the directory search order for header files"
53#error "so that freetype.h of FreeType 2 is found first."
54#endif
55
56
57FT_BEGIN_HEADER
58
59 /* Embolden a glyph by a 'reasonable' value (which is highly a matter of */
60 /* taste). This function is actually a convenience function, providing */
61 /* a wrapper for @FT_Outline_Embolden and @FT_Bitmap_Embolden. */
62 /* */
63 /* For emboldened outlines the height, width, and advance metrics are */
64 /* increased by the strength of the emboldening -- this even affects */
65 /* mono-width fonts! */
66 /* */
67 /* You can also call @FT_Outline_Get_CBox to get precise values. */
68 FT_EXPORT( void )
69 FT_GlyphSlot_Embolden( FT_GlyphSlot slot );
70
71 /* Slant an outline glyph to the right by about 12 degrees. */
72 FT_EXPORT( void )
73 FT_GlyphSlot_Oblique( FT_GlyphSlot slot );
74
75 /* */
76
77
78FT_END_HEADER
79
80#endif /* FTSYNTH_H_ */
81
82
83/* END */
84

source code of include/freetype2/freetype/ftsynth.h