PageRenderTime 368ms CodeModel.GetById 165ms app.highlight 3ms RepoModel.GetById 199ms app.codeStats 0ms

/src/compiler/android-ndk/jni/freetype/include/freetype/ftgasp.h

http://ftk.googlecode.com/
C++ Header | 120 lines | 18 code | 13 blank | 89 comment | 0 complexity | adf85d115b70eb1921622794001bd372 MD5 | raw file
  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 */