187 lines
10 KiB
C
187 lines
10 KiB
C
/***************************************************************************/
|
|
/* */
|
|
/* 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 */
|