You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
3.8 KiB
113 lines
3.8 KiB
/***************************************************************************/ |
|
/* */ |
|
/* ftgasp.h */ |
|
/* */ |
|
/* Access of TrueType's `gasp' table (specification). */ |
|
/* */ |
|
/* Copyright 2007 by */ |
|
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
|
/* */ |
|
/* This file is part of the FreeType project, and may only be used, */ |
|
/* modified, and distributed under the terms of the FreeType project */ |
|
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ |
|
/* this file you indicate that you have read the license and */ |
|
/* understand and accept it fully. */ |
|
/* */ |
|
/***************************************************************************/ |
|
|
|
|
|
#ifndef _FT_GASP_H_ |
|
#define _FT_GASP_H_ |
|
|
|
#include <ft2build.h> |
|
#include FT_FREETYPE_H |
|
|
|
/*************************************************************************** |
|
* |
|
* @section: |
|
* gasp_table |
|
* |
|
* @title: |
|
* Gasp Table |
|
* |
|
* @abstract: |
|
* Retrieving TrueType `gasp' table entries |
|
* |
|
* @description: |
|
* The function @FT_Get_Gasp can be used to query a TrueType or OpenType |
|
* font for specific entries in their `gasp' table, if any. This is |
|
* mainly useful when implementing native TrueType hinting with the |
|
* bytecode interpreter to duplicate the Windows text rendering results. |
|
*/ |
|
|
|
/************************************************************************* |
|
* |
|
* @enum: |
|
* FT_GASP_XXX |
|
* |
|
* @description: |
|
* A list of values and/or bit-flags returned by the @FT_Get_Gasp |
|
* function. |
|
* |
|
* @values: |
|
* FT_GASP_NO_TABLE :: |
|
* This special value means that there is no GASP table in this face. |
|
* It is up to the client to decide what to do. |
|
* |
|
* FT_GASP_DO_GRIDFIT :: |
|
* Grid-fitting and hinting should be performed at the specified ppem. |
|
* This *really* means TrueType bytecode interpretation. |
|
* |
|
* FT_GASP_DO_GRAY :: |
|
* Anti-aliased rendering should be performed at the specified ppem. |
|
* |
|
* FT_GASP_SYMMETRIC_SMOOTHING :: |
|
* Smoothing along multiple axes must be used with ClearType. |
|
* |
|
* FT_GASP_SYMMETRIC_GRIDFIT :: |
|
* Grid-fitting must be used with ClearType's symmetric smoothing. |
|
* |
|
* @note: |
|
* `ClearType' is Microsoft's implementation of LCD rendering, partly |
|
* protected by patents. |
|
* |
|
* @since: |
|
* 2.3.0 |
|
*/ |
|
#define FT_GASP_NO_TABLE -1 |
|
#define FT_GASP_DO_GRIDFIT 0x01 |
|
#define FT_GASP_DO_GRAY 0x02 |
|
#define FT_GASP_SYMMETRIC_SMOOTHING 0x08 |
|
#define FT_GASP_SYMMETRIC_GRIDFIT 0x10 |
|
|
|
|
|
/************************************************************************* |
|
* |
|
* @func: |
|
* FT_Get_Gasp |
|
* |
|
* @description: |
|
* Read the `gasp' table from a TrueType or OpenType font file and |
|
* return the entry corresponding to a given character pixel size. |
|
* |
|
* @input: |
|
* face :: The source face handle. |
|
* ppem :: The vertical character pixel size. |
|
* |
|
* @return: |
|
* Bit flags (see @FT_GASP_XXX), or @FT_GASP_NO_TABLE is there is no |
|
* `gasp' table in the face. |
|
* |
|
* @since: |
|
* 2.3.0 |
|
*/ |
|
FT_EXPORT( FT_Int ) |
|
FT_Get_Gasp( FT_Face face, |
|
FT_UInt ppem ); |
|
|
|
/* */ |
|
|
|
#endif /* _FT_GASP_H_ */ |
|
|
|
|
|
/* END */
|
|
|