blob: 5ddafff8bbbf711f633ec9e7fb17863bb9e885ad [file] [log] [blame]
/***************************************************************************/
/* */
/* 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 */