~reviczky/luatex/texlive-bin-git

« back to all changes in this revision

Viewing changes to libs/freetype2/freetype-2.5.3/include/ftgasp.h

  • Committer: Adam Reviczky
  • Date: 2015-04-26 22:40:47 UTC
  • Revision ID: adam.reviczky@kclalumni.net-20150426224047-i2p26n3wqphupq6z
TeX Live 2015 import (rev. 37052)

Show diffs side-by-side

added added

removed removed

Lines of Context:
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 */