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