| Index: third_party/freetype2/src/src/pshinter/pshglob.h
|
| diff --git a/third_party/freetype2/src/src/pshinter/pshglob.h b/third_party/freetype2/src/src/pshinter/pshglob.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..c376df7b9fce802ffa5e9b15c5fe005fb590126a
|
| --- /dev/null
|
| +++ b/third_party/freetype2/src/src/pshinter/pshglob.h
|
| @@ -0,0 +1,196 @@
|
| +/***************************************************************************/
|
| +/* */
|
| +/* pshglob.h */
|
| +/* */
|
| +/* PostScript hinter global hinting management. */
|
| +/* */
|
| +/* Copyright 2001-2015 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 __PSHGLOB_H__
|
| +#define __PSHGLOB_H__
|
| +
|
| +
|
| +#include FT_FREETYPE_H
|
| +#include FT_INTERNAL_POSTSCRIPT_HINTS_H
|
| +
|
| +
|
| +FT_BEGIN_HEADER
|
| +
|
| +
|
| + /*************************************************************************/
|
| + /*************************************************************************/
|
| + /***** *****/
|
| + /***** GLOBAL HINTS INTERNALS *****/
|
| + /***** *****/
|
| + /*************************************************************************/
|
| + /*************************************************************************/
|
| +
|
| +
|
| + /*************************************************************************/
|
| + /* */
|
| + /* @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
|
| +
|
| +
|
| + /* standard and snap width */
|
| + typedef struct PSH_WidthRec_
|
| + {
|
| + FT_Int org;
|
| + FT_Pos cur;
|
| + FT_Pos fit;
|
| +
|
| + } PSH_WidthRec, *PSH_Width;
|
| +
|
| +
|
| + /* standard and snap widths table */
|
| + typedef struct PSH_WidthsRec_
|
| + {
|
| + FT_UInt count;
|
| + PSH_WidthRec widths[PS_GLOBALS_MAX_STD_WIDTHS];
|
| +
|
| + } PSH_WidthsRec, *PSH_Widths;
|
| +
|
| +
|
| + typedef struct PSH_DimensionRec_
|
| + {
|
| + PSH_WidthsRec stdw;
|
| + FT_Fixed scale_mult;
|
| + FT_Fixed scale_delta;
|
| +
|
| + } PSH_DimensionRec, *PSH_Dimension;
|
| +
|
| +
|
| + /* blue zone descriptor */
|
| + typedef struct PSH_Blue_ZoneRec_
|
| + {
|
| + FT_Int org_ref;
|
| + FT_Int org_delta;
|
| + FT_Int org_top;
|
| + FT_Int org_bottom;
|
| +
|
| + FT_Pos cur_ref;
|
| + FT_Pos cur_delta;
|
| + FT_Pos cur_bottom;
|
| + FT_Pos cur_top;
|
| +
|
| + } PSH_Blue_ZoneRec, *PSH_Blue_Zone;
|
| +
|
| +
|
| + typedef struct PSH_Blue_TableRec_
|
| + {
|
| + FT_UInt count;
|
| + PSH_Blue_ZoneRec zones[PS_GLOBALS_MAX_BLUE_ZONES];
|
| +
|
| + } PSH_Blue_TableRec, *PSH_Blue_Table;
|
| +
|
| +
|
| + /* blue zones table */
|
| + typedef struct PSH_BluesRec_
|
| + {
|
| + PSH_Blue_TableRec normal_top;
|
| + PSH_Blue_TableRec normal_bottom;
|
| + PSH_Blue_TableRec family_top;
|
| + PSH_Blue_TableRec family_bottom;
|
| +
|
| + FT_Fixed blue_scale;
|
| + FT_Int blue_shift;
|
| + FT_Int blue_threshold;
|
| + FT_Int blue_fuzz;
|
| + FT_Bool no_overshoots;
|
| +
|
| + } PSH_BluesRec, *PSH_Blues;
|
| +
|
| +
|
| + /* font globals. */
|
| + /* dimension 0 => X coordinates + vertical hints/stems */
|
| + /* dimension 1 => Y coordinates + horizontal hints/stems */
|
| + typedef struct PSH_GlobalsRec_
|
| + {
|
| + FT_Memory memory;
|
| + PSH_DimensionRec dimension[2];
|
| + PSH_BluesRec blues;
|
| +
|
| + } PSH_GlobalsRec;
|
| +
|
| +
|
| +#define PSH_BLUE_ALIGN_NONE 0
|
| +#define PSH_BLUE_ALIGN_TOP 1
|
| +#define PSH_BLUE_ALIGN_BOT 2
|
| +
|
| +
|
| + typedef struct PSH_AlignmentRec_
|
| + {
|
| + int align;
|
| + FT_Pos align_top;
|
| + FT_Pos align_bot;
|
| +
|
| + } PSH_AlignmentRec, *PSH_Alignment;
|
| +
|
| +
|
| + FT_LOCAL( void )
|
| + psh_globals_funcs_init( PSH_Globals_FuncsRec* funcs );
|
| +
|
| +
|
| +#if 0
|
| + /* snap a stem width to fitter coordinates. `org_width' is in font */
|
| + /* units. The result is in device pixels (26.6 format). */
|
| + FT_LOCAL( FT_Pos )
|
| + psh_dimension_snap_width( PSH_Dimension dimension,
|
| + FT_Int org_width );
|
| +#endif
|
| +
|
| + FT_LOCAL( void )
|
| + psh_globals_set_scale( PSH_Globals globals,
|
| + FT_Fixed x_scale,
|
| + FT_Fixed y_scale,
|
| + FT_Fixed x_delta,
|
| + FT_Fixed y_delta );
|
| +
|
| + /* snap a stem to one or two blue zones */
|
| + FT_LOCAL( void )
|
| + psh_blues_snap_stem( PSH_Blues blues,
|
| + FT_Int stem_top,
|
| + FT_Int stem_bot,
|
| + PSH_Alignment alignment );
|
| + /* */
|
| +
|
| +#ifdef DEBUG_HINTER
|
| + extern PSH_Globals ps_debug_globals;
|
| +#endif
|
| +
|
| +
|
| +FT_END_HEADER
|
| +
|
| +
|
| +#endif /* __PSHGLOB_H__ */
|
| +
|
| +
|
| +/* END */
|
|
|