zenilib
0.5.3.0
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
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 2007, 2008, 2011 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 _FT_GASP_H_
20
#define _FT_GASP_H_
21
22
#include <
ft2build.h
>
23
#include FT_FREETYPE_H
24
25
#ifdef FREETYPE_H
26
#error "freetype.h of FreeType 1 has been loaded!"
27
#error "Please fix the directory search order for header files"
28
#error "so that freetype.h of FreeType 2 is found first."
29
#endif
30
31
32
/***************************************************************************
33
*
34
* @section:
35
* gasp_table
36
*
37
* @title:
38
* Gasp Table
39
*
40
* @abstract:
41
* Retrieving TrueType `gasp' table entries.
42
*
43
* @description:
44
* The function @FT_Get_Gasp can be used to query a TrueType or OpenType
45
* font for specific entries in its `gasp' table, if any. This is
46
* mainly useful when implementing native TrueType hinting with the
47
* bytecode interpreter to duplicate the Windows text rendering results.
48
*/
49
50
/*************************************************************************
51
*
52
* @enum:
53
* FT_GASP_XXX
54
*
55
* @description:
56
* A list of values and/or bit-flags returned by the @FT_Get_Gasp
57
* function.
58
*
59
* @values:
60
* FT_GASP_NO_TABLE ::
61
* This special value means that there is no GASP table in this face.
62
* It is up to the client to decide what to do.
63
*
64
* FT_GASP_DO_GRIDFIT ::
65
* Grid-fitting and hinting should be performed at the specified ppem.
66
* This *really* means TrueType bytecode interpretation. If this bit
67
* is not set, no hinting gets applied.
68
*
69
* FT_GASP_DO_GRAY ::
70
* Anti-aliased rendering should be performed at the specified ppem.
71
* If not set, do monochrome rendering.
72
*
73
* FT_GASP_SYMMETRIC_SMOOTHING ::
74
* If set, smoothing along multiple axes must be used with ClearType.
75
*
76
* FT_GASP_SYMMETRIC_GRIDFIT ::
77
* Grid-fitting must be used with ClearType's symmetric smoothing.
78
*
79
* @note:
80
* The bit-flags `FT_GASP_DO_GRIDFIT' and `FT_GASP_DO_GRAY' are to be
81
* used for standard font rasterization only. Independently of that,
82
* `FT_GASP_SYMMETRIC_SMOOTHING' and `FT_GASP_SYMMETRIC_GRIDFIT' are to
83
* be used if ClearType is enabled (and `FT_GASP_DO_GRIDFIT' and
84
* `FT_GASP_DO_GRAY' are consequently ignored).
85
*
86
* `ClearType' is Microsoft's implementation of LCD rendering, partly
87
* protected by patents.
88
*
89
* @since:
90
* 2.3.0
91
*/
92
#define FT_GASP_NO_TABLE -1
93
#define FT_GASP_DO_GRIDFIT 0x01
94
#define FT_GASP_DO_GRAY 0x02
95
#define FT_GASP_SYMMETRIC_SMOOTHING 0x08
96
#define FT_GASP_SYMMETRIC_GRIDFIT 0x10
97
98
99
/*************************************************************************
100
*
101
* @func:
102
* FT_Get_Gasp
103
*
104
* @description:
105
* Read the `gasp' table from a TrueType or OpenType font file and
106
* return the entry corresponding to a given character pixel size.
107
*
108
* @input:
109
* face :: The source face handle.
110
* ppem :: The vertical character pixel size.
111
*
112
* @return:
113
* Bit flags (see @FT_GASP_XXX), or @FT_GASP_NO_TABLE if there is no
114
* `gasp' table in the face.
115
*
116
* @since:
117
* 2.3.0
118
*/
119
FT_EXPORT
(
FT_Int
)
120
FT_Get_Gasp
(
FT_Face
face
,
121
FT_UInt
ppem );
122
123
/* */
124
125
#endif
/* _FT_GASP_H_ */
126
127
128
/* END */
FT_Int
signed int FT_Int
Definition:
fttypes.h:216
FT_FaceRec_
Definition:
freetype.h:912
face
GLenum face
Definition:
gl2ext.h:1490
ft2build.h
FT_UInt
unsigned int FT_UInt
Definition:
fttypes.h:227
FT_EXPORT
#define FT_EXPORT(x)
Definition:
ftconfig.h:500
FT_Get_Gasp
FT_Get_Gasp(FT_Face face, FT_UInt ppem)
Definition:
ftgasp.c:25
zenilib
jni
external
freetype2
include
freetype
ftgasp.h
Generated on Thu Oct 3 2013 19:56:00 for zenilib by
1.8.5