| /***************************************************************************/ |
| /* */ |
| /* psglobal.h */ |
| /* */ |
| /* Global PostScript hinting structures (specification only). */ |
| /* */ |
| /* Copyright 2001 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 __PSGLOBAL_H__ |
| #define __PSGLOBAL_H__ |
| |
| |
| FT_BEGIN_HEADER |
| |
| |
| /**********************************************************************/ |
| /**********************************************************************/ |
| /***** *****/ |
| /***** PUBLIC STRUCTURES & API *****/ |
| /***** *****/ |
| /**********************************************************************/ |
| /**********************************************************************/ |
| |
| #if 0 |
| |
| /*************************************************************************/ |
| /* */ |
| /* @constant: */ |
| /* PS_GLOBALS_MAX_BLUE_ZONES */ |
| /* */ |
| /* @description: */ |
| /* The maximum number of blue zones in a font global hints structure. */ |
| /* See @PS_Globals_BluesRec. */ |
| /* */ |
| #define PS_GLOBALS_MAX_BLUE_ZONES 16 |
| |
| |
| /*************************************************************************/ |
| /* */ |
| /* @constant: */ |
| /* PS_GLOBALS_MAX_STD_WIDTHS */ |
| /* */ |
| /* @description: */ |
| /* The maximum number of standard and snap widths in either the */ |
| /* horizontal or vertical direction. See @PS_Globals_WidthsRec. */ |
| /* */ |
| #define PS_GLOBALS_MAX_STD_WIDTHS 16 |
| |
| |
| /*************************************************************************/ |
| /* */ |
| /* @type: */ |
| /* PS_Globals */ |
| /* */ |
| /* @description: */ |
| /* A handle to a @PS_GlobalsRec structure used to describe the global */ |
| /* hints of a given font. */ |
| /* */ |
| typedef struct PS_GlobalsRec_* PS_Globals; |
| |
| |
| /*************************************************************************/ |
| /* */ |
| /* @struct: */ |
| /* PS_Globals_BluesRec */ |
| /* */ |
| /* @description: */ |
| /* A structure used to model the global blue zones of a given font. */ |
| /* */ |
| /* @fields: */ |
| /* count :: The number of blue zones. */ |
| /* */ |
| /* zones :: An array of (count*2) coordinates describing the */ |
| /* zones. */ |
| /* */ |
| /* count_family :: The number of family blue zones. */ |
| /* */ |
| /* zones_family :: An array of (count_family*2) coordinates describing */ |
| /* the family blue zones. */ |
| /* */ |
| /* scale :: The blue scale to be used (fixed float). */ |
| /* */ |
| /* shift :: The blue shift to be used. */ |
| /* */ |
| /* fuzz :: Te blue fuzz to be used. */ |
| /* */ |
| /* @note: */ |
| /* Each blue zone is modeled by a (reference,overshoot) coordinate */ |
| /* pair in the table. Zones can be placed in any order. */ |
| /* */ |
| typedef struct PS_Globals_BluesRec_ |
| { |
| FT_UInt count; |
| FT_Int16 zones[2 * PS_GLOBALS_MAX_BLUE_ZONES]; |
| |
| FT_UInt count_family; |
| FT_Int16 zones_family[2 * PS_GLOBALS_MAX_BLUE_ZONES]; |
| |
| FT_Fixed scale; |
| FT_Int16 shift; |
| FT_Int16 fuzz; |
| |
| } PS_Globals_BluesRec, *PS_Globals_Blues; |
| |
| |
| /*************************************************************************/ |
| /* */ |
| /* @type: */ |
| /* PS_Global_Widths */ |
| /* */ |
| /* @description: */ |
| /* A handle to a @PS_Globals_WidthsRec structure used to model the */ |
| /* global standard and snap widths in a given direction. */ |
| /* */ |
| typedef struct PS_Globals_WidthsRec_* PS_Globals_Widths; |
| |
| |
| /*************************************************************************/ |
| /* */ |
| /* @struct: */ |
| /* PS_Globals_WidthsRec */ |
| /* */ |
| /* @description: */ |
| /* A structure used to model the global standard and snap widths in a */ |
| /* given font. */ |
| /* */ |
| /* @fields: */ |
| /* count :: The number of widths. */ |
| /* */ |
| /* widths :: An array of `count' widths in font units. */ |
| /* */ |
| /* @note: */ |
| /* `widths[0]' must be the standard width or height, while remaining */ |
| /* elements of the array are snap widths or heights. */ |
| /* */ |
| typedef struct PS_Globals_WidthsRec_ |
| { |
| FT_UInt count; |
| FT_Int16 widths[PS_GLOBALS_MAX_STD_WIDTHS]; |
| |
| } PS_Globals_WidthsRec; |
| |
| |
| /*************************************************************************/ |
| /* */ |
| /* @struct: */ |
| /* PS_GlobalsRec */ |
| /* */ |
| /* @description: */ |
| /* A structure used to model the global hints for a given font. */ |
| /* */ |
| /* @fields: */ |
| /* horizontal :: The horizontal widths. */ |
| /* */ |
| /* vertical :: The vertical heights. */ |
| /* */ |
| /* blues :: The blue zones. */ |
| /* */ |
| typedef struct PS_GlobalsRec_ |
| { |
| PS_Globals_WidthsRec horizontal; |
| PS_Globals_WidthsRec vertical; |
| PS_Globals_BluesRec blues; |
| |
| } PS_GlobalsRec; |
| |
| #endif |
| |
| /* */ |
| |
| FT_END_HEADER |
| |
| #endif /* __PS_GLOBAL_H__ */ |
| |
| |
| /* END */ |