| /***************************************************************************/ |
| /* */ |
| /* ftautoh.h */ |
| /* */ |
| /* FreeType API for setting and accessing auto-hinter properties */ |
| /* (specification). */ |
| /* */ |
| /* Copyright 2012 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 __FTAUTOH_H__ |
| #define __FTAUTOH_H__ |
| |
| #include <ft2build.h> |
| #include FT_FREETYPE_H |
| |
| #ifdef FREETYPE_H |
| #error "freetype.h of FreeType 1 has been loaded!" |
| #error "Please fix the directory search order for header files" |
| #error "so that freetype.h of FreeType 2 is found first." |
| #endif |
| |
| |
| FT_BEGIN_HEADER |
| |
| |
| /*************************************************************************/ |
| /* */ |
| /* <Section> */ |
| /* autohinter */ |
| /* */ |
| /* <Title> */ |
| /* The Auto-hinter */ |
| /* */ |
| /* <Abstract> */ |
| /* Controlling the behaviour of the auto-hinting engine. */ |
| /* */ |
| /* <Description> */ |
| /* This section contains the declaration of functions specific to the */ |
| /* auto-hinter. */ |
| /* */ |
| /*************************************************************************/ |
| |
| |
| /********************************************************************** |
| * |
| * @enum: |
| * FT_AUTOHINTER_XXX |
| * |
| * @description: |
| * A list of bit-field constants used with |
| * @FT_Library_GetAutohinterProperties, |
| * @FT_Face_GetAutohinterProperties, |
| * @FT_Library_SetAutohinterProperties, and |
| * @FT_Face_SetAutohinterProperties to control the behaviour of the |
| * auto-hinter. |
| * |
| * @values: |
| * FT_AUTOHINTER_DEFAULT:: |
| * Corresponding to~0, this value indicates the default value. |
| * |
| * FT_AUTOHINTER_INCREASE_GLYPH_HEIGHTS :: |
| * For glyphs in the size range 5 < PPEM < 15, round up the glyph |
| * height much more often than normally. |
| */ |
| #define FT_AUTOHINTER_DEFAULT 0x0 |
| #define FT_AUTOHINTER_INCREASE_GLYPH_HEIGHTS ( 1L << 0 ) |
| |
| |
| /********************************************************************** |
| * |
| * @function: |
| * FT_Library_GetAutohinterProperties |
| * |
| * @description: |
| * Retrieve the global property flags which control the behaviour of the |
| * auto-hinter. |
| * |
| * @output: |
| * properties :: |
| * The current global auto-hinter property flags, consisting of |
| * @FT_AUTOHINTER_XXX constants which are ORed together. |
| * |
| * Use @FT_Face_GetAutohinterProperties to retrieve the local |
| * properties of a face. |
| * |
| * @return: |
| * FreeType error code. 0~means success. |
| */ |
| FT_EXPORT( FT_Error ) |
| FT_Library_GetAutohinterProperties( FT_Library library, |
| FT_Int32 *properties ); |
| |
| |
| /********************************************************************** |
| * |
| * @function: |
| * FT_Library_SetAutohinterProperties |
| * |
| * @description: |
| * Set the global property flags which control the behaviour of the |
| * auto-hinter. |
| * |
| * @input: |
| * properties :: |
| * The auto-hinter property flags to be set globally, consisting of |
| * @FT_AUTOHINTER_XXX constants which are ORed together. All faces |
| * created after a call to this function inherit the new auto-hinter |
| * properties. |
| * |
| * Use @FT_Face_SetAutohinterProperties to override the properties |
| * locally. |
| * |
| * @return: |
| * FreeType error code. 0~means success. |
| */ |
| FT_EXPORT( FT_Error ) |
| FT_Library_SetAutohinterProperties( FT_Library library, |
| FT_Int32 properties ); |
| |
| |
| /********************************************************************** |
| * |
| * @function: |
| * FT_Face_GetAutohinterProperties |
| * |
| * @description: |
| * Retrieve the property flags which control the behaviour of the |
| * auto-hinter for the given face. |
| * |
| * @input: |
| * face :: |
| * A handle to the input face. |
| * |
| * @output: |
| * properties :: |
| * The current auto-hinter property flags of the given face, |
| * consisting of @FT_AUTOHINTER_XXX constants which are ORed |
| * together. |
| * |
| * @return: |
| * FreeType error code. 0~means success. |
| * |
| */ |
| FT_EXPORT( FT_Error ) |
| FT_Face_GetAutohinterProperties( FT_Face face, |
| FT_Int32 *properties ); |
| |
| |
| /********************************************************************** |
| * |
| * @function: |
| * FT_Face_SetAutohinterProperties |
| * |
| * @description: |
| * Set the property flags which control the behaviour of the autolhinter |
| * for the given face. |
| * |
| * @input: |
| * face :: |
| * A handle to the input face. |
| * |
| * properties :: |
| * The auto-hinter property flags to be set for the given face, |
| * consisting of @FT_AUTOHINTER_XXX constants which are ORed |
| * together. |
| * |
| * By default, a face inherits the global auto-hinter properties (set |
| * with @FT_Library_SetAutohinterProperties, if any) at the time of |
| * its creation. Using this function you can override them locally. |
| * |
| * @return: |
| * FreeType error code. 0~means success. |
| */ |
| FT_EXPORT( FT_Error ) |
| FT_Face_SetAutohinterProperties( FT_Face face, |
| FT_Int32 properties ); |
| |
| /* */ |
| |
| FT_END_HEADER |
| |
| #endif /* __FTAUTOH_H__ */ |
| |
| |
| /* END */ |