Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(530)

Side by Side Diff: core/src/fxge/fx_freetype/fxft2.5.01/src/pshinter/pshglob.h

Issue 815103002: Update freetype to 2.5.4. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Adjust GYP and GN Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /***************************************************************************/
2 /* */
3 /* pshglob.h */
4 /* */
5 /* PostScript hinter global hinting management. */
6 /* */
7 /* Copyright 2001, 2002, 2003 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 "../../include/freetype/freetype.h"
24 #include "../../include/freetype/internal/pshints.h"
25
26
27 FT_BEGIN_HEADER
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 {
66 FT_Int org;
67 FT_Pos cur;
68 FT_Pos fit;
69
70 } PSH_WidthRec, *PSH_Width;
71
72
73 /* standard and snap widths table */
74 typedef struct PSH_WidthsRec_
75 {
76 FT_UInt count;
77 PSH_WidthRec widths[PS_GLOBALS_MAX_STD_WIDTHS];
78
79 } PSH_WidthsRec, *PSH_Widths;
80
81
82 typedef struct PSH_DimensionRec_
83 {
84 PSH_WidthsRec stdw;
85 FT_Fixed scale_mult;
86 FT_Fixed scale_delta;
87
88 } PSH_DimensionRec, *PSH_Dimension;
89
90
91 /* blue zone descriptor */
92 typedef struct PSH_Blue_ZoneRec_
93 {
94 FT_Int org_ref;
95 FT_Int org_delta;
96 FT_Int org_top;
97 FT_Int org_bottom;
98
99 FT_Pos cur_ref;
100 FT_Pos cur_delta;
101 FT_Pos cur_bottom;
102 FT_Pos cur_top;
103
104 } PSH_Blue_ZoneRec, *PSH_Blue_Zone;
105
106
107 typedef struct PSH_Blue_TableRec_
108 {
109 FT_UInt count;
110 PSH_Blue_ZoneRec zones[PS_GLOBALS_MAX_BLUE_ZONES];
111
112 } PSH_Blue_TableRec, *PSH_Blue_Table;
113
114
115 /* blue zones table */
116 typedef struct PSH_BluesRec_
117 {
118 PSH_Blue_TableRec normal_top;
119 PSH_Blue_TableRec normal_bottom;
120 PSH_Blue_TableRec family_top;
121 PSH_Blue_TableRec family_bottom;
122
123 FT_Fixed blue_scale;
124 FT_Int blue_shift;
125 FT_Int blue_threshold;
126 FT_Int blue_fuzz;
127 FT_Bool no_overshoots;
128
129 } PSH_BluesRec, *PSH_Blues;
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 {
137 FT_Memory memory;
138 PSH_DimensionRec dimension[2];
139 PSH_BluesRec blues;
140
141 } PSH_GlobalsRec;
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;
152 FT_Pos align_top;
153 FT_Pos align_bot;
154
155 } PSH_AlignmentRec, *PSH_Alignment;
156
157
158 FT_LOCAL( void )
159 psh_globals_funcs_init( PSH_Globals_FuncsRec* funcs );
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). */
165 FT_LOCAL( FT_Pos )
166 psh_dimension_snap_width( PSH_Dimension dimension,
167 FT_Int org_width );
168 #endif
169
170 FT_LOCAL( FT_Error )
171 psh_globals_set_scale( PSH_Globals globals,
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 )
179 psh_blues_snap_stem( PSH_Blues blues,
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
190 FT_END_HEADER
191
192
193 #endif /* __PSHGLOB_H__ */
194
195
196 /* END */
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698