1 | /*
|
---|
2 | * Copyright 2013 Nikolay Sivov for CodeWeavers
|
---|
3 | *
|
---|
4 | * This library is free software; you can redistribute it and/or
|
---|
5 | * modify it under the terms of the GNU Lesser General Public
|
---|
6 | * License as published by the Free Software Foundation; either
|
---|
7 | * version 2.1 of the License, or (at your option) any later version.
|
---|
8 | *
|
---|
9 | * This library is distributed in the hope that it will be useful,
|
---|
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
---|
12 | * Lesser General Public License for more details.
|
---|
13 | *
|
---|
14 | * You should have received a copy of the GNU Lesser General Public
|
---|
15 | * License along with this library; if not, write to the Free Software
|
---|
16 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
---|
17 | */
|
---|
18 |
|
---|
19 | /*
|
---|
20 | * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
|
---|
21 | * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
|
---|
22 | * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
|
---|
23 | * a choice of LGPL license versions is made available with the language indicating
|
---|
24 | * that LGPLv2 or any later version may be used, or where a choice of which version
|
---|
25 | * of the LGPL is applied is otherwise unspecified.
|
---|
26 | */
|
---|
27 |
|
---|
28 | import "dwrite.idl";
|
---|
29 |
|
---|
30 | typedef enum DWRITE_PANOSE_FAMILY
|
---|
31 | {
|
---|
32 | DWRITE_PANOSE_FAMILY_ANY,
|
---|
33 | DWRITE_PANOSE_FAMILY_NO_FIT,
|
---|
34 | DWRITE_PANOSE_FAMILY_TEXT_DISPLAY,
|
---|
35 | DWRITE_PANOSE_FAMILY_SCRIPT,
|
---|
36 | DWRITE_PANOSE_FAMILY_DECORATIVE,
|
---|
37 | DWRITE_PANOSE_FAMILY_SYMBOL,
|
---|
38 | DWRITE_PANOSE_FAMILY_PICTORIAL = DWRITE_PANOSE_FAMILY_SYMBOL
|
---|
39 | } DWRITE_PANOSE_FAMILY;
|
---|
40 |
|
---|
41 | typedef enum DWRITE_PANOSE_SERIF_STYLE
|
---|
42 | {
|
---|
43 | DWRITE_PANOSE_SERIF_STYLE_ANY,
|
---|
44 | DWRITE_PANOSE_SERIF_STYLE_NO_FIT,
|
---|
45 | DWRITE_PANOSE_SERIF_STYLE_COVE,
|
---|
46 | DWRITE_PANOSE_SERIF_STYLE_OBTUSE_COVE,
|
---|
47 | DWRITE_PANOSE_SERIF_STYLE_SQUARE_COVE,
|
---|
48 | DWRITE_PANOSE_SERIF_STYLE_OBTUSE_SQUARE_COVE,
|
---|
49 | DWRITE_PANOSE_SERIF_STYLE_SQUARE,
|
---|
50 | DWRITE_PANOSE_SERIF_STYLE_THIN,
|
---|
51 | DWRITE_PANOSE_SERIF_STYLE_OVAL,
|
---|
52 | DWRITE_PANOSE_SERIF_STYLE_EXAGGERATED,
|
---|
53 | DWRITE_PANOSE_SERIF_STYLE_TRIANGLE,
|
---|
54 | DWRITE_PANOSE_SERIF_STYLE_NORMAL_SANS,
|
---|
55 | DWRITE_PANOSE_SERIF_STYLE_OBTUSE_SANS,
|
---|
56 | DWRITE_PANOSE_SERIF_STYLE_PERPENDICULAR_SANS,
|
---|
57 | DWRITE_PANOSE_SERIF_STYLE_FLARED,
|
---|
58 | DWRITE_PANOSE_SERIF_STYLE_ROUNDED,
|
---|
59 | DWRITE_PANOSE_SERIF_STYLE_SCRIPT,
|
---|
60 | DWRITE_PANOSE_SERIF_STYLE_PERP_SANS = DWRITE_PANOSE_SERIF_STYLE_PERPENDICULAR_SANS,
|
---|
61 | DWRITE_PANOSE_SERIF_STYLE_BONE = DWRITE_PANOSE_SERIF_STYLE_OVAL
|
---|
62 | } DWRITE_PANOSE_SERIF_STYLE;
|
---|
63 |
|
---|
64 | typedef enum DWRITE_PANOSE_WEIGHT
|
---|
65 | {
|
---|
66 | DWRITE_PANOSE_WEIGHT_ANY,
|
---|
67 | DWRITE_PANOSE_WEIGHT_NO_FIT,
|
---|
68 | DWRITE_PANOSE_WEIGHT_VERY_LIGHT,
|
---|
69 | DWRITE_PANOSE_WEIGHT_LIGHT,
|
---|
70 | DWRITE_PANOSE_WEIGHT_THIN,
|
---|
71 | DWRITE_PANOSE_WEIGHT_BOOK,
|
---|
72 | DWRITE_PANOSE_WEIGHT_MEDIUM,
|
---|
73 | DWRITE_PANOSE_WEIGHT_DEMI,
|
---|
74 | DWRITE_PANOSE_WEIGHT_BOLD,
|
---|
75 | DWRITE_PANOSE_WEIGHT_HEAVY,
|
---|
76 | DWRITE_PANOSE_WEIGHT_BLACK,
|
---|
77 | DWRITE_PANOSE_WEIGHT_EXTRA_BLACK,
|
---|
78 | DWRITE_PANOSE_WEIGHT_NORD = DWRITE_PANOSE_WEIGHT_EXTRA_BLACK
|
---|
79 | } DWRITE_PANOSE_WEIGHT;
|
---|
80 |
|
---|
81 | typedef enum DWRITE_PANOSE_PROPORTION
|
---|
82 | {
|
---|
83 | DWRITE_PANOSE_PROPORTION_ANY,
|
---|
84 | DWRITE_PANOSE_PROPORTION_NO_FIT,
|
---|
85 | DWRITE_PANOSE_PROPORTION_OLD_STYLE,
|
---|
86 | DWRITE_PANOSE_PROPORTION_MODERN,
|
---|
87 | DWRITE_PANOSE_PROPORTION_EVEN_WIDTH,
|
---|
88 | DWRITE_PANOSE_PROPORTION_EXPANDED,
|
---|
89 | DWRITE_PANOSE_PROPORTION_CONDENSED,
|
---|
90 | DWRITE_PANOSE_PROPORTION_VERY_EXPANDED,
|
---|
91 | DWRITE_PANOSE_PROPORTION_VERY_CONDENSED,
|
---|
92 | DWRITE_PANOSE_PROPORTION_MONOSPACED
|
---|
93 | } DWRITE_PANOSE_PROPORTION;
|
---|
94 |
|
---|
95 | typedef enum DWRITE_PANOSE_CONTRAST
|
---|
96 | {
|
---|
97 | DWRITE_PANOSE_CONTRAST_ANY,
|
---|
98 | DWRITE_PANOSE_CONTRAST_NO_FIT,
|
---|
99 | DWRITE_PANOSE_CONTRAST_NONE,
|
---|
100 | DWRITE_PANOSE_CONTRAST_VERY_LOW,
|
---|
101 | DWRITE_PANOSE_CONTRAST_LOW,
|
---|
102 | DWRITE_PANOSE_CONTRAST_MEDIUM_LOW,
|
---|
103 | DWRITE_PANOSE_CONTRAST_MEDIUM,
|
---|
104 | DWRITE_PANOSE_CONTRAST_MEDIUM_HIGH,
|
---|
105 | DWRITE_PANOSE_CONTRAST_HIGH,
|
---|
106 | DWRITE_PANOSE_CONTRAST_VERY_HIGH,
|
---|
107 | DWRITE_PANOSE_CONTRAST_HORIZONTAL_LOW,
|
---|
108 | DWRITE_PANOSE_CONTRAST_HORIZONTAL_MEDIUM,
|
---|
109 | DWRITE_PANOSE_CONTRAST_HORIZONTAL_HIGH,
|
---|
110 | DWRITE_PANOSE_CONTRAST_BROKEN
|
---|
111 | } DWRITE_PANOSE_CONTRAST;
|
---|
112 |
|
---|
113 | typedef enum DWRITE_PANOSE_STROKE_VARIATION
|
---|
114 | {
|
---|
115 | DWRITE_PANOSE_STROKE_VARIATION_ANY,
|
---|
116 | DWRITE_PANOSE_STROKE_VARIATION_NO_FIT,
|
---|
117 | DWRITE_PANOSE_STROKE_VARIATION_NO_VARIATION,
|
---|
118 | DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_DIAGONAL,
|
---|
119 | DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_TRANSITIONAL,
|
---|
120 | DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_VERTICAL,
|
---|
121 | DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_HORIZONTAL,
|
---|
122 | DWRITE_PANOSE_STROKE_VARIATION_RAPID_VERTICAL,
|
---|
123 | DWRITE_PANOSE_STROKE_VARIATION_RAPID_HORIZONTAL,
|
---|
124 | DWRITE_PANOSE_STROKE_VARIATION_INSTANT_VERTICAL,
|
---|
125 | DWRITE_PANOSE_STROKE_VARIATION_INSTANT_HORIZONTAL
|
---|
126 | } DWRITE_PANOSE_STROKE_VARIANTION;
|
---|
127 |
|
---|
128 | typedef enum DWRITE_PANOSE_ARM_STYLE
|
---|
129 | {
|
---|
130 | DWRITE_PANOSE_ARM_STYLE_ANY,
|
---|
131 | DWRITE_PANOSE_ARM_STYLE_NO_FIT,
|
---|
132 | DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_HORIZONTAL,
|
---|
133 | DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_WEDGE,
|
---|
134 | DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_VERTICAL,
|
---|
135 | DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_SINGLE_SERIF,
|
---|
136 | DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_DOUBLE_SERIF,
|
---|
137 | DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_HORIZONTAL,
|
---|
138 | DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_WEDGE,
|
---|
139 | DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_VERTICAL,
|
---|
140 | DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_SINGLE_SERIF,
|
---|
141 | DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_DOUBLE_SERIF,
|
---|
142 | DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_HORZ = DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_HORIZONTAL,
|
---|
143 | DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_VERT = DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_VERTICAL,
|
---|
144 | DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_HORZ = DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_HORIZONTAL,
|
---|
145 | DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_WEDGE = DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_WEDGE,
|
---|
146 | DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_VERT = DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_VERTICAL,
|
---|
147 | DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_SINGLE_SERIF = DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_SINGLE_SERIF,
|
---|
148 | DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_DOUBLE_SERIF = DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_DOUBLE_SERIF
|
---|
149 | } DWRITE_PANOSE_ARM_STYLE;
|
---|
150 |
|
---|
151 | typedef enum DWRITE_PANOSE_LETTERFORM
|
---|
152 | {
|
---|
153 | DWRITE_PANOSE_LETTERFORM_ANY,
|
---|
154 | DWRITE_PANOSE_LETTERFORM_NO_FIT,
|
---|
155 | DWRITE_PANOSE_LETTERFORM_NORMAL_CONTACT,
|
---|
156 | DWRITE_PANOSE_LETTERFORM_NORMAL_WEIGHTED,
|
---|
157 | DWRITE_PANOSE_LETTERFORM_NORMAL_BOXED,
|
---|
158 | DWRITE_PANOSE_LETTERFORM_NORMAL_FLATTENED,
|
---|
159 | DWRITE_PANOSE_LETTERFORM_NORMAL_ROUNDED,
|
---|
160 | DWRITE_PANOSE_LETTERFORM_NORMAL_OFF_CENTER,
|
---|
161 | DWRITE_PANOSE_LETTERFORM_NORMAL_SQUARE,
|
---|
162 | DWRITE_PANOSE_LETTERFORM_OBLIQUE_CONTACT,
|
---|
163 | DWRITE_PANOSE_LETTERFORM_OBLIQUE_WEIGHTED,
|
---|
164 | DWRITE_PANOSE_LETTERFORM_OBLIQUE_BOXED,
|
---|
165 | DWRITE_PANOSE_LETTERFORM_OBLIQUE_FLATTENED,
|
---|
166 | DWRITE_PANOSE_LETTERFORM_OBLIQUE_ROUNDED,
|
---|
167 | DWRITE_PANOSE_LETTERFORM_OBLIQUE_OFF_CENTER,
|
---|
168 | DWRITE_PANOSE_LETTERFORM_OBLIQUE_SQUARE
|
---|
169 | } DWRITE_PANOSE_LETTERFORM;
|
---|
170 |
|
---|
171 | typedef enum DWRITE_PANOSE_MIDLINE
|
---|
172 | {
|
---|
173 | DWRITE_PANOSE_MIDLINE_ANY,
|
---|
174 | DWRITE_PANOSE_MIDLINE_NO_FIT,
|
---|
175 | DWRITE_PANOSE_MIDLINE_STANDARD_TRIMMED,
|
---|
176 | DWRITE_PANOSE_MIDLINE_STANDARD_POINTED,
|
---|
177 | DWRITE_PANOSE_MIDLINE_STANDARD_SERIFED,
|
---|
178 | DWRITE_PANOSE_MIDLINE_HIGH_TRIMMED,
|
---|
179 | DWRITE_PANOSE_MIDLINE_HIGH_POINTED,
|
---|
180 | DWRITE_PANOSE_MIDLINE_HIGH_SERIFED,
|
---|
181 | DWRITE_PANOSE_MIDLINE_CONSTANT_TRIMMED,
|
---|
182 | DWRITE_PANOSE_MIDLINE_CONSTANT_POINTED,
|
---|
183 | DWRITE_PANOSE_MIDLINE_CONSTANT_SERIFED,
|
---|
184 | DWRITE_PANOSE_MIDLINE_LOW_TRIMMED,
|
---|
185 | DWRITE_PANOSE_MIDLINE_LOW_POINTED,
|
---|
186 | DWRITE_PANOSE_MIDLINE_LOW_SERIFED
|
---|
187 | } DWRITE_PANOSE_MIDLINE;
|
---|
188 |
|
---|
189 | typedef enum DWRITE_PANOSE_XHEIGHT
|
---|
190 | {
|
---|
191 | DWRITE_PANOSE_XHEIGHT_ANY,
|
---|
192 | DWRITE_PANOSE_XHEIGHT_NO_FIT,
|
---|
193 | DWRITE_PANOSE_XHEIGHT_CONSTANT_SMALL,
|
---|
194 | DWRITE_PANOSE_XHEIGHT_CONSTANT_STANDARD,
|
---|
195 | DWRITE_PANOSE_XHEIGHT_CONSTANT_LARGE,
|
---|
196 | DWRITE_PANOSE_XHEIGHT_DUCKING_SMALL,
|
---|
197 | DWRITE_PANOSE_XHEIGHT_DUCKING_STANDARD,
|
---|
198 | DWRITE_PANOSE_XHEIGHT_DUCKING_LARGE,
|
---|
199 | DWRITE_PANOSE_XHEIGHT_CONSTANT_STD = DWRITE_PANOSE_XHEIGHT_CONSTANT_STANDARD,
|
---|
200 | DWRITE_PANOSE_XHEIGHT_DUCKING_STD = DWRITE_PANOSE_XHEIGHT_DUCKING_STANDARD
|
---|
201 | } DWRITE_PANOSE_XHEIGHT;
|
---|
202 |
|
---|
203 | typedef enum DWRITE_PANOSE_TOOL_KIND
|
---|
204 | {
|
---|
205 | DWRITE_PANOSE_TOOL_KIND_ANY,
|
---|
206 | DWRITE_PANOSE_TOOL_KIND_NO_FIT,
|
---|
207 | DWRITE_PANOSE_TOOL_KIND_FLAT_NIB,
|
---|
208 | DWRITE_PANOSE_TOOL_KIND_PRESSURE_POINT,
|
---|
209 | DWRITE_PANOSE_TOOL_KIND_ENGRAVED,
|
---|
210 | DWRITE_PANOSE_TOOL_KIND_BALL,
|
---|
211 | DWRITE_PANOSE_TOOL_KIND_BRUSH,
|
---|
212 | DWRITE_PANOSE_TOOL_KIND_ROUGH,
|
---|
213 | DWRITE_PANOSE_TOOL_KIND_FELT_PEN_BRUSH_TIP,
|
---|
214 | DWRITE_PANOSE_TOOL_KIND_WILD_BRUSH
|
---|
215 | } DWRITE_PANOSE_TOOL_KIND;
|
---|
216 |
|
---|
217 | typedef enum DWRITE_PANOSE_SPACING
|
---|
218 | {
|
---|
219 | DWRITE_PANOSE_SPACING_ANY,
|
---|
220 | DWRITE_PANOSE_SPACING_NO_FIT,
|
---|
221 | DWRITE_PANOSE_SPACING_PROPORTIONAL_SPACED,
|
---|
222 | DWRITE_PANOSE_SPACING_MONOSPACED
|
---|
223 | } DWRITE_PANOSE_SPACING;
|
---|
224 |
|
---|
225 | typedef enum DWRITE_PANOSE_ASPECT_RATIO
|
---|
226 | {
|
---|
227 | DWRITE_PANOSE_ASPECT_RATIO_ANY,
|
---|
228 | DWRITE_PANOSE_ASPECT_RATIO_NO_FIT,
|
---|
229 | DWRITE_PANOSE_ASPECT_RATIO_VERY_CONDENSED,
|
---|
230 | DWRITE_PANOSE_ASPECT_RATIO_CONDENSED,
|
---|
231 | DWRITE_PANOSE_ASPECT_RATIO_NORMAL,
|
---|
232 | DWRITE_PANOSE_ASPECT_RATIO_EXPANDED,
|
---|
233 | DWRITE_PANOSE_ASPECT_RATIO_VERY_EXPANDED
|
---|
234 | } DWRITE_PANOSE_ASPECT_RATIO;
|
---|
235 |
|
---|
236 | typedef enum DWRITE_PANOSE_SCRIPT_TOPOLOGY
|
---|
237 | {
|
---|
238 | DWRITE_PANOSE_SCRIPT_TOPOLOGY_ANY,
|
---|
239 | DWRITE_PANOSE_SCRIPT_TOPOLOGY_NO_FIT,
|
---|
240 | DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_DISCONNECTED,
|
---|
241 | DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_TRAILING,
|
---|
242 | DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_CONNECTED,
|
---|
243 | DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_DISCONNECTED,
|
---|
244 | DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_TRAILING,
|
---|
245 | DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_CONNECTED,
|
---|
246 | DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_DISCONNECTED,
|
---|
247 | DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_TRAILING,
|
---|
248 | DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_CONNECTED
|
---|
249 | } DWRITE_PANOSE_SCRIPT_TOPOLOGY;
|
---|
250 |
|
---|
251 | typedef enum DWRITE_PANOSE_SCRIPT_FORM
|
---|
252 | {
|
---|
253 | DWRITE_PANOSE_SCRIPT_FORM_ANY,
|
---|
254 | DWRITE_PANOSE_SCRIPT_FORM_NO_FIT,
|
---|
255 | DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_NO_WRAPPING,
|
---|
256 | DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_SOME_WRAPPING,
|
---|
257 | DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_MORE_WRAPPING,
|
---|
258 | DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_EXTREME_WRAPPING,
|
---|
259 | DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_NO_WRAPPING,
|
---|
260 | DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_SOME_WRAPPING,
|
---|
261 | DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_MORE_WRAPPING,
|
---|
262 | DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_EXTREME_WRAPPING,
|
---|
263 | DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_NO_WRAPPING,
|
---|
264 | DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_SOME_WRAPPING,
|
---|
265 | DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_MORE_WRAPPING,
|
---|
266 | DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_EXTREME_WRAPPING
|
---|
267 | } DWRITE_PANOSE_SCRIPT_FORM;
|
---|
268 |
|
---|
269 | typedef enum DWRITE_PANOSE_FINIALS
|
---|
270 | {
|
---|
271 | DWRITE_PANOSE_FINIALS_ANY,
|
---|
272 | DWRITE_PANOSE_FINIALS_NO_FIT,
|
---|
273 | DWRITE_PANOSE_FINIALS_NONE_NO_LOOPS,
|
---|
274 | DWRITE_PANOSE_FINIALS_NONE_CLOSED_LOOPS,
|
---|
275 | DWRITE_PANOSE_FINIALS_NONE_OPEN_LOOPS,
|
---|
276 | DWRITE_PANOSE_FINIALS_SHARP_NO_LOOPS,
|
---|
277 | DWRITE_PANOSE_FINIALS_SHARP_CLOSED_LOOPS,
|
---|
278 | DWRITE_PANOSE_FINIALS_SHARP_OPEN_LOOPS,
|
---|
279 | DWRITE_PANOSE_FINIALS_TAPERED_NO_LOOPS,
|
---|
280 | DWRITE_PANOSE_FINIALS_TAPERED_CLOSED_LOOPS,
|
---|
281 | DWRITE_PANOSE_FINIALS_TAPERED_OPEN_LOOPS,
|
---|
282 | DWRITE_PANOSE_FINIALS_ROUND_NO_LOOPS,
|
---|
283 | DWRITE_PANOSE_FINIALS_ROUND_CLOSED_LOOPS,
|
---|
284 | DWRITE_PANOSE_FINIALS_ROUND_OPEN_LOOPS
|
---|
285 | } DWRITE_PANOSE_FINIALS;
|
---|
286 |
|
---|
287 | typedef enum DWRITE_PANOSE_XASCENT
|
---|
288 | {
|
---|
289 | DWRITE_PANOSE_XASCENT_ANY,
|
---|
290 | DWRITE_PANOSE_XASCENT_NO_FIT,
|
---|
291 | DWRITE_PANOSE_XASCENT_VERY_LOW,
|
---|
292 | DWRITE_PANOSE_XASCENT_LOW,
|
---|
293 | DWRITE_PANOSE_XASCENT_MEDIUM,
|
---|
294 | DWRITE_PANOSE_XASCENT_HIGH,
|
---|
295 | DWRITE_PANOSE_XASCENT_VERY_HIGH
|
---|
296 | } DWRITE_PANOSE_XASCENT;
|
---|
297 |
|
---|
298 | typedef enum DWRITE_PANOSE_DECORATIVE_CLASS
|
---|
299 | {
|
---|
300 | DWRITE_PANOSE_DECORATIVE_CLASS_ANY,
|
---|
301 | DWRITE_PANOSE_DECORATIVE_CLASS_NO_FIT,
|
---|
302 | DWRITE_PANOSE_DECORATIVE_CLASS_DERIVATIVE,
|
---|
303 | DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_TOPOLOGY,
|
---|
304 | DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_ELEMENTS,
|
---|
305 | DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_ASPECT,
|
---|
306 | DWRITE_PANOSE_DECORATIVE_CLASS_INITIALS,
|
---|
307 | DWRITE_PANOSE_DECORATIVE_CLASS_CARTOON,
|
---|
308 | DWRITE_PANOSE_DECORATIVE_CLASS_PICTURE_STEMS,
|
---|
309 | DWRITE_PANOSE_DECORATIVE_CLASS_ORNAMENTED,
|
---|
310 | DWRITE_PANOSE_DECORATIVE_CLASS_TEXT_AND_BACKGROUND,
|
---|
311 | DWRITE_PANOSE_DECORATIVE_CLASS_COLLAGE,
|
---|
312 | DWRITE_PANOSE_DECORATIVE_CLASS_MONTAGE
|
---|
313 | } DWRITE_PANOSE_DECORATIVE_CLASS;
|
---|
314 |
|
---|
315 | typedef enum DWRITE_PANOSE_ASPECT
|
---|
316 | {
|
---|
317 | DWRITE_PANOSE_ASPECT_ANY,
|
---|
318 | DWRITE_PANOSE_ASPECT_NO_FIT,
|
---|
319 | DWRITE_PANOSE_ASPECT_SUPER_CONDENSED,
|
---|
320 | DWRITE_PANOSE_ASPECT_VERY_CONDENSED,
|
---|
321 | DWRITE_PANOSE_ASPECT_CONDENSED,
|
---|
322 | DWRITE_PANOSE_ASPECT_NORMAL,
|
---|
323 | DWRITE_PANOSE_ASPECT_EXTENDED,
|
---|
324 | DWRITE_PANOSE_ASPECT_VERY_EXTENDED,
|
---|
325 | DWRITE_PANOSE_ASPECT_SUPER_EXTENDED,
|
---|
326 | DWRITE_PANOSE_ASPECT_MONOSPACED
|
---|
327 | } DWRITE_PANOSE_ASPECT;
|
---|
328 |
|
---|
329 | typedef enum DWRITE_PANOSE_FILL
|
---|
330 | {
|
---|
331 | DWRITE_PANOSE_FILL_ANY,
|
---|
332 | DWRITE_PANOSE_FILL_NO_FIT,
|
---|
333 | DWRITE_PANOSE_FILL_STANDARD_SOLID_FILL,
|
---|
334 | DWRITE_PANOSE_FILL_NO_FILL,
|
---|
335 | DWRITE_PANOSE_FILL_PATTERNED_FILL,
|
---|
336 | DWRITE_PANOSE_FILL_COMPLEX_FILL,
|
---|
337 | DWRITE_PANOSE_FILL_SHAPED_FILL,
|
---|
338 | DWRITE_PANOSE_FILL_DRAWN_DISTRESSED
|
---|
339 | } DWRITE_PANOSE_FILL;
|
---|
340 |
|
---|
341 | typedef enum DWRITE_PANOSE_LINING
|
---|
342 | {
|
---|
343 | DWRITE_PANOSE_LINING_ANY,
|
---|
344 | DWRITE_PANOSE_LINING_NO_FIT,
|
---|
345 | DWRITE_PANOSE_LINING_NONE,
|
---|
346 | DWRITE_PANOSE_LINING_INLINE,
|
---|
347 | DWRITE_PANOSE_LINING_OUTLINE,
|
---|
348 | DWRITE_PANOSE_LINING_ENGRAVED,
|
---|
349 | DWRITE_PANOSE_LINING_SHADOW,
|
---|
350 | DWRITE_PANOSE_LINING_RELIEF,
|
---|
351 | DWRITE_PANOSE_LINING_BACKDROP
|
---|
352 | } DWRITE_PANOSE_LINING;
|
---|
353 |
|
---|
354 | typedef enum DWRITE_PANOSE_DECORATIVE_TOPOLOGY
|
---|
355 | {
|
---|
356 | DWRITE_PANOSE_DECORATIVE_TOPOLOGY_ANY,
|
---|
357 | DWRITE_PANOSE_DECORATIVE_TOPOLOGY_NO_FIT,
|
---|
358 | DWRITE_PANOSE_DECORATIVE_TOPOLOGY_STANDARD,
|
---|
359 | DWRITE_PANOSE_DECORATIVE_TOPOLOGY_SQUARE,
|
---|
360 | DWRITE_PANOSE_DECORATIVE_TOPOLOGY_MULTIPLE_SEGMENT,
|
---|
361 | DWRITE_PANOSE_DECORATIVE_TOPOLOGY_ART_DECO,
|
---|
362 | DWRITE_PANOSE_DECORATIVE_TOPOLOGY_UNEVEN_WEIGHTING,
|
---|
363 | DWRITE_PANOSE_DECORATIVE_TOPOLOGY_DIVERSE_ARMS,
|
---|
364 | DWRITE_PANOSE_DECORATIVE_TOPOLOGY_DIVERSE_FORMS,
|
---|
365 | DWRITE_PANOSE_DECORATIVE_TOPOLOGY_LOMBARDIC_FORMS,
|
---|
366 | DWRITE_PANOSE_DECORATIVE_TOPOLOGY_UPPER_CASE_IN_LOWER_CASE,
|
---|
367 | DWRITE_PANOSE_DECORATIVE_TOPOLOGY_IMPLIED_TOPOLOGY,
|
---|
368 | DWRITE_PANOSE_DECORATIVE_TOPOLOGY_HORSESHOE_E_AND_A,
|
---|
369 | DWRITE_PANOSE_DECORATIVE_TOPOLOGY_CURSIVE,
|
---|
370 | DWRITE_PANOSE_DECORATIVE_TOPOLOGY_BLACKLETTER,
|
---|
371 | DWRITE_PANOSE_DECORATIVE_TOPOLOGY_SWASH_VARIANCE
|
---|
372 | } DWRITE_PANOSE_DECORATIVE_TOPOLOGY;
|
---|
373 |
|
---|
374 | typedef enum DWRITE_PANOSE_CHARACTER_RANGES
|
---|
375 | {
|
---|
376 | DWRITE_PANOSE_CHARACTER_RANGES_ANY,
|
---|
377 | DWRITE_PANOSE_CHARACTER_RANGES_NO_FIT,
|
---|
378 | DWRITE_PANOSE_CHARACTER_RANGES_EXTENDED_COLLECTION,
|
---|
379 | DWRITE_PANOSE_CHARACTER_RANGES_LITERALS,
|
---|
380 | DWRITE_PANOSE_CHARACTER_RANGES_NO_LOWER_CASE,
|
---|
381 | DWRITE_PANOSE_CHARACTER_RANGES_SMALL_CAPS
|
---|
382 | } DWRITE_PANOSE_CHARACTER_RANGES;
|
---|
383 |
|
---|
384 | typedef enum DWRITE_PANOSE_SYMBOL_KIND
|
---|
385 | {
|
---|
386 | DWRITE_PANOSE_SYMBOL_KIND_ANY,
|
---|
387 | DWRITE_PANOSE_SYMBOL_KIND_NO_FIT,
|
---|
388 | DWRITE_PANOSE_SYMBOL_KIND_MONTAGES,
|
---|
389 | DWRITE_PANOSE_SYMBOL_KIND_PICTURES,
|
---|
390 | DWRITE_PANOSE_SYMBOL_KIND_SHAPES,
|
---|
391 | DWRITE_PANOSE_SYMBOL_KIND_SCIENTIFIC,
|
---|
392 | DWRITE_PANOSE_SYMBOL_KIND_MUSIC,
|
---|
393 | DWRITE_PANOSE_SYMBOL_KIND_EXPERT,
|
---|
394 | DWRITE_PANOSE_SYMBOL_KIND_PATTERNS,
|
---|
395 | DWRITE_PANOSE_SYMBOL_KIND_BOARDERS,
|
---|
396 | DWRITE_PANOSE_SYMBOL_KIND_ICONS,
|
---|
397 | DWRITE_PANOSE_SYMBOL_KIND_LOGOS,
|
---|
398 | DWRITE_PANOSE_SYMBOL_KIND_INDUSTRY_SPECIFIC
|
---|
399 | } DWRITE_PANOSE_SYMBOL_KIND;
|
---|
400 |
|
---|
401 | typedef enum DWRITE_PANOSE_SYMBOL_ASPECT_RATIO
|
---|
402 | {
|
---|
403 | DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_ANY,
|
---|
404 | DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NO_FIT,
|
---|
405 | DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NO_WIDTH,
|
---|
406 | DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_EXCEPTIONALLY_WIDE,
|
---|
407 | DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_SUPER_WIDE,
|
---|
408 | DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_VERY_WIDE,
|
---|
409 | DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_WIDE,
|
---|
410 | DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NORMAL,
|
---|
411 | DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NARROW,
|
---|
412 | DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_VERY_NARROW
|
---|
413 | } DWRITE_PANOSE_SYMBOL_ASPECT_RATIO;
|
---|
414 |
|
---|
415 | typedef enum DWRITE_OUTLINE_THRESHOLD
|
---|
416 | {
|
---|
417 | DWRITE_OUTLINE_THRESHOLD_ANTIALIASED,
|
---|
418 | DWRITE_OUTLINE_THRESHOLD_ALIASED
|
---|
419 | } DWRITE_OUTLINE_THRESHOLD;
|
---|
420 |
|
---|
421 | typedef enum DWRITE_BASELINE
|
---|
422 | {
|
---|
423 | DWRITE_BASELINE_DEFAULT,
|
---|
424 | DWRITE_BASELINE_ROMAN,
|
---|
425 | DWRITE_BASELINE_CENTRAL,
|
---|
426 | DWRITE_BASELINE_MATH,
|
---|
427 | DWRITE_BASELINE_HANGING,
|
---|
428 | DWRITE_BASELINE_IDEOGRAPHIC_BOTTOM,
|
---|
429 | DWRITE_BASELINE_IDEOGRAPHIC_TOP,
|
---|
430 | DWRITE_BASELINE_MINIMUM,
|
---|
431 | DWRITE_BASELINE_MAXIMUM
|
---|
432 | } DWRITE_BASELINE;
|
---|
433 |
|
---|
434 | typedef enum DWRITE_VERTICAL_GLYPH_ORIENTATION
|
---|
435 | {
|
---|
436 | DWRITE_VERTICAL_GLYPH_ORIENTATION_DEFAULT,
|
---|
437 | DWRITE_VERTICAL_GLYPH_ORIENTATION_STACKED
|
---|
438 | } DWRITE_VERTICAL_GLYPH_ORIENTATION;
|
---|
439 |
|
---|
440 | typedef enum DWRITE_GLYPH_ORIENTATION_ANGLE
|
---|
441 | {
|
---|
442 | DWRITE_GLYPH_ORIENTATION_ANGLE_0_DEGREES,
|
---|
443 | DWRITE_GLYPH_ORIENTATION_ANGLE_90_DEGREES,
|
---|
444 | DWRITE_GLYPH_ORIENTATION_ANGLE_180_DEGREES,
|
---|
445 | DWRITE_GLYPH_ORIENTATION_ANGLE_270_DEGREES
|
---|
446 | } DWRITE_GLYPH_ORIENTATION_ANGLE;
|
---|
447 |
|
---|
448 | typedef struct DWRITE_FONT_METRICS1
|
---|
449 | {
|
---|
450 | UINT16 designUnitsPerEm;
|
---|
451 | UINT16 ascent;
|
---|
452 | UINT16 descent;
|
---|
453 | INT16 lineGap;
|
---|
454 | UINT16 capHeight;
|
---|
455 | UINT16 xHeight;
|
---|
456 | INT16 underlinePosition;
|
---|
457 | UINT16 underlineThickness;
|
---|
458 | INT16 strikethroughPosition;
|
---|
459 | UINT16 strikethroughThickness;
|
---|
460 | INT16 glyphBoxLeft;
|
---|
461 | INT16 glyphBoxTop;
|
---|
462 | INT16 glyphBoxRight;
|
---|
463 | INT16 glyphBoxBottom;
|
---|
464 | INT16 subscriptPositionX;
|
---|
465 | INT16 subscriptPositionY;
|
---|
466 | INT16 subscriptSizeX;
|
---|
467 | INT16 subscriptSizeY;
|
---|
468 | INT16 superscriptPositionX;
|
---|
469 | INT16 superscriptPositionY;
|
---|
470 | INT16 superscriptSizeX;
|
---|
471 | INT16 superscriptSizeY;
|
---|
472 | BOOL hasTypographicMetrics;
|
---|
473 | } DWRITE_FONT_METRICS1;
|
---|
474 |
|
---|
475 | typedef struct DWRITE_CARET_METRICS
|
---|
476 | {
|
---|
477 | INT16 slopeRise;
|
---|
478 | INT16 slopeRun;
|
---|
479 | INT16 offset;
|
---|
480 | } DWRITE_CARET_METRICS;
|
---|
481 |
|
---|
482 | typedef union DWRITE_PANOSE
|
---|
483 | {
|
---|
484 | UINT8 values[10];
|
---|
485 | UINT8 familyKind;
|
---|
486 | struct
|
---|
487 | {
|
---|
488 | UINT8 familyKind;
|
---|
489 | UINT8 serifStyle;
|
---|
490 | UINT8 weight;
|
---|
491 | UINT8 proportion;
|
---|
492 | UINT8 contrast;
|
---|
493 | UINT8 strokeVariation;
|
---|
494 | UINT8 armStyle;
|
---|
495 | UINT8 letterform;
|
---|
496 | UINT8 midline;
|
---|
497 | UINT8 xHeight;
|
---|
498 | } text;
|
---|
499 | struct
|
---|
500 | {
|
---|
501 | UINT8 familyKind;
|
---|
502 | UINT8 toolKind;
|
---|
503 | UINT8 weight;
|
---|
504 | UINT8 spacing;
|
---|
505 | UINT8 aspectRatio;
|
---|
506 | UINT8 contrast;
|
---|
507 | UINT8 scriptTopology;
|
---|
508 | UINT8 scriptForm;
|
---|
509 | UINT8 finials;
|
---|
510 | UINT8 xAscent;
|
---|
511 | } script;
|
---|
512 | struct
|
---|
513 | {
|
---|
514 | UINT8 familyKind;
|
---|
515 | UINT8 decorativeClass;
|
---|
516 | UINT8 weight;
|
---|
517 | UINT8 aspect;
|
---|
518 | UINT8 contrast;
|
---|
519 | UINT8 serifVariant;
|
---|
520 | UINT8 fill;
|
---|
521 | UINT8 lining;
|
---|
522 | UINT8 decorativeTopology;
|
---|
523 | UINT8 characterRange;
|
---|
524 | } decorative;
|
---|
525 | struct
|
---|
526 | {
|
---|
527 | UINT8 familyKind;
|
---|
528 | UINT8 symbolKind;
|
---|
529 | UINT8 weight;
|
---|
530 | UINT8 spacing;
|
---|
531 | UINT8 aspectRatioAndContrast;
|
---|
532 | UINT8 aspectRatio94;
|
---|
533 | UINT8 aspectRatio119;
|
---|
534 | UINT8 aspectRatio157;
|
---|
535 | UINT8 aspectRatio163;
|
---|
536 | UINT8 aspectRatio211;
|
---|
537 | } symbol;
|
---|
538 | } DWRITE_PANOSE;
|
---|
539 |
|
---|
540 | typedef struct DWRITE_UNICODE_RANGE
|
---|
541 | {
|
---|
542 | UINT32 first;
|
---|
543 | UINT32 last;
|
---|
544 | } DWRITE_UNICODE_RANGE;
|
---|
545 |
|
---|
546 | typedef struct DWRITE_SCRIPT_PROPERTIES
|
---|
547 | {
|
---|
548 | UINT32 isoScriptCode;
|
---|
549 | UINT32 isoScriptNumber;
|
---|
550 | UINT32 clusterLookahead;
|
---|
551 | UINT32 justificationCharacter;
|
---|
552 | UINT32 restrictCaretToClusters : 1;
|
---|
553 | UINT32 usesWordDividers : 1;
|
---|
554 | UINT32 isDiscreteWriting : 1;
|
---|
555 | UINT32 isBlockWriting : 1;
|
---|
556 | UINT32 isDistributedWithinCluster : 1;
|
---|
557 | UINT32 isConnectedWriting : 1;
|
---|
558 | UINT32 isCursiveWriting : 1;
|
---|
559 | UINT32 reserved : 25;
|
---|
560 | } DWRITE_SCRIPT_PROPERTIES;
|
---|
561 |
|
---|
562 | typedef struct DWRITE_JUSTIFICATION_OPPORTUNITY
|
---|
563 | {
|
---|
564 | FLOAT expansionMinimum;
|
---|
565 | FLOAT expansionMaximum;
|
---|
566 | FLOAT compressionMaximum;
|
---|
567 | UINT32 expansionPriority : 8;
|
---|
568 | UINT32 compressionPriority : 8;
|
---|
569 | UINT32 allowResidualExpansion : 1;
|
---|
570 | UINT32 allowResidualCompression : 1;
|
---|
571 | UINT32 applyToLeadingEdge : 1;
|
---|
572 | UINT32 applyToTrailingEdge : 1;
|
---|
573 | UINT32 reserved : 12;
|
---|
574 | } DWRITE_JUSTIFICATION_OPPORTUNITY;
|
---|
575 |
|
---|
576 | interface IDWriteTextAnalysisSource1;
|
---|
577 | interface IDWriteTextAnalysisSink1;
|
---|
578 | interface IDWriteRenderingParams1;
|
---|
579 |
|
---|
580 | [
|
---|
581 | local,
|
---|
582 | object,
|
---|
583 | uuid(30572f99-dac6-41db-a16e-0486307e606a)
|
---|
584 | ]
|
---|
585 | interface IDWriteFactory1 : IDWriteFactory
|
---|
586 | {
|
---|
587 | HRESULT GetEudcFontCollection(IDWriteFontCollection **collection,
|
---|
588 | [defaultvalue(FALSE)] BOOL check_for_updates);
|
---|
589 | HRESULT CreateCustomRenderingParams(FLOAT gamma,
|
---|
590 | FLOAT enhcontrast,
|
---|
591 | FLOAT enhcontrast_grayscale,
|
---|
592 | FLOAT cleartype_level,
|
---|
593 | DWRITE_PIXEL_GEOMETRY geometry,
|
---|
594 | DWRITE_RENDERING_MODE mode,
|
---|
595 | IDWriteRenderingParams1** params);
|
---|
596 | };
|
---|
597 |
|
---|
598 | [
|
---|
599 | local,
|
---|
600 | object,
|
---|
601 | uuid(a71efdb4-9fdb-4838-ad90-cfc3be8c3daf)
|
---|
602 | ]
|
---|
603 | interface IDWriteFontFace1 : IDWriteFontFace
|
---|
604 | {
|
---|
605 | HRESULT GetMetrics(DWRITE_FONT_METRICS1 *metrics);
|
---|
606 | HRESULT GetGdiCompatibleMetrics(FLOAT em_size,
|
---|
607 | FLOAT pixels_per_dip,
|
---|
608 | const DWRITE_MATRIX *transform,
|
---|
609 | DWRITE_FONT_METRICS1 *metrics);
|
---|
610 | void GetCaretMetrics(DWRITE_CARET_METRICS *metrics);
|
---|
611 | HRESULT GetUnicodeRanges(UINT32 max_count,
|
---|
612 | DWRITE_UNICODE_RANGE *ranges,
|
---|
613 | UINT32 *count);
|
---|
614 | BOOL IsMonospacedFont();
|
---|
615 | HRESULT GetDesignGlyphAdvances(UINT32 glyph_count,
|
---|
616 | UINT16 const *indices,
|
---|
617 | INT32 *advances,
|
---|
618 | [defaultvalue(FALSE)] BOOL is_sideways);
|
---|
619 | HRESULT GetGdiCompatibleGlyphAdvances(FLOAT em_size,
|
---|
620 | FLOAT pixels_per_dip,
|
---|
621 | const DWRITE_MATRIX *transform,
|
---|
622 | BOOL use_gdi_natural,
|
---|
623 | BOOL is_sideways,
|
---|
624 | UINT32 glyph_count,
|
---|
625 | const UINT16 *indices,
|
---|
626 | INT32 *advances);
|
---|
627 |
|
---|
628 | HRESULT GetKerningPairAdjustments(UINT32 glyph_count,
|
---|
629 | const UINT16 *indices,
|
---|
630 | INT32 *adjustments);
|
---|
631 | BOOL HasKerningPairs();
|
---|
632 | HRESULT GetRecommendedRenderingMode(FLOAT font_emsize,
|
---|
633 | FLOAT dpiX,
|
---|
634 | FLOAT dpiY,
|
---|
635 | const DWRITE_MATRIX *transform,
|
---|
636 | BOOL is_sideways,
|
---|
637 | DWRITE_OUTLINE_THRESHOLD threshold,
|
---|
638 | DWRITE_MEASURING_MODE measuring_mode,
|
---|
639 | DWRITE_RENDERING_MODE *rendering_mode);
|
---|
640 |
|
---|
641 | HRESULT GetVerticalGlyphVariants(UINT32 glyph_count,
|
---|
642 | const UINT16 *nominal_indices,
|
---|
643 | UINT16 *vertical_indices);
|
---|
644 | BOOL HasVerticalGlyphVariants();
|
---|
645 | };
|
---|
646 |
|
---|
647 | [
|
---|
648 | local,
|
---|
649 | object,
|
---|
650 | uuid(acd16696-8c14-4f5d-877e-fe3fc1d32738)
|
---|
651 | ]
|
---|
652 | interface IDWriteFont1 : IDWriteFont
|
---|
653 | {
|
---|
654 | void GetMetrics(DWRITE_FONT_METRICS1 *metrics);
|
---|
655 | void GetPanose(DWRITE_PANOSE *panose);
|
---|
656 | HRESULT GetUnicodeRanges(UINT32 max_count,
|
---|
657 | DWRITE_UNICODE_RANGE *ranges,
|
---|
658 | UINT32 *count);
|
---|
659 | BOOL IsMonospacedFont();
|
---|
660 | };
|
---|
661 |
|
---|
662 | [
|
---|
663 | local,
|
---|
664 | object,
|
---|
665 | uuid(94413cf4-a6fc-4248-8b50-6674348fcad3)
|
---|
666 | ]
|
---|
667 | interface IDWriteRenderingParams1 : IDWriteRenderingParams
|
---|
668 | {
|
---|
669 | FLOAT GetGrayscaleEnhancedContrast();
|
---|
670 | };
|
---|
671 |
|
---|
672 | [
|
---|
673 | local,
|
---|
674 | object,
|
---|
675 | uuid(80dad800-e21f-4e83-96ce-bfcce500db7c)
|
---|
676 | ]
|
---|
677 | interface IDWriteTextAnalyzer1 : IDWriteTextAnalyzer
|
---|
678 | {
|
---|
679 | HRESULT ApplyCharacterSpacing(FLOAT leading_spacing,
|
---|
680 | FLOAT trailing_spacing,
|
---|
681 | FLOAT min_advance_width,
|
---|
682 | UINT32 len,
|
---|
683 | UINT32 glyph_count,
|
---|
684 | UINT16 const *clustermap,
|
---|
685 | FLOAT const *advances,
|
---|
686 | DWRITE_GLYPH_OFFSET const *offsets,
|
---|
687 | DWRITE_SHAPING_GLYPH_PROPERTIES const *props,
|
---|
688 | FLOAT *modified_advances,
|
---|
689 | DWRITE_GLYPH_OFFSET *modified_offsets);
|
---|
690 | HRESULT GetBaseline(IDWriteFontFace *face,
|
---|
691 | DWRITE_BASELINE baseline,
|
---|
692 | BOOL vertical,
|
---|
693 | BOOL is_simulation_allowed,
|
---|
694 | DWRITE_SCRIPT_ANALYSIS sa,
|
---|
695 | const WCHAR *localeName,
|
---|
696 | INT32 *baseline_coord,
|
---|
697 | BOOL *exists);
|
---|
698 |
|
---|
699 | HRESULT AnalyzeVerticalGlyphOrientation(
|
---|
700 | IDWriteTextAnalysisSource1* source,
|
---|
701 | UINT32 text_pos,
|
---|
702 | UINT32 len,
|
---|
703 | IDWriteTextAnalysisSink1 *sink);
|
---|
704 |
|
---|
705 | HRESULT GetGlyphOrientationTransform(
|
---|
706 | DWRITE_GLYPH_ORIENTATION_ANGLE angle,
|
---|
707 | BOOL is_sideways,
|
---|
708 | DWRITE_MATRIX *transform);
|
---|
709 |
|
---|
710 | HRESULT GetScriptProperties(DWRITE_SCRIPT_ANALYSIS sa, DWRITE_SCRIPT_PROPERTIES *props);
|
---|
711 |
|
---|
712 | HRESULT GetTextComplexity(const WCHAR *text,
|
---|
713 | UINT32 len,
|
---|
714 | IDWriteFontFace *face,
|
---|
715 | BOOL *is_simple,
|
---|
716 | UINT32 *len_read,
|
---|
717 | UINT16 *indices);
|
---|
718 | HRESULT GetJustificationOpportunities(
|
---|
719 | IDWriteFontFace *face,
|
---|
720 | FLOAT font_em_size,
|
---|
721 | DWRITE_SCRIPT_ANALYSIS sa,
|
---|
722 | UINT32 length,
|
---|
723 | UINT32 glyph_count,
|
---|
724 | const WCHAR *text,
|
---|
725 | const UINT16 *clustermap,
|
---|
726 | const DWRITE_SHAPING_GLYPH_PROPERTIES *prop,
|
---|
727 | DWRITE_JUSTIFICATION_OPPORTUNITY *jo);
|
---|
728 |
|
---|
729 | HRESULT JustifyGlyphAdvances(
|
---|
730 | FLOAT width,
|
---|
731 | UINT32 glyph_count,
|
---|
732 | const DWRITE_JUSTIFICATION_OPPORTUNITY *jo,
|
---|
733 | const FLOAT *advances,
|
---|
734 | const DWRITE_GLYPH_OFFSET *offsets,
|
---|
735 | FLOAT *justifiedadvances,
|
---|
736 | DWRITE_GLYPH_OFFSET *justifiedoffsets);
|
---|
737 |
|
---|
738 | HRESULT GetJustifiedGlyphs(
|
---|
739 | IDWriteFontFace *face,
|
---|
740 | FLOAT font_em_size,
|
---|
741 | DWRITE_SCRIPT_ANALYSIS sa,
|
---|
742 | UINT32 length,
|
---|
743 | UINT32 glyph_count,
|
---|
744 | UINT32 max_glyphcount,
|
---|
745 | const UINT16 *clustermap,
|
---|
746 | const UINT16 *indices,
|
---|
747 | const FLOAT *advances,
|
---|
748 | const FLOAT *justifiedadvances,
|
---|
749 | const DWRITE_GLYPH_OFFSET *justifiedoffsets,
|
---|
750 | const DWRITE_SHAPING_GLYPH_PROPERTIES *prop,
|
---|
751 | UINT32 *actual_count,
|
---|
752 | UINT16 *modified_clustermap,
|
---|
753 | UINT16 *modified_indices,
|
---|
754 | FLOAT *modified_advances,
|
---|
755 | DWRITE_GLYPH_OFFSET *modified_offsets);
|
---|
756 | };
|
---|
757 |
|
---|
758 | [
|
---|
759 | local,
|
---|
760 | object,
|
---|
761 | uuid(639cfad8-0fb4-4b21-a58a-067920120009)
|
---|
762 | ]
|
---|
763 | interface IDWriteTextAnalysisSource1 : IDWriteTextAnalysisSource
|
---|
764 | {
|
---|
765 | HRESULT GetVerticalGlyphOrientation(
|
---|
766 | UINT32 pos,
|
---|
767 | UINT32 *length,
|
---|
768 | DWRITE_VERTICAL_GLYPH_ORIENTATION *orientation,
|
---|
769 | UINT8 *bidi_level);
|
---|
770 | };
|
---|
771 |
|
---|
772 | [
|
---|
773 | local,
|
---|
774 | object,
|
---|
775 | uuid(b0d941a0-85e7-4d8b-9fd3-5ced9934482a)
|
---|
776 | ]
|
---|
777 | interface IDWriteTextAnalysisSink1 : IDWriteTextAnalysisSink
|
---|
778 | {
|
---|
779 | HRESULT SetGlyphOrientation(
|
---|
780 | UINT32 pos,
|
---|
781 | UINT32 length,
|
---|
782 | DWRITE_GLYPH_ORIENTATION_ANGLE angle,
|
---|
783 | UINT8 adjusted_bidilevel,
|
---|
784 | BOOL is_sideways,
|
---|
785 | BOOL is_rtl);
|
---|
786 | };
|
---|
787 |
|
---|
788 | [
|
---|
789 | local,
|
---|
790 | object,
|
---|
791 | uuid(9064d822-80a7-465c-a986-df65f78b8feb)
|
---|
792 | ]
|
---|
793 | interface IDWriteTextLayout1 : IDWriteTextLayout
|
---|
794 | {
|
---|
795 | HRESULT SetPairKerning(
|
---|
796 | BOOL is_pairkerning_enabled,
|
---|
797 | DWRITE_TEXT_RANGE range);
|
---|
798 |
|
---|
799 | HRESULT GetPairKerning(
|
---|
800 | UINT32 position,
|
---|
801 | BOOL *is_pairkerning_enabled,
|
---|
802 | DWRITE_TEXT_RANGE *range);
|
---|
803 |
|
---|
804 | HRESULT SetCharacterSpacing(
|
---|
805 | FLOAT leading_spacing,
|
---|
806 | FLOAT trailing_spacing,
|
---|
807 | FLOAT minimum_advance_width,
|
---|
808 | DWRITE_TEXT_RANGE range);
|
---|
809 |
|
---|
810 | HRESULT GetCharacterSpacing(
|
---|
811 | UINT32 position,
|
---|
812 | FLOAT* leading_spacing,
|
---|
813 | FLOAT* trailing_spacing,
|
---|
814 | FLOAT* minimum_advance_width,
|
---|
815 | [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range);
|
---|
816 | };
|
---|
817 |
|
---|
818 | typedef enum DWRITE_TEXT_ANTIALIAS_MODE
|
---|
819 | {
|
---|
820 | DWRITE_TEXT_ANTIALIAS_MODE_CLEARTYPE,
|
---|
821 | DWRITE_TEXT_ANTIALIAS_MODE_GRAYSCALE
|
---|
822 | } DWRITE_TEXT_ANTIALIAS_MODE;
|
---|
823 |
|
---|
824 | [
|
---|
825 | local,
|
---|
826 | object,
|
---|
827 | uuid(791e8298-3ef3-4230-9880-c9bdecc42064)
|
---|
828 | ]
|
---|
829 | interface IDWriteBitmapRenderTarget1 : IDWriteBitmapRenderTarget
|
---|
830 | {
|
---|
831 | DWRITE_TEXT_ANTIALIAS_MODE GetTextAntialiasMode();
|
---|
832 | HRESULT SetTextAntialiasMode(DWRITE_TEXT_ANTIALIAS_MODE mode);
|
---|
833 | };
|
---|