[1166] | 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 | }
|
---|