~ubuntu-branches/ubuntu/vivid/emscripten/vivid

« back to all changes in this revision

Viewing changes to tests/freetype/include/freetype/ftgasp.h

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2013-05-02 13:11:51 UTC
  • Revision ID: package-import@ubuntu.com-20130502131151-q8dvteqr1ef2x7xz
Tags: upstream-1.4.1~20130504~adb56cb
ImportĀ upstreamĀ versionĀ 1.4.1~20130504~adb56cb

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 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 */