ReactOS 0.4.15-dev-7953-g1f49173
pshglob.h
Go to the documentation of this file.
1/***************************************************************************/
2/* */
3/* pshglob.h */
4/* */
5/* PostScript hinter global hinting management. */
6/* */
7/* Copyright 2001-2018 by */
8/* David Turner, Robert Wilhelm, and Werner Lemberg. */
9/* */
10/* This file is part of the FreeType project, and may only be used, */
11/* modified, and distributed under the terms of the FreeType project */
12/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
13/* this file you indicate that you have read the license and */
14/* understand and accept it fully. */
15/* */
16/***************************************************************************/
17
18
19#ifndef PSHGLOB_H_
20#define PSHGLOB_H_
21
22
23#include FT_FREETYPE_H
24#include FT_INTERNAL_POSTSCRIPT_HINTS_H
25
26
28
29
30 /*************************************************************************/
31 /*************************************************************************/
32 /***** *****/
33 /***** GLOBAL HINTS INTERNALS *****/
34 /***** *****/
35 /*************************************************************************/
36 /*************************************************************************/
37
38
39 /*************************************************************************/
40 /* */
41 /* @constant: */
42 /* PS_GLOBALS_MAX_BLUE_ZONES */
43 /* */
44 /* @description: */
45 /* The maximum number of blue zones in a font global hints structure. */
46 /* See @PS_Globals_BluesRec. */
47 /* */
48#define PS_GLOBALS_MAX_BLUE_ZONES 16
49
50
51 /*************************************************************************/
52 /* */
53 /* @constant: */
54 /* PS_GLOBALS_MAX_STD_WIDTHS */
55 /* */
56 /* @description: */
57 /* The maximum number of standard and snap widths in either the */
58 /* horizontal or vertical direction. See @PS_Globals_WidthsRec. */
59 /* */
60#define PS_GLOBALS_MAX_STD_WIDTHS 16
61
62
63 /* standard and snap width */
64 typedef struct PSH_WidthRec_
65 {
69
71
72
73 /* standard and snap widths table */
74 typedef struct PSH_WidthsRec_
75 {
78
80
81
82 typedef struct PSH_DimensionRec_
83 {
87
89
90
91 /* blue zone descriptor */
92 typedef struct PSH_Blue_ZoneRec_
93 {
98
103
105
106
107 typedef struct PSH_Blue_TableRec_
108 {
111
113
114
115 /* blue zones table */
116 typedef struct PSH_BluesRec_
117 {
122
128
130
131
132 /* font globals. */
133 /* dimension 0 => X coordinates + vertical hints/stems */
134 /* dimension 1 => Y coordinates + horizontal hints/stems */
135 typedef struct PSH_GlobalsRec_
136 {
140
142
143
144#define PSH_BLUE_ALIGN_NONE 0
145#define PSH_BLUE_ALIGN_TOP 1
146#define PSH_BLUE_ALIGN_BOT 2
147
148
149 typedef struct PSH_AlignmentRec_
150 {
151 int align;
154
156
157
158 FT_LOCAL( void )
160
161
162#if 0
163 /* snap a stem width to fitter coordinates. `org_width' is in font */
164 /* units. The result is in device pixels (26.6 format). */
166 psh_dimension_snap_width( PSH_Dimension dimension,
167 FT_Int org_width );
168#endif
169
170 FT_LOCAL( void )
172 FT_Fixed x_scale,
173 FT_Fixed y_scale,
174 FT_Fixed x_delta,
175 FT_Fixed y_delta );
176
177 /* snap a stem to one or two blue zones */
178 FT_LOCAL( void )
180 FT_Int stem_top,
181 FT_Int stem_bot,
182 PSH_Alignment alignment );
183 /* */
184
185#ifdef DEBUG_HINTER
186 extern PSH_Globals ps_debug_globals;
187#endif
188
189
191
192
193#endif /* PSHGLOB_H_ */
194
195
196/* END */
#define FT_LOCAL(x)
Definition: ftconfig.h:387
#define FT_END_HEADER
Definition: ftheader.h:54
#define FT_BEGIN_HEADER
Definition: ftheader.h:36
FT_BEGIN_HEADER typedef signed long FT_Pos
Definition: ftimage.h:58
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
Definition: ftsystem.h:66
FT_BEGIN_HEADER typedef unsigned char FT_Bool
Definition: fttypes.h:108
signed long FT_Fixed
Definition: fttypes.h:288
unsigned int FT_UInt
Definition: fttypes.h:231
signed int FT_Int
Definition: fttypes.h:220
typedefFT_BEGIN_HEADER struct PSH_GlobalsRec_ * PSH_Globals
Definition: pshints.h:41
#define PS_GLOBALS_MAX_STD_WIDTHS
Definition: pshglob.h:60
struct PSH_Blue_ZoneRec_ PSH_Blue_ZoneRec
struct PSH_AlignmentRec_ PSH_AlignmentRec
struct PSH_BluesRec_ * PSH_Blues
struct PSH_WidthRec_ PSH_WidthRec
psh_globals_funcs_init(PSH_Globals_FuncsRec *funcs)
Definition: pshglob.c:787
struct PSH_Blue_TableRec_ * PSH_Blue_Table
#define PS_GLOBALS_MAX_BLUE_ZONES
Definition: pshglob.h:48
struct PSH_Blue_TableRec_ PSH_Blue_TableRec
struct PSH_GlobalsRec_ PSH_GlobalsRec
psh_blues_snap_stem(PSH_Blues blues, FT_Int stem_top, FT_Int stem_bot, PSH_Alignment alignment)
Definition: pshglob.c:548
struct PSH_AlignmentRec_ * PSH_Alignment
struct PSH_BluesRec_ PSH_BluesRec
struct PSH_DimensionRec_ * PSH_Dimension
struct PSH_WidthsRec_ * PSH_Widths
struct PSH_WidthsRec_ PSH_WidthsRec
struct PSH_Blue_ZoneRec_ * PSH_Blue_Zone
psh_globals_set_scale(PSH_Globals globals, FT_Fixed x_scale, FT_Fixed y_scale, FT_Fixed x_delta, FT_Fixed y_delta)
Definition: pshglob.c:754
struct PSH_DimensionRec_ PSH_DimensionRec
struct PSH_WidthRec_ * PSH_Width
static struct __wine_debug_functions funcs
Definition: debug.c:59
FT_Pos align_top
Definition: pshglob.h:152
FT_Pos align_bot
Definition: pshglob.h:153
PSH_Blue_ZoneRec zones[PS_GLOBALS_MAX_BLUE_ZONES]
Definition: pshglob.h:110
FT_Pos cur_bottom
Definition: pshglob.h:101
FT_Pos cur_top
Definition: pshglob.h:102
FT_Int org_delta
Definition: pshglob.h:95
FT_Int org_top
Definition: pshglob.h:96
FT_Pos cur_delta
Definition: pshglob.h:100
FT_Pos cur_ref
Definition: pshglob.h:99
FT_Int org_ref
Definition: pshglob.h:94
FT_Int org_bottom
Definition: pshglob.h:97
FT_Fixed blue_scale
Definition: pshglob.h:123
FT_Int blue_fuzz
Definition: pshglob.h:126
PSH_Blue_TableRec family_bottom
Definition: pshglob.h:121
FT_Bool no_overshoots
Definition: pshglob.h:127
FT_Int blue_threshold
Definition: pshglob.h:125
PSH_Blue_TableRec normal_top
Definition: pshglob.h:118
FT_Int blue_shift
Definition: pshglob.h:124
PSH_Blue_TableRec normal_bottom
Definition: pshglob.h:119
PSH_Blue_TableRec family_top
Definition: pshglob.h:120
FT_Fixed scale_mult
Definition: pshglob.h:85
FT_Fixed scale_delta
Definition: pshglob.h:86
PSH_WidthsRec stdw
Definition: pshglob.h:84
FT_Memory memory
Definition: pshglob.h:137
PSH_BluesRec blues
Definition: pshglob.h:139
PSH_DimensionRec dimension[2]
Definition: pshglob.h:138
FT_Int org
Definition: pshglob.h:66
FT_Pos cur
Definition: pshglob.h:67
FT_Pos fit
Definition: pshglob.h:68
PSH_WidthRec widths[PS_GLOBALS_MAX_STD_WIDTHS]
Definition: pshglob.h:77
FT_UInt count
Definition: pshglob.h:76