1
/***************************************************************************/
5
/* Access of TrueType's `gasp' table (specification). */
7
/* Copyright 2007, 2008, 2011 by */
8
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
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. */
16
/***************************************************************************/
23
#include FT_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."
32
/***************************************************************************
41
* Retrieving TrueType `gasp' table entries.
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.
50
/*************************************************************************
56
* A list of values and/or bit-flags returned by the @FT_Get_Gasp
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.
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.
70
* Anti-aliased rendering should be performed at the specified ppem.
71
* If not set, do monochrome rendering.
73
* FT_GASP_SYMMETRIC_SMOOTHING ::
74
* If set, smoothing along multiple axes must be used with ClearType.
76
* FT_GASP_SYMMETRIC_GRIDFIT ::
77
* Grid-fitting must be used with ClearType's symmetric smoothing.
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).
86
* `ClearType' is Microsoft's implementation of LCD rendering, partly
87
* protected by patents.
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
99
/*************************************************************************
105
* Read the `gasp' table from a TrueType or OpenType font file and
106
* return the entry corresponding to a given character pixel size.
109
* face :: The source face handle.
110
* ppem :: The vertical character pixel size.
113
* Bit flags (see @FT_GASP_XXX), or @FT_GASP_NO_TABLE if there is no
114
* `gasp' table in the face.
120
FT_Get_Gasp( FT_Face face,
125
#endif /* _FT_GASP_H_ */