Github User Fetcher
1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
ftgasp.h
Go to the documentation of this file.
1
/****************************************************************************
2
*
3
* ftgasp.h
4
*
5
* Access of TrueType's 'gasp' table (specification).
6
*
7
* Copyright (C) 2007-2024 by
8
* David Turner, Robert Wilhelm, and Werner Lemberg.
9
*
10
* This file is part of the FreeType project, and may only be used,
11
* modified, and distributed under the terms of the FreeType project
12
* license, LICENSE.TXT. By continuing to use, modify, or distribute
13
* this file you indicate that you have read the license and
14
* understand and accept it fully.
15
*
16
*/
17
18
19
#ifndef FTGASP_H_
20
#define FTGASP_H_
21
22
#include <freetype/freetype.h>
23
24
#ifdef FREETYPE_H
25
#error "freetype.h of FreeType 1 has been loaded!"
26
#error "Please fix the directory search order for header files"
27
#error "so that freetype.h of FreeType 2 is found first."
28
#endif
29
30
31
FT_BEGIN_HEADER
32
33
34
/**************************************************************************
35
*
36
* @section:
37
* gasp_table
38
*
39
* @title:
40
* Gasp Table
41
*
42
* @abstract:
43
* Retrieving TrueType 'gasp' table entries.
44
*
45
* @description:
46
* The function @FT_Get_Gasp can be used to query a TrueType or OpenType
47
* font for specific entries in its 'gasp' table, if any. This is mainly
48
* useful when implementing native TrueType hinting with the bytecode
49
* interpreter to duplicate the Windows text rendering results.
50
*/
51
52
/**************************************************************************
53
*
54
* @enum:
55
* FT_GASP_XXX
56
*
57
* @description:
58
* A list of values and/or bit-flags returned by the @FT_Get_Gasp
59
* function.
60
*
61
* @values:
62
* FT_GASP_NO_TABLE ::
63
* This special value means that there is no GASP table in this face.
64
* It is up to the client to decide what to do.
65
*
66
* FT_GASP_DO_GRIDFIT ::
67
* Grid-fitting and hinting should be performed at the specified ppem.
68
* This **really** means TrueType bytecode interpretation. If this bit
69
* is not set, no hinting gets applied.
70
*
71
* FT_GASP_DO_GRAY ::
72
* Anti-aliased rendering should be performed at the specified ppem.
73
* If not set, do monochrome rendering.
74
*
75
* FT_GASP_SYMMETRIC_SMOOTHING ::
76
* If set, smoothing along multiple axes must be used with ClearType.
77
*
78
* FT_GASP_SYMMETRIC_GRIDFIT ::
79
* Grid-fitting must be used with ClearType's symmetric smoothing.
80
*
81
* @note:
82
* The bit-flags `FT_GASP_DO_GRIDFIT` and `FT_GASP_DO_GRAY` are to be
83
* used for standard font rasterization only. Independently of that,
84
* `FT_GASP_SYMMETRIC_SMOOTHING` and `FT_GASP_SYMMETRIC_GRIDFIT` are to
85
* be used if ClearType is enabled (and `FT_GASP_DO_GRIDFIT` and
86
* `FT_GASP_DO_GRAY` are consequently ignored).
87
*
88
* 'ClearType' is Microsoft's implementation of LCD rendering, partly
89
* protected by patents.
90
*
91
* @since:
92
* 2.3.0
93
*/
94
#define FT_GASP_NO_TABLE -1
95
#define FT_GASP_DO_GRIDFIT 0x01
96
#define FT_GASP_DO_GRAY 0x02
97
#define FT_GASP_SYMMETRIC_GRIDFIT 0x04
98
#define FT_GASP_SYMMETRIC_SMOOTHING 0x08
99
100
101
/**************************************************************************
102
*
103
* @function:
104
* FT_Get_Gasp
105
*
106
* @description:
107
* For a TrueType or OpenType font file, return the rasterizer behaviour
108
* flags from the font's 'gasp' table corresponding to a given character
109
* pixel size.
110
*
111
* @input:
112
* face ::
113
* The source face handle.
114
*
115
* ppem ::
116
* The vertical character pixel size.
117
*
118
* @return:
119
* Bit flags (see @FT_GASP_XXX), or @FT_GASP_NO_TABLE if there is no
120
* 'gasp' table in the face.
121
*
122
* @note:
123
* If you want to use the MM functionality of OpenType variation fonts
124
* (i.e., using @FT_Set_Var_Design_Coordinates and friends), call this
125
* function **after** setting an instance since the return values can
126
* change.
127
*
128
* @since:
129
* 2.3.0
130
*/
131
FT_EXPORT
(
FT_Int
)
132
FT_Get_Gasp
(
FT_Face
face,
133
FT_UInt
ppem );
134
135
/* */
136
137
138
FT_END_HEADER
139
140
#endif
/* FTGASP_H_ */
141
142
143
/* END */
FT_Get_Gasp
FT_Get_Gasp(FT_Face face, FT_UInt ppem)
FT_END_HEADER
#define FT_END_HEADER
Definition
ftheader.h:57
FT_BEGIN_HEADER
#define FT_BEGIN_HEADER
Definition
ftheader.h:37
FT_UInt
unsigned int FT_UInt
Definition
fttypes.h:234
FT_Int
signed int FT_Int
Definition
fttypes.h:223
FT_EXPORT
#define FT_EXPORT(x)
Definition
public-macros.h:104
FT_FaceRec_
Definition
freetype.h:1230
nix
store
w4wi2ik0fkz57b7i8ds4fr1jnj0333j0-freetype-2.13.3-dev
include
freetype2
freetype
ftgasp.h
Generated by
1.10.0