source: trunk/poppler/freetype2/include/freetype/ftgasp.h @ 274

Last change on this file since 274 was 262, checked in by Eugene Romanenko, 13 years ago

PDF plugin: freetype library updated to version 2.3.8

File size: 4.1 KB
Line 
1/***************************************************************************/
2/*                                                                         */
3/*  ftgasp.h                                                               */
4/*                                                                         */
5/*    Access of TrueType's `gasp' table (specification).                   */
6/*                                                                         */
7/*  Copyright 2007, 2008 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.
67   *
68   *   FT_GASP_DO_GRAY ::
69   *     Anti-aliased rendering should be performed at the specified ppem.
70   *
71   *   FT_GASP_SYMMETRIC_SMOOTHING ::
72   *     Smoothing along multiple axes must be used with ClearType.
73   *
74   *   FT_GASP_SYMMETRIC_GRIDFIT ::
75   *     Grid-fitting must be used with ClearType's symmetric smoothing.
76   *
77   * @note:
78   *   `ClearType' is Microsoft's implementation of LCD rendering, partly
79   *   protected by patents.
80   *
81   * @since:
82   *   2.3.0
83   */
84#define FT_GASP_NO_TABLE               -1
85#define FT_GASP_DO_GRIDFIT           0x01
86#define FT_GASP_DO_GRAY              0x02
87#define FT_GASP_SYMMETRIC_SMOOTHING  0x08
88#define FT_GASP_SYMMETRIC_GRIDFIT    0x10
89
90
91  /*************************************************************************
92   *
93   * @func:
94   *   FT_Get_Gasp
95   *
96   * @description:
97   *   Read the `gasp' table from a TrueType or OpenType font file and
98   *   return the entry corresponding to a given character pixel size.
99   *
100   * @input:
101   *   face :: The source face handle.
102   *   ppem :: The vertical character pixel size.
103   *
104   * @return:
105   *   Bit flags (see @FT_GASP_XXX), or @FT_GASP_NO_TABLE if there is no
106   *   `gasp' table in the face.
107   *
108   * @since:
109   *   2.3.0
110   */
111  FT_EXPORT( FT_Int )
112  FT_Get_Gasp( FT_Face  face,
113               FT_UInt  ppem );
114
115/* */
116
117#endif /* _FT_GASP_H_ */
118
119
120/* END */
Note: See TracBrowser for help on using the repository browser.