| 1 |
/* |
| 2 |
* Copyright 2016 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_2.idl"; |
| 20 |
|
| 21 |
interface IDWriteFontFaceReference; |
| 22 |
interface IDWriteFontFaceReference1; |
| 23 |
interface IDWriteFontFace3; |
| 24 |
interface IDWriteFontSet; |
| 25 |
interface IDWriteFontDownloadQueue; |
| 26 |
interface IDWriteFontFace5; |
| 27 |
interface IDWriteFontList2; |
| 28 |
|
| 29 |
cpp_quote("#ifndef _WINGDI_") |
| 30 |
/* already defined in wingdi.h but needed for WIDL */ |
| 31 |
typedef struct FONTSIGNATURE FONTSIGNATURE; |
| 32 |
cpp_quote("#endif /* _WINGDI_ */") |
| 33 |
|
| 34 |
typedef enum DWRITE_LOCALITY |
| 35 |
{ |
| 36 |
DWRITE_LOCALITY_REMOTE, |
| 37 |
DWRITE_LOCALITY_PARTIAL, |
| 38 |
DWRITE_LOCALITY_LOCAL |
| 39 |
} DWRITE_LOCALITY; |
| 40 |
|
| 41 |
typedef enum DWRITE_RENDERING_MODE1 |
| 42 |
{ |
| 43 |
DWRITE_RENDERING_MODE1_DEFAULT, |
| 44 |
DWRITE_RENDERING_MODE1_ALIASED, |
| 45 |
DWRITE_RENDERING_MODE1_GDI_CLASSIC, |
| 46 |
DWRITE_RENDERING_MODE1_GDI_NATURAL, |
| 47 |
DWRITE_RENDERING_MODE1_NATURAL, |
| 48 |
DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC, |
| 49 |
DWRITE_RENDERING_MODE1_OUTLINE, |
| 50 |
DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC_DOWNSAMPLED |
| 51 |
} DWRITE_RENDERING_MODE1; |
| 52 |
|
| 53 |
typedef enum DWRITE_FONT_PROPERTY_ID |
| 54 |
{ |
| 55 |
DWRITE_FONT_PROPERTY_ID_NONE, |
| 56 |
DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FAMILY_NAME, |
| 57 |
DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FAMILY_NAME, |
| 58 |
DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FACE_NAME, |
| 59 |
DWRITE_FONT_PROPERTY_ID_FULL_NAME, |
| 60 |
DWRITE_FONT_PROPERTY_ID_WIN32_FAMILY_NAME, |
| 61 |
DWRITE_FONT_PROPERTY_ID_POSTSCRIPT_NAME, |
| 62 |
DWRITE_FONT_PROPERTY_ID_DESIGN_SCRIPT_LANGUAGE_TAG, |
| 63 |
DWRITE_FONT_PROPERTY_ID_SUPPORTED_SCRIPT_LANGUAGE_TAG, |
| 64 |
DWRITE_FONT_PROPERTY_ID_SEMANTIC_TAG, |
| 65 |
DWRITE_FONT_PROPERTY_ID_WEIGHT, |
| 66 |
DWRITE_FONT_PROPERTY_ID_STRETCH, |
| 67 |
DWRITE_FONT_PROPERTY_ID_STYLE, |
| 68 |
DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FACE_NAME, |
| 69 |
DWRITE_FONT_PROPERTY_ID_TOTAL = DWRITE_FONT_PROPERTY_ID_STYLE + 1, |
| 70 |
DWRITE_FONT_PROPERTY_ID_TOTAL_RS3 = DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FACE_NAME + 1, |
| 71 |
DWRITE_FONT_PROPERTY_ID_FAMILY_NAME = DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FAMILY_NAME, |
| 72 |
DWRITE_FONT_PROPERTY_ID_PREFERRED_FAMILY_NAME = DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FAMILY_NAME, |
| 73 |
DWRITE_FONT_PROPERTY_ID_FACE_NAME = DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FACE_NAME, |
| 74 |
} DWRITE_FONT_PROPERTY_ID; |
| 75 |
|
| 76 |
typedef struct DWRITE_FONT_PROPERTY |
| 77 |
{ |
| 78 |
DWRITE_FONT_PROPERTY_ID propertyId; |
| 79 |
WCHAR const *propertyValue; |
| 80 |
WCHAR const *localeName; |
| 81 |
} DWRITE_FONT_PROPERTY; |
| 82 |
|
| 83 |
cpp_quote("#ifdef __cplusplus") |
| 84 |
cpp_quote("#define DWRITE_MAKE_FONT_AXIS_TAG(a,b,c,d) (static_cast<DWRITE_FONT_AXIS_TAG>(DWRITE_MAKE_OPENTYPE_TAG(a,b,c,d)))") |
| 85 |
cpp_quote("#else") |
| 86 |
cpp_quote("#define DWRITE_MAKE_FONT_AXIS_TAG(a,b,c,d) (DWRITE_MAKE_OPENTYPE_TAG(a,b,c,d))") |
| 87 |
cpp_quote("#endif") |
| 88 |
|
| 89 |
typedef enum DWRITE_FONT_AXIS_TAG |
| 90 |
{ |
| 91 |
DWRITE_FONT_AXIS_TAG_WEIGHT = 0x74686777, /* 'wght' */ |
| 92 |
DWRITE_FONT_AXIS_TAG_WIDTH = 0x68746477, /* 'wdth' */ |
| 93 |
DWRITE_FONT_AXIS_TAG_SLANT = 0x746e6c73, /* 'slnt' */ |
| 94 |
DWRITE_FONT_AXIS_TAG_OPTICAL_SIZE = 0x7a73706f, /* 'opsz' */ |
| 95 |
DWRITE_FONT_AXIS_TAG_ITALIC = 0x6c617469, /* 'ital' */ |
| 96 |
} DWRITE_FONT_AXIS_TAG; |
| 97 |
|
| 98 |
typedef enum DWRITE_FONT_SOURCE_TYPE |
| 99 |
{ |
| 100 |
DWRITE_FONT_SOURCE_TYPE_UNKNOWN, |
| 101 |
DWRITE_FONT_SOURCE_TYPE_PER_MACHINE, |
| 102 |
DWRITE_FONT_SOURCE_TYPE_PER_USER, |
| 103 |
DWRITE_FONT_SOURCE_TYPE_APPX_PACKAGE, |
| 104 |
DWRITE_FONT_SOURCE_TYPE_REMOTE_FONT_PROVIDER |
| 105 |
} DWRITE_FONT_SOURCE_TYPE; |
| 106 |
|
| 107 |
typedef struct DWRITE_FONT_AXIS_VALUE |
| 108 |
{ |
| 109 |
DWRITE_FONT_AXIS_TAG axisTag; |
| 110 |
FLOAT value; |
| 111 |
} DWRITE_FONT_AXIS_VALUE; |
| 112 |
|
| 113 |
typedef struct DWRITE_FONT_AXIS_RANGE |
| 114 |
{ |
| 115 |
DWRITE_FONT_AXIS_TAG axisTag; |
| 116 |
FLOAT minValue; |
| 117 |
FLOAT maxValue; |
| 118 |
} DWRITE_FONT_AXIS_RANGE; |
| 119 |
|
| 120 |
typedef enum DWRITE_AUTOMATIC_FONT_AXES |
| 121 |
{ |
| 122 |
DWRITE_AUTOMATIC_FONT_AXES_NONE, |
| 123 |
DWRITE_AUTOMATIC_FONT_AXES_OPTICAL_SIZE, |
| 124 |
} DWRITE_AUTOMATIC_FONT_AXES; |
| 125 |
|
| 126 |
typedef enum DWRITE_FONT_AXIS_ATTRIBUTES |
| 127 |
{ |
| 128 |
DWRITE_FONT_AXIS_ATTRIBUTES_NONE, |
| 129 |
DWRITE_FONT_AXIS_ATTRIBUTES_VARIABLE, |
| 130 |
DWRITE_FONT_AXIS_ATTRIBUTES_HIDDEN, |
| 131 |
} DWRITE_FONT_AXIS_ATTRIBUTES; |
| 132 |
|
| 133 |
typedef enum DWRITE_FONT_FAMILY_MODEL |
| 134 |
{ |
| 135 |
DWRITE_FONT_FAMILY_MODEL_TYPOGRAPHIC, |
| 136 |
DWRITE_FONT_FAMILY_MODEL_WEIGHT_STRETCH_STYLE, |
| 137 |
} DWRITE_FONT_FAMILY_MODEL; |
| 138 |
|
| 139 |
[ |
| 140 |
local, |
| 141 |
object, |
| 142 |
uuid(b06fe5b9-43ec-4393-881b-dbe4dc72fda7) |
| 143 |
] |
| 144 |
interface IDWriteFontDownloadListener : IUnknown |
| 145 |
{ |
| 146 |
void DownloadCompleted(IDWriteFontDownloadQueue *queue, IUnknown *context, HRESULT result); |
| 147 |
} |
| 148 |
|
| 149 |
[ |
| 150 |
local, |
| 151 |
object, |
| 152 |
uuid(b71e6052-5aea-4fa3-832e-f60d431f7e91) |
| 153 |
] |
| 154 |
interface IDWriteFontDownloadQueue : IUnknown |
| 155 |
{ |
| 156 |
HRESULT AddListener(IDWriteFontDownloadListener *listener, UINT32 *token); |
| 157 |
HRESULT RemoveListener(UINT32 token); |
| 158 |
BOOL IsEmpty(); |
| 159 |
HRESULT BeginDownload(IUnknown *context); |
| 160 |
HRESULT CancelDownload(); |
| 161 |
UINT64 GetGenerationCount(); |
| 162 |
} |
| 163 |
|
| 164 |
[ |
| 165 |
local, |
| 166 |
object, |
| 167 |
uuid(b7924baa-391b-412a-8c5c-e44cc2d867dc) |
| 168 |
] |
| 169 |
interface IDWriteRenderingParams3 : IDWriteRenderingParams2 |
| 170 |
{ |
| 171 |
DWRITE_RENDERING_MODE1 GetRenderingMode1(); |
| 172 |
} |
| 173 |
|
| 174 |
[ |
| 175 |
local, |
| 176 |
object, |
| 177 |
uuid(cfee3140-1257-47ca-8b85-31bfcf3f2d0e) |
| 178 |
] |
| 179 |
interface IDWriteStringList : IUnknown |
| 180 |
{ |
| 181 |
UINT32 GetCount(); |
| 182 |
HRESULT GetLocaleNameLength(UINT32 index, UINT32 *length); |
| 183 |
HRESULT GetLocaleName(UINT32 index, WCHAR *name, UINT32 size); |
| 184 |
HRESULT GetStringLength(UINT32 index, UINT32 *length); |
| 185 |
HRESULT GetString(UINT32 index, WCHAR *string, UINT32 size); |
| 186 |
} |
| 187 |
|
| 188 |
[ |
| 189 |
local, |
| 190 |
object, |
| 191 |
uuid(53585141-d9f8-4095-8321-d73cf6bd116b) |
| 192 |
] |
| 193 |
interface IDWriteFontSet : IUnknown |
| 194 |
{ |
| 195 |
UINT32 GetFontCount(); |
| 196 |
HRESULT GetFontFaceReference(UINT32 index, IDWriteFontFaceReference **reference); |
| 197 |
HRESULT FindFontFaceReference(IDWriteFontFaceReference *reference, |
| 198 |
UINT32 *index, BOOL *exists); |
| 199 |
HRESULT FindFontFace(IDWriteFontFace *fontface, UINT32 *index, BOOL *exists); |
| 200 |
HRESULT GetPropertyValues__(DWRITE_FONT_PROPERTY_ID id, IDWriteStringList **values); |
| 201 |
HRESULT GetPropertyValues_(DWRITE_FONT_PROPERTY_ID id, |
| 202 |
WCHAR const *preferred_locales, IDWriteStringList **values); |
| 203 |
HRESULT GetPropertyValues(UINT32 index, DWRITE_FONT_PROPERTY_ID id, BOOL *exists, |
| 204 |
IDWriteLocalizedStrings **values); |
| 205 |
HRESULT GetPropertyOccurrenceCount(DWRITE_FONT_PROPERTY const *property, UINT32 *count); |
| 206 |
HRESULT GetMatchingFonts_(WCHAR const *family, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, |
| 207 |
DWRITE_FONT_STYLE style, IDWriteFontSet **fontset); |
| 208 |
HRESULT GetMatchingFonts(DWRITE_FONT_PROPERTY const *props, UINT32 count, IDWriteFontSet **fontset); |
| 209 |
} |
| 210 |
|
| 211 |
[ |
| 212 |
local, |
| 213 |
object, |
| 214 |
uuid(1f803a76-6871-48e8-987f-b975551c50f2) |
| 215 |
] |
| 216 |
interface IDWriteFontResource : IUnknown |
| 217 |
{ |
| 218 |
HRESULT GetFontFile(IDWriteFontFile **fontfile); |
| 219 |
UINT32 GetFontFaceIndex(); |
| 220 |
UINT32 GetFontAxisCount(); |
| 221 |
HRESULT GetDefaultFontAxisValues( |
| 222 |
DWRITE_FONT_AXIS_VALUE const *values, |
| 223 |
UINT32 num_values); |
| 224 |
HRESULT GetFontAxisRanges( |
| 225 |
DWRITE_FONT_AXIS_RANGE const *ranges, |
| 226 |
UINT32 num_ranges); |
| 227 |
DWRITE_FONT_AXIS_ATTRIBUTES GetFontAxisAttributes( |
| 228 |
UINT32 axis); |
| 229 |
HRESULT GetAxisNames( |
| 230 |
UINT32 axis, |
| 231 |
IDWriteLocalizedStrings **names); |
| 232 |
UINT32 GetAxisValueNameCount( |
| 233 |
UINT32 axis); |
| 234 |
HRESULT GetAxisValueNames( |
| 235 |
UINT32 axis, |
| 236 |
UINT32 axis_value, |
| 237 |
DWRITE_FONT_AXIS_RANGE *axis_range, |
| 238 |
IDWriteLocalizedStrings **names); |
| 239 |
BOOL HasVariations(); |
| 240 |
HRESULT CreateFontFace( |
| 241 |
DWRITE_FONT_SIMULATIONS simulations, |
| 242 |
DWRITE_FONT_AXIS_VALUE const *axis_values, |
| 243 |
UINT32 num_values, |
| 244 |
IDWriteFontFace5 **fontface); |
| 245 |
HRESULT CreateFontFaceReference( |
| 246 |
DWRITE_FONT_SIMULATIONS simulations, |
| 247 |
DWRITE_FONT_AXIS_VALUE const *axis_values, |
| 248 |
UINT32 num_values, |
| 249 |
IDWriteFontFaceReference1 **reference); |
| 250 |
} |
| 251 |
|
| 252 |
[ |
| 253 |
local, |
| 254 |
object, |
| 255 |
uuid(7e9fda85-6c92-4053-bc47-7ae3530db4d3) |
| 256 |
] |
| 257 |
interface IDWriteFontSet1 : IDWriteFontSet |
| 258 |
{ |
| 259 |
HRESULT GetMatchingFonts( |
| 260 |
DWRITE_FONT_PROPERTY const *property, |
| 261 |
DWRITE_FONT_AXIS_VALUE const *axis_values, |
| 262 |
UINT32 num_values, |
| 263 |
IDWriteFontSet1 **fontset); |
| 264 |
HRESULT GetFirstFontResources(IDWriteFontSet1 **fontset); |
| 265 |
HRESULT GetFilteredFonts__( |
| 266 |
UINT32 const *indices, |
| 267 |
UINT32 num_indices, |
| 268 |
IDWriteFontSet1 **fontset); |
| 269 |
HRESULT GetFilteredFonts_( |
| 270 |
DWRITE_FONT_AXIS_RANGE const *axis_ranges, |
| 271 |
UINT32 num_ranges, |
| 272 |
BOOL select_any_range, |
| 273 |
IDWriteFontSet1 **fontset); |
| 274 |
HRESULT GetFilteredFonts( |
| 275 |
DWRITE_FONT_PROPERTY const *props, |
| 276 |
UINT32 num_properties, |
| 277 |
BOOL select_any_property, |
| 278 |
IDWriteFontSet1 **fontset); |
| 279 |
HRESULT GetFilteredFontIndices_( |
| 280 |
DWRITE_FONT_AXIS_RANGE const *ranges, |
| 281 |
UINT32 num_ranges, |
| 282 |
BOOL select_any_range, |
| 283 |
UINT32 *indices, |
| 284 |
UINT32 num_indices, |
| 285 |
UINT32 *actual_num_indices); |
| 286 |
HRESULT GetFilteredFontIndices( |
| 287 |
DWRITE_FONT_PROPERTY const *props, |
| 288 |
UINT32 num_properties, |
| 289 |
BOOL select_any_range, |
| 290 |
UINT32 *indices, |
| 291 |
UINT32 num_indices, |
| 292 |
UINT32 *actual_num_indices); |
| 293 |
HRESULT GetFontAxisRanges_( |
| 294 |
UINT32 font_index, |
| 295 |
DWRITE_FONT_AXIS_RANGE *axis_ranges, |
| 296 |
UINT32 num_ranges, |
| 297 |
UINT32 *actual_num_ranges); |
| 298 |
HRESULT GetFontAxisRanges( |
| 299 |
DWRITE_FONT_AXIS_RANGE *axis_ranges, |
| 300 |
UINT32 num_ranges, |
| 301 |
UINT32 *actual_num_ranges); |
| 302 |
HRESULT GetFontFaceReference( |
| 303 |
UINT32 index, |
| 304 |
IDWriteFontFaceReference1 **reference); |
| 305 |
HRESULT CreateFontResource( |
| 306 |
UINT32 index, |
| 307 |
IDWriteFontResource **resource); |
| 308 |
HRESULT CreateFontFace( |
| 309 |
UINT32 index, |
| 310 |
IDWriteFontFace5 **fontface); |
| 311 |
DWRITE_LOCALITY GetFontLocality(UINT32 index); |
| 312 |
} |
| 313 |
|
| 314 |
[ |
| 315 |
local, |
| 316 |
object, |
| 317 |
uuid(29748ed6-8c9c-4a6a-be0b-d912e8538944) |
| 318 |
] |
| 319 |
interface IDWriteFont3 : IDWriteFont2 |
| 320 |
{ |
| 321 |
HRESULT CreateFontFace(IDWriteFontFace3 **fontface); |
| 322 |
BOOL Equals(IDWriteFont *font); |
| 323 |
HRESULT GetFontFaceReference(IDWriteFontFaceReference **reference); |
| 324 |
BOOL HasCharacter(UINT32 character); |
| 325 |
DWRITE_LOCALITY GetLocality(); |
| 326 |
} |
| 327 |
|
| 328 |
[ |
| 329 |
local, |
| 330 |
object, |
| 331 |
uuid(da20d8ef-812a-4c43-9802-62ec4abd7adf) |
| 332 |
] |
| 333 |
interface IDWriteFontFamily1 : IDWriteFontFamily |
| 334 |
{ |
| 335 |
DWRITE_LOCALITY GetFontLocality(UINT32 index); |
| 336 |
HRESULT GetFont(UINT32 index, IDWriteFont3 **font); |
| 337 |
HRESULT GetFontFaceReference(UINT32 index, IDWriteFontFaceReference **reference); |
| 338 |
} |
| 339 |
|
| 340 |
[ |
| 341 |
local, |
| 342 |
object, |
| 343 |
uuid(3ed49e77-a398-4261-b9cf-c126c2131ef3) |
| 344 |
] |
| 345 |
interface IDWriteFontFamily2 : IDWriteFontFamily1 |
| 346 |
{ |
| 347 |
HRESULT GetMatchingFonts( |
| 348 |
DWRITE_FONT_AXIS_VALUE const *axis_values, |
| 349 |
UINT32 num_values, |
| 350 |
IDWriteFontList2 **fontlist); |
| 351 |
HRESULT GetFontSet(IDWriteFontSet1 **fontset); |
| 352 |
} |
| 353 |
|
| 354 |
[ |
| 355 |
local, |
| 356 |
object, |
| 357 |
uuid(53585141-d9f8-4095-8321-d73cf6bd116c) |
| 358 |
] |
| 359 |
interface IDWriteFontCollection1 : IDWriteFontCollection |
| 360 |
{ |
| 361 |
HRESULT GetFontSet(IDWriteFontSet **fontset); |
| 362 |
HRESULT GetFontFamily(UINT32 index, IDWriteFontFamily1 **family); |
| 363 |
} |
| 364 |
|
| 365 |
[ |
| 366 |
local, |
| 367 |
object, |
| 368 |
uuid(514039c6-4617-4064-bf8b-92ea83e506e0) |
| 369 |
] |
| 370 |
interface IDWriteFontCollection2 : IDWriteFontCollection1 |
| 371 |
{ |
| 372 |
HRESULT GetFontFamily( |
| 373 |
UINT32 index, |
| 374 |
IDWriteFontFamily2 **family); |
| 375 |
HRESULT GetMatchingFonts( |
| 376 |
const WCHAR *familyname, |
| 377 |
DWRITE_FONT_AXIS_VALUE const *axis_values, |
| 378 |
UINT32 num_values, |
| 379 |
IDWriteFontList2 **fontlist); |
| 380 |
DWRITE_FONT_FAMILY_MODEL GetFontFamilyModel(); |
| 381 |
HRESULT GetFontSet(IDWriteFontSet1 **fontset); |
| 382 |
} |
| 383 |
|
| 384 |
[ |
| 385 |
local, |
| 386 |
object, |
| 387 |
uuid(a4d055a6-f9e3-4e25-93b7-9e309f3af8e9) |
| 388 |
] |
| 389 |
interface IDWriteFontCollection3 : IDWriteFontCollection2 |
| 390 |
{ |
| 391 |
HANDLE GetExpirationEvent(); |
| 392 |
} |
| 393 |
|
| 394 |
[ |
| 395 |
local, |
| 396 |
object, |
| 397 |
uuid(5e7fa7ca-dde3-424c-89f0-9fcd6fed58cd) |
| 398 |
] |
| 399 |
interface IDWriteFontFaceReference : IUnknown |
| 400 |
{ |
| 401 |
HRESULT CreateFontFace(IDWriteFontFace3 **fontface); |
| 402 |
HRESULT CreateFontFaceWithSimulations(DWRITE_FONT_SIMULATIONS simulations, |
| 403 |
IDWriteFontFace3 **fontface); |
| 404 |
BOOL Equals(IDWriteFontFaceReference *reference); |
| 405 |
UINT32 GetFontFaceIndex(); |
| 406 |
DWRITE_FONT_SIMULATIONS GetSimulations(); |
| 407 |
HRESULT GetFontFile(IDWriteFontFile **fontfile); |
| 408 |
UINT64 GetLocalFileSize(); |
| 409 |
UINT64 GetFileSize(); |
| 410 |
HRESULT GetFileTime(FILETIME *writetime); |
| 411 |
DWRITE_LOCALITY GetLocality(); |
| 412 |
HRESULT EnqueueFontDownloadRequest(); |
| 413 |
HRESULT EnqueueCharacterDownloadRequest(WCHAR const *chars, UINT32 count); |
| 414 |
HRESULT EnqueueGlyphDownloadRequest(UINT16 const *glyphs, UINT32 count); |
| 415 |
HRESULT EnqueueFileFragmentDownloadRequest(UINT64 offset, UINT64 size); |
| 416 |
} |
| 417 |
|
| 418 |
[ |
| 419 |
local, |
| 420 |
object, |
| 421 |
uuid(c081fe77-2fd1-41ac-a5a3-34983c4ba61a) |
| 422 |
] |
| 423 |
interface IDWriteFontFaceReference1 : IDWriteFontFaceReference |
| 424 |
{ |
| 425 |
HRESULT CreateFontFace(IDWriteFontFace5 **fontface); |
| 426 |
UINT32 GetFontAxisValueCount(); |
| 427 |
HRESULT GetFontAxisValues( |
| 428 |
DWRITE_FONT_AXIS_VALUE *values, |
| 429 |
UINT32 num_values); |
| 430 |
} |
| 431 |
|
| 432 |
[ |
| 433 |
local, |
| 434 |
object, |
| 435 |
uuid(da20d8ef-812a-4c43-9802-62ec4abd7ade) |
| 436 |
] |
| 437 |
interface IDWriteFontList1 : IDWriteFontList |
| 438 |
{ |
| 439 |
DWRITE_LOCALITY GetFontLocality(UINT32 index); |
| 440 |
HRESULT GetFont(UINT32 index, IDWriteFont3 **font); |
| 441 |
HRESULT GetFontFaceReference(UINT32 index, IDWriteFontFaceReference **reference); |
| 442 |
} |
| 443 |
|
| 444 |
[ |
| 445 |
local, |
| 446 |
object, |
| 447 |
uuid(c0763a34-77af-445a-b735-08c37b0a5bf5) |
| 448 |
] |
| 449 |
interface IDWriteFontList2 : IDWriteFontList1 |
| 450 |
{ |
| 451 |
HRESULT GetFontSet(IDWriteFontSet1 **fontset); |
| 452 |
} |
| 453 |
|
| 454 |
[ |
| 455 |
local, |
| 456 |
object, |
| 457 |
uuid(dc7ead19-e54c-43af-b2da-4e2b79ba3f7f) |
| 458 |
] |
| 459 |
interface IDWriteFontSet2 : IDWriteFontSet1 |
| 460 |
{ |
| 461 |
HANDLE GetExpirationEvent(); |
| 462 |
} |
| 463 |
|
| 464 |
[ |
| 465 |
local, |
| 466 |
object, |
| 467 |
uuid(7c073ef2-a7f4-4045-8c32-8ab8ae640f90) |
| 468 |
] |
| 469 |
interface IDWriteFontSet3 : IDWriteFontSet2 |
| 470 |
{ |
| 471 |
DWRITE_FONT_SOURCE_TYPE GetFontSourceType(UINT32 index); |
| 472 |
UINT32 GetFontSourceNameLength(UINT32 index); |
| 473 |
HRESULT GetFontSourceName(UINT32 index, WCHAR *buffer, UINT32 buffer_size); |
| 474 |
} |
| 475 |
|
| 476 |
[ |
| 477 |
local, |
| 478 |
object, |
| 479 |
uuid(d37d7598-09be-4222-a236-2081341cc1f2) |
| 480 |
] |
| 481 |
interface IDWriteFontFace3 : IDWriteFontFace2 |
| 482 |
{ |
| 483 |
HRESULT GetFontFaceReference(IDWriteFontFaceReference **reference); |
| 484 |
void GetPanose(DWRITE_PANOSE *panose); |
| 485 |
DWRITE_FONT_WEIGHT GetWeight(); |
| 486 |
DWRITE_FONT_STRETCH GetStretch(); |
| 487 |
DWRITE_FONT_STYLE GetStyle(); |
| 488 |
HRESULT GetFamilyNames(IDWriteLocalizedStrings **names); |
| 489 |
HRESULT GetFaceNames(IDWriteLocalizedStrings **names); |
| 490 |
HRESULT GetInformationalStrings(DWRITE_INFORMATIONAL_STRING_ID stringid, |
| 491 |
IDWriteLocalizedStrings **strings, |
| 492 |
BOOL *exists); |
| 493 |
BOOL HasCharacter(UINT32 character); |
| 494 |
HRESULT GetRecommendedRenderingMode( |
| 495 |
FLOAT emsize, |
| 496 |
FLOAT dpi_x, |
| 497 |
FLOAT dpi_y, |
| 498 |
DWRITE_MATRIX const *transform, |
| 499 |
BOOL is_sideways, |
| 500 |
DWRITE_OUTLINE_THRESHOLD threshold, |
| 501 |
DWRITE_MEASURING_MODE measuring_mode, |
| 502 |
IDWriteRenderingParams *params, |
| 503 |
DWRITE_RENDERING_MODE1 *rendering_mode, |
| 504 |
DWRITE_GRID_FIT_MODE *gridfit_mode); |
| 505 |
BOOL IsCharacterLocal(UINT32 character); |
| 506 |
BOOL IsGlyphLocal(UINT16 glyph); |
| 507 |
HRESULT AreCharactersLocal(WCHAR const *characters, |
| 508 |
UINT32 count, BOOL enqueue_if_not, BOOL *are_local); |
| 509 |
HRESULT AreGlyphsLocal(UINT16 const *glyphs, UINT32 count, |
| 510 |
BOOL enqueue_if_not, BOOL *are_local); |
| 511 |
} |
| 512 |
|
| 513 |
|
| 514 |
typedef struct DWRITE_LINE_METRICS1 |
| 515 |
{ |
| 516 |
UINT32 length; |
| 517 |
UINT32 trailingWhitespaceLength; |
| 518 |
UINT32 newlineLength; |
| 519 |
FLOAT height; |
| 520 |
FLOAT baseline; |
| 521 |
BOOL isTrimmed; |
| 522 |
FLOAT leadingBefore; |
| 523 |
FLOAT leadingAfter; |
| 524 |
} DWRITE_LINE_METRICS1; |
| 525 |
|
| 526 |
typedef enum DWRITE_FONT_LINE_GAP_USAGE |
| 527 |
{ |
| 528 |
DWRITE_FONT_LINE_GAP_USAGE_DEFAULT, |
| 529 |
DWRITE_FONT_LINE_GAP_USAGE_DISABLED, |
| 530 |
DWRITE_FONT_LINE_GAP_USAGE_ENABLED |
| 531 |
} DWRITE_FONT_LINE_GAP_USAGE; |
| 532 |
|
| 533 |
typedef struct DWRITE_LINE_SPACING |
| 534 |
{ |
| 535 |
DWRITE_LINE_SPACING_METHOD method; |
| 536 |
FLOAT height; |
| 537 |
FLOAT baseline; |
| 538 |
FLOAT leadingBefore; |
| 539 |
DWRITE_FONT_LINE_GAP_USAGE fontLineGapUsage; |
| 540 |
} DWRITE_LINE_SPACING; |
| 541 |
|
| 542 |
[ |
| 543 |
local, |
| 544 |
object, |
| 545 |
uuid(f67e0edd-9e3d-4ecc-8c32-4183253dfe70) |
| 546 |
] |
| 547 |
interface IDWriteTextFormat2 : IDWriteTextFormat1 |
| 548 |
{ |
| 549 |
HRESULT SetLineSpacing(DWRITE_LINE_SPACING const *spacing); |
| 550 |
HRESULT GetLineSpacing(DWRITE_LINE_SPACING *spacing); |
| 551 |
} |
| 552 |
|
| 553 |
[ |
| 554 |
local, |
| 555 |
object, |
| 556 |
uuid(6d3b5641-e550-430d-a85b-b7bf48a93427) |
| 557 |
] |
| 558 |
interface IDWriteTextFormat3 : IDWriteTextFormat2 |
| 559 |
{ |
| 560 |
HRESULT SetFontAxisValues( |
| 561 |
DWRITE_FONT_AXIS_VALUE const *axis_values, |
| 562 |
UINT32 num_values); |
| 563 |
UINT32 GetFontAxisValueCount(); |
| 564 |
HRESULT GetFontAxisValues( |
| 565 |
DWRITE_FONT_AXIS_VALUE *axis_values, |
| 566 |
UINT32 num_values); |
| 567 |
DWRITE_AUTOMATIC_FONT_AXES GetAutomaticFontAxes(); |
| 568 |
HRESULT SetAutomaticFontAxes(DWRITE_AUTOMATIC_FONT_AXES axes); |
| 569 |
} |
| 570 |
|
| 571 |
[ |
| 572 |
local, |
| 573 |
object, |
| 574 |
uuid(07ddcd52-020e-4de8-ac33-6c953d83f92d) |
| 575 |
] |
| 576 |
interface IDWriteTextLayout3 : IDWriteTextLayout2 |
| 577 |
{ |
| 578 |
HRESULT InvalidateLayout(); |
| 579 |
HRESULT SetLineSpacing(DWRITE_LINE_SPACING const *spacing); |
| 580 |
HRESULT GetLineSpacing(DWRITE_LINE_SPACING *spacing); |
| 581 |
HRESULT GetLineMetrics(DWRITE_LINE_METRICS1 *metrics, UINT32 max_count, UINT32 *count); |
| 582 |
} |
| 583 |
|
| 584 |
[ |
| 585 |
local, |
| 586 |
object, |
| 587 |
uuid(05a9bf42-223f-4441-b5fb-8263685f55e9) |
| 588 |
] |
| 589 |
interface IDWriteTextLayout4 : IDWriteTextLayout3 |
| 590 |
{ |
| 591 |
HRESULT SetFontAxisValues( |
| 592 |
DWRITE_FONT_AXIS_VALUE const *axis_values, |
| 593 |
UINT32 num_values, |
| 594 |
DWRITE_TEXT_RANGE range); |
| 595 |
UINT32 GetFontAxisValueCount(UINT32 pos); |
| 596 |
HRESULT GetFontAxisValues( |
| 597 |
UINT32 pos, |
| 598 |
DWRITE_FONT_AXIS_VALUE *values, |
| 599 |
UINT32 num_values, |
| 600 |
DWRITE_TEXT_RANGE *range); |
| 601 |
DWRITE_AUTOMATIC_FONT_AXES GetAutomaticFontAxes(); |
| 602 |
HRESULT SetAutomaticFontAxes(DWRITE_AUTOMATIC_FONT_AXES axes); |
| 603 |
} |
| 604 |
|
| 605 |
[ |
| 606 |
local, |
| 607 |
object, |
| 608 |
uuid(2397599d-dd0d-4681-bd6a-f4f31eaade77) |
| 609 |
] |
| 610 |
interface IDWriteFontFallback1 : IDWriteFontFallback |
| 611 |
{ |
| 612 |
HRESULT MapCharacters( |
| 613 |
IDWriteTextAnalysisSource *source, |
| 614 |
UINT32 pos, |
| 615 |
UINT32 length, |
| 616 |
IDWriteFontCollection *base_collection, |
| 617 |
const WCHAR *familyname, |
| 618 |
DWRITE_FONT_AXIS_VALUE const *axis_values, |
| 619 |
UINT32 num_values, |
| 620 |
UINT32 *mapped_length, |
| 621 |
FLOAT *scale, |
| 622 |
IDWriteFontFace5 **fontface); |
| 623 |
} |
| 624 |
|
| 625 |
[ |
| 626 |
local, |
| 627 |
object, |
| 628 |
uuid(4556be70-3abd-4f70-90be-421780a6f515) |
| 629 |
] |
| 630 |
interface IDWriteGdiInterop1 : IDWriteGdiInterop |
| 631 |
{ |
| 632 |
HRESULT CreateFontFromLOGFONT(LOGFONTW const *logfont, |
| 633 |
IDWriteFontCollection *collection, |
| 634 |
IDWriteFont **font); |
| 635 |
|
| 636 |
/* GetFontSignature() methods are listed in reversed order to make |
| 637 |
resulting vtable order compatible. */ |
| 638 |
HRESULT GetFontSignature_(IDWriteFontFace *fontface, FONTSIGNATURE *fontsig); |
| 639 |
HRESULT GetFontSignature(IDWriteFont *font, FONTSIGNATURE *fontsig); |
| 640 |
HRESULT GetMatchingFontsByLOGFONT(LOGFONTW const *logfont, |
| 641 |
IDWriteFontSet *fontset, |
| 642 |
IDWriteFontSet **subset); |
| 643 |
} |
| 644 |
|
| 645 |
[ |
| 646 |
local, |
| 647 |
object, |
| 648 |
uuid(2f642afe-9c68-4f40-b8be-457401afcb3d) |
| 649 |
] |
| 650 |
interface IDWriteFontSetBuilder : IUnknown |
| 651 |
{ |
| 652 |
HRESULT AddFontFaceReference_(IDWriteFontFaceReference *ref, |
| 653 |
DWRITE_FONT_PROPERTY const *props, |
| 654 |
UINT32 prop_count); |
| 655 |
HRESULT AddFontFaceReference(IDWriteFontFaceReference *ref); |
| 656 |
HRESULT AddFontSet(IDWriteFontSet *fontset); |
| 657 |
HRESULT CreateFontSet(IDWriteFontSet **fontset); |
| 658 |
} |
| 659 |
|
| 660 |
[ |
| 661 |
local, |
| 662 |
object, |
| 663 |
uuid(3ff7715f-3cdc-4dc6-9b72-ec5621dccafd) |
| 664 |
] |
| 665 |
interface IDWriteFontSetBuilder1 : IDWriteFontSetBuilder |
| 666 |
{ |
| 667 |
HRESULT AddFontFile(IDWriteFontFile *file); |
| 668 |
} |
| 669 |
|
| 670 |
[ |
| 671 |
local, |
| 672 |
object, |
| 673 |
uuid(ee5ba612-b131-463c-8f4f-3189b9401e45) |
| 674 |
] |
| 675 |
interface IDWriteFontSetBuilder2 : IDWriteFontSetBuilder1 |
| 676 |
{ |
| 677 |
HRESULT AddFont( |
| 678 |
IDWriteFontFile *fontfile, |
| 679 |
UINT32 face_index, |
| 680 |
DWRITE_FONT_SIMULATIONS simulations, |
| 681 |
DWRITE_FONT_AXIS_VALUE const *axis_values, |
| 682 |
UINT32 num_values, |
| 683 |
DWRITE_FONT_AXIS_RANGE const *axis_ranges, |
| 684 |
UINT32 num_ranges, |
| 685 |
DWRITE_FONT_PROPERTY const *props, |
| 686 |
UINT32 num_properties); |
| 687 |
HRESULT AddFontFile(const WCHAR *filepath); |
| 688 |
} |
| 689 |
|
| 690 |
[ |
| 691 |
local, |
| 692 |
object, |
| 693 |
uuid(9a1b41c3-d3bb-466a-87fc-fe67556a3b65) |
| 694 |
] |
| 695 |
interface IDWriteFactory3 : IDWriteFactory2 |
| 696 |
{ |
| 697 |
HRESULT CreateGlyphRunAnalysis( |
| 698 |
DWRITE_GLYPH_RUN const *run, |
| 699 |
DWRITE_MATRIX const *transform, |
| 700 |
DWRITE_RENDERING_MODE1 rendering_mode, |
| 701 |
DWRITE_MEASURING_MODE measuring_mode, |
| 702 |
DWRITE_GRID_FIT_MODE gridfit_mode, |
| 703 |
DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, |
| 704 |
FLOAT origin_x, |
| 705 |
FLOAT origin_y, |
| 706 |
IDWriteGlyphRunAnalysis **analysis); |
| 707 |
|
| 708 |
HRESULT CreateCustomRenderingParams( |
| 709 |
FLOAT gamma, |
| 710 |
FLOAT enhanced_contrast, |
| 711 |
FLOAT grayscale_enhanced_contrast, |
| 712 |
FLOAT cleartype_level, |
| 713 |
DWRITE_PIXEL_GEOMETRY pixel_geometry, |
| 714 |
DWRITE_RENDERING_MODE1 rendering_mode, |
| 715 |
DWRITE_GRID_FIT_MODE gridfit_mode, |
| 716 |
IDWriteRenderingParams3 **params); |
| 717 |
|
| 718 |
/* CreateFontFaceReference methods are listed in reversed order to make |
| 719 |
resulting vtable order compatible. */ |
| 720 |
HRESULT CreateFontFaceReference_( |
| 721 |
IDWriteFontFile *file, |
| 722 |
UINT32 index, |
| 723 |
DWRITE_FONT_SIMULATIONS simulations, |
| 724 |
IDWriteFontFaceReference **reference); |
| 725 |
|
| 726 |
HRESULT CreateFontFaceReference( |
| 727 |
WCHAR const *path, |
| 728 |
FILETIME const *writetime, |
| 729 |
UINT32 index, |
| 730 |
DWRITE_FONT_SIMULATIONS simulations, |
| 731 |
IDWriteFontFaceReference **reference); |
| 732 |
|
| 733 |
HRESULT GetSystemFontSet(IDWriteFontSet **fontset); |
| 734 |
HRESULT CreateFontSetBuilder(IDWriteFontSetBuilder **builder); |
| 735 |
HRESULT CreateFontCollectionFromFontSet( |
| 736 |
IDWriteFontSet *fontset, |
| 737 |
IDWriteFontCollection1 **collection); |
| 738 |
|
| 739 |
HRESULT GetSystemFontCollection( |
| 740 |
BOOL include_downloadable, |
| 741 |
IDWriteFontCollection1 **collection, |
| 742 |
BOOL check_for_updates); |
| 743 |
|
| 744 |
HRESULT GetFontDownloadQueue(IDWriteFontDownloadQueue **queue); |
| 745 |
} |
| 746 |
|
| 747 |
typedef struct DWRITE_GLYPH_IMAGE_DATA |
| 748 |
{ |
| 749 |
void const *imageData; |
| 750 |
UINT32 imageDataSize; |
| 751 |
UINT32 uniqueDataId; |
| 752 |
UINT32 pixelsPerEm; |
| 753 |
D2D1_SIZE_U pixelSize; |
| 754 |
D2D1_POINT_2L horizontalLeftOrigin; |
| 755 |
D2D1_POINT_2L horizontalRightOrigin; |
| 756 |
D2D1_POINT_2L verticalTopOrigin; |
| 757 |
D2D1_POINT_2L verticalBottomOrigin; |
| 758 |
} DWRITE_GLYPH_IMAGE_DATA; |
| 759 |
|
| 760 |
[ |
| 761 |
local, |
| 762 |
object, |
| 763 |
uuid(27f2a904-4eb8-441d-9678-0563f53e3e2f) |
| 764 |
] |
| 765 |
interface IDWriteFontFace4 : IDWriteFontFace3 |
| 766 |
{ |
| 767 |
HRESULT GetGlyphImageFormats_( |
| 768 |
UINT16 glyph, |
| 769 |
UINT32 ppem_first, |
| 770 |
UINT32 ppem_last, |
| 771 |
DWRITE_GLYPH_IMAGE_FORMATS *formats); |
| 772 |
DWRITE_GLYPH_IMAGE_FORMATS GetGlyphImageFormats(); |
| 773 |
HRESULT GetGlyphImageData( |
| 774 |
UINT16 glyph, |
| 775 |
UINT32 ppem, |
| 776 |
DWRITE_GLYPH_IMAGE_FORMATS format, |
| 777 |
DWRITE_GLYPH_IMAGE_DATA *data, |
| 778 |
void **context); |
| 779 |
void ReleaseGlyphImageData(void *context); |
| 780 |
} |
| 781 |
|
| 782 |
[ |
| 783 |
local, |
| 784 |
object, |
| 785 |
uuid(98eff3a5-b667-479a-b145-e2fa5b9fdc29) |
| 786 |
] |
| 787 |
interface IDWriteFontFace5 : IDWriteFontFace4 |
| 788 |
{ |
| 789 |
UINT32 GetFontAxisValueCount(); |
| 790 |
HRESULT GetFontAxisValues( |
| 791 |
DWRITE_FONT_AXIS_VALUE *values, |
| 792 |
UINT32 value_count); |
| 793 |
BOOL HasVariations(); |
| 794 |
HRESULT GetFontResource(IDWriteFontResource **resource); |
| 795 |
BOOL Equals(IDWriteFontFace *fontface); |
| 796 |
} |
| 797 |
|
| 798 |
typedef struct DWRITE_COLOR_GLYPH_RUN1 |
| 799 |
{ |
| 800 |
DWRITE_GLYPH_RUN glyphRun; |
| 801 |
DWRITE_GLYPH_RUN_DESCRIPTION *glyphRunDescription; |
| 802 |
FLOAT baselineOriginX; |
| 803 |
FLOAT baselineOriginY; |
| 804 |
DWRITE_COLOR_F runColor; |
| 805 |
UINT16 paletteIndex; |
| 806 |
DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat; |
| 807 |
DWRITE_MEASURING_MODE measuringMode; |
| 808 |
} DWRITE_COLOR_GLYPH_RUN1; |
| 809 |
|
| 810 |
[ |
| 811 |
local, |
| 812 |
object, |
| 813 |
uuid(7c5f86da-c7a1-4f05-b8e1-55a179fe5a35) |
| 814 |
] |
| 815 |
interface IDWriteColorGlyphRunEnumerator1 : IDWriteColorGlyphRunEnumerator |
| 816 |
{ |
| 817 |
HRESULT GetCurrentRun( |
| 818 |
DWRITE_COLOR_GLYPH_RUN1 const **run); |
| 819 |
} |
| 820 |
|
| 821 |
[ |
| 822 |
local, |
| 823 |
object, |
| 824 |
uuid(4b0b5bd3-0797-4549-8ac5-fe915cc53856) |
| 825 |
] |
| 826 |
interface IDWriteFactory4 : IDWriteFactory3 |
| 827 |
{ |
| 828 |
HRESULT TranslateColorGlyphRun( |
| 829 |
D2D1_POINT_2F baseline_origin, |
| 830 |
DWRITE_GLYPH_RUN const *run, |
| 831 |
DWRITE_GLYPH_RUN_DESCRIPTION const *run_desc, |
| 832 |
DWRITE_GLYPH_IMAGE_FORMATS desired_formats, |
| 833 |
DWRITE_MEASURING_MODE measuring_mode, |
| 834 |
DWRITE_MATRIX const *transform, |
| 835 |
UINT32 palette, |
| 836 |
IDWriteColorGlyphRunEnumerator1 **layers); |
| 837 |
|
| 838 |
HRESULT ComputeGlyphOrigins_( |
| 839 |
DWRITE_GLYPH_RUN const *run, |
| 840 |
D2D1_POINT_2F baseline_origin, |
| 841 |
D2D1_POINT_2F *origins); |
| 842 |
|
| 843 |
HRESULT ComputeGlyphOrigins( |
| 844 |
DWRITE_GLYPH_RUN const *run, |
| 845 |
DWRITE_MEASURING_MODE measuring_mode, |
| 846 |
D2D1_POINT_2F baseline_origin, |
| 847 |
DWRITE_MATRIX const *transform, |
| 848 |
D2D1_POINT_2F *origins); |
| 849 |
} |
| 850 |
|
| 851 |
[ |
| 852 |
local, |
| 853 |
object, |
| 854 |
uuid(ce25f8fd-863b-4d13-9651-c1f88dc73fe2) |
| 855 |
] |
| 856 |
interface IDWriteAsyncResult : IUnknown |
| 857 |
{ |
| 858 |
HANDLE GetWaitHandle(); |
| 859 |
HRESULT GetResult(); |
| 860 |
} |
| 861 |
|
| 862 |
typedef struct DWRITE_FILE_FRAGMENT |
| 863 |
{ |
| 864 |
UINT64 fileOffset; |
| 865 |
UINT64 fragmentSize; |
| 866 |
} DWRITE_FILE_FRAGMENT; |
| 867 |
|
| 868 |
[ |
| 869 |
local, |
| 870 |
object, |
| 871 |
uuid(4db3757a-2c72-4ed9-b2b6-1ababe1aff9c) |
| 872 |
] |
| 873 |
interface IDWriteRemoteFontFileStream : IDWriteFontFileStream |
| 874 |
{ |
| 875 |
HRESULT GetLocalFileSize(UINT64 *size); |
| 876 |
HRESULT GetFileFragmentLocality(UINT64 offset, UINT64 size, BOOL *is_local, UINT64 *partial_size); |
| 877 |
DWRITE_LOCALITY GetLocality(); |
| 878 |
HRESULT BeginDownload( |
| 879 |
GUID const *operation_id, |
| 880 |
DWRITE_FILE_FRAGMENT const *fragments, |
| 881 |
UINT32 fragment_count, |
| 882 |
IDWriteAsyncResult **async_result); |
| 883 |
} |
| 884 |
|
| 885 |
typedef enum DWRITE_CONTAINER_TYPE |
| 886 |
{ |
| 887 |
DWRITE_CONTAINER_TYPE_UNKNOWN, |
| 888 |
DWRITE_CONTAINER_TYPE_WOFF, |
| 889 |
DWRITE_CONTAINER_TYPE_WOFF2, |
| 890 |
} DWRITE_CONTAINER_TYPE; |
| 891 |
|
| 892 |
[ |
| 893 |
local, |
| 894 |
object, |
| 895 |
uuid(68648c83-6ede-46c0-ab46-20083a887fde) |
| 896 |
] |
| 897 |
interface IDWriteRemoteFontFileLoader : IDWriteFontFileLoader |
| 898 |
{ |
| 899 |
HRESULT CreateRemoteStreamFromKey(void const *key, UINT32 key_size, IDWriteRemoteFontFileStream **stream); |
| 900 |
HRESULT GetLocalityFromKey(void const *key, UINT32 key_size, DWRITE_LOCALITY *locality); |
| 901 |
HRESULT CreateFontFileReferenceFromUrl( |
| 902 |
IDWriteFactory *factory, |
| 903 |
WCHAR const *base_url, |
| 904 |
WCHAR const *file_url, |
| 905 |
IDWriteFontFile **fontfile); |
| 906 |
} |
| 907 |
|
| 908 |
[ |
| 909 |
local, |
| 910 |
object, |
| 911 |
uuid(dc102f47-a12d-4b1c-822d-9e117e33043f) |
| 912 |
] |
| 913 |
interface IDWriteInMemoryFontFileLoader : IDWriteFontFileLoader |
| 914 |
{ |
| 915 |
HRESULT CreateInMemoryFontFileReference( |
| 916 |
IDWriteFactory *factory, |
| 917 |
void const *data, |
| 918 |
UINT32 data_size, |
| 919 |
IUnknown *owner, |
| 920 |
IDWriteFontFile **fontfile); |
| 921 |
UINT32 GetFileCount(); |
| 922 |
} |
| 923 |
|
| 924 |
[ |
| 925 |
local, |
| 926 |
object, |
| 927 |
uuid(958db99a-be2a-4f09-af7d-65189803d1d3) |
| 928 |
] |
| 929 |
interface IDWriteFactory5 : IDWriteFactory4 |
| 930 |
{ |
| 931 |
HRESULT CreateFontSetBuilder(IDWriteFontSetBuilder1 **fontset_builder); |
| 932 |
HRESULT CreateInMemoryFontFileLoader(IDWriteInMemoryFontFileLoader **loader); |
| 933 |
HRESULT CreateHttpFontFileLoader( |
| 934 |
WCHAR const *referrer_url, |
| 935 |
WCHAR const *extra_headers, |
| 936 |
IDWriteRemoteFontFileLoader **loader); |
| 937 |
DWRITE_CONTAINER_TYPE AnalyzeContainerType(void const *data, UINT32 data_size); |
| 938 |
HRESULT UnpackFontFile( |
| 939 |
DWRITE_CONTAINER_TYPE container_type, |
| 940 |
void const *data, |
| 941 |
UINT32 data_size, |
| 942 |
IDWriteFontFileStream **stream); |
| 943 |
} |
| 944 |
|
| 945 |
[ |
| 946 |
local, |
| 947 |
object, |
| 948 |
uuid(f3744d80-21f7-42eb-b35d-995bc72fc223) |
| 949 |
] |
| 950 |
interface IDWriteFactory6 : IDWriteFactory5 |
| 951 |
{ |
| 952 |
HRESULT CreateFontFaceReference( |
| 953 |
IDWriteFontFile *file, |
| 954 |
UINT32 face_index, |
| 955 |
DWRITE_FONT_SIMULATIONS simulations, |
| 956 |
DWRITE_FONT_AXIS_VALUE const *axis_values, |
| 957 |
UINT32 num_axis, |
| 958 |
IDWriteFontFaceReference1 **face_ref); |
| 959 |
HRESULT CreateFontResource( |
| 960 |
IDWriteFontFile *file, |
| 961 |
UINT32 face_index, |
| 962 |
IDWriteFontResource **resource); |
| 963 |
HRESULT GetSystemFontSet( |
| 964 |
BOOL include_downloadable, |
| 965 |
IDWriteFontSet1 **fontset); |
| 966 |
HRESULT GetSystemFontCollection( |
| 967 |
BOOL include_downloadable, |
| 968 |
DWRITE_FONT_FAMILY_MODEL family_model, |
| 969 |
IDWriteFontCollection2 **collection); |
| 970 |
HRESULT CreateFontCollectionFromFontSet( |
| 971 |
IDWriteFontSet *fontset, |
| 972 |
DWRITE_FONT_FAMILY_MODEL family_model, |
| 973 |
IDWriteFontCollection2 **collection); |
| 974 |
HRESULT CreateFontSetBuilder( |
| 975 |
IDWriteFontSetBuilder2 **builder); |
| 976 |
HRESULT CreateTextFormat( |
| 977 |
const WCHAR *familyname, |
| 978 |
IDWriteFontCollection *collection, |
| 979 |
DWRITE_FONT_AXIS_VALUE const *axis_values, |
| 980 |
UINT32 num_axis, |
| 981 |
FLOAT fontsize, |
| 982 |
const WCHAR *localename, |
| 983 |
IDWriteTextFormat3 **format); |
| 984 |
} |
| 985 |
|
| 986 |
[ |
| 987 |
local, |
| 988 |
object, |
| 989 |
uuid(35d0e0b3-9076-4d2e-a016-a91b568a06b4) |
| 990 |
] |
| 991 |
interface IDWriteFactory7 : IDWriteFactory6 |
| 992 |
{ |
| 993 |
HRESULT GetSystemFontSet( |
| 994 |
BOOL include_downloadable, |
| 995 |
IDWriteFontSet2 **fontset); |
| 996 |
HRESULT GetSystemFontCollection( |
| 997 |
BOOL include_downloadable, |
| 998 |
DWRITE_FONT_FAMILY_MODEL family_model, |
| 999 |
IDWriteFontCollection3 **collection); |
| 1000 |
} |