54876
|
1 |
/****************************************************************************
|
|
2 |
*
|
|
3 |
* ftsynth.h
|
|
4 |
*
|
|
5 |
* FreeType synthesizing code for emboldening and slanting
|
|
6 |
* (specification).
|
|
7 |
*
|
|
8 |
* Copyright (C) 2000-2019 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 |
*/
|
49234
|
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 */
|
54876
|
38 |
/* 'standard' API is that the used parameters for emboldening and */
|
49234
|
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 |
|
54876
|
60 |
/* Embolden a glyph by a 'reasonable' value (which is highly a matter of */
|
49234
|
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 */
|