diff options
Diffstat (limited to 'libass/dwrite_c.h')
-rw-r--r-- | libass/dwrite_c.h | 373 |
1 files changed, 370 insertions, 3 deletions
diff --git a/libass/dwrite_c.h b/libass/dwrite_c.h index d20139b..686a471 100644 --- a/libass/dwrite_c.h +++ b/libass/dwrite_c.h @@ -15,20 +15,25 @@ #include <unknwn.h> typedef struct IDWriteFactory IDWriteFactory; +typedef struct IDWriteFactory3 IDWriteFactory3; typedef struct IDWriteFont IDWriteFont; typedef struct IDWriteFontCollection IDWriteFontCollection; typedef struct IDWriteFontFace IDWriteFontFace; +typedef struct IDWriteFontFace3 IDWriteFontFace3; +typedef struct IDWriteFontFaceReference IDWriteFontFaceReference; typedef struct IDWriteFontFamily IDWriteFontFamily; typedef struct IDWriteFontList IDWriteFontList; typedef struct IDWriteFontFile IDWriteFontFile; typedef struct IDWriteFontFileLoader IDWriteFontFileLoader; typedef struct IDWriteFontFileStream IDWriteFontFileStream; +typedef struct IDWriteFontSet IDWriteFontSet; typedef struct IDWriteInlineObject IDWriteInlineObject; typedef struct IDWriteLocalizedStrings IDWriteLocalizedStrings; typedef struct IDWritePixelSnapping IDWritePixelSnapping; typedef struct IDWriteTextFormat IDWriteTextFormat; typedef struct IDWriteTextLayout IDWriteTextLayout; typedef struct IDWriteTextRenderer IDWriteTextRenderer; +typedef struct IDWriteGdiInterop IDWriteGdiInterop; #include <dcommon.h> @@ -70,6 +75,24 @@ typedef enum DWRITE_FONT_FACE_TYPE { DWRITE_FONT_FACE_TYPE_RAW_CFF } DWRITE_FONT_FACE_TYPE; +typedef enum DWRITE_FONT_PROPERTY_ID { + DWRITE_FONT_PROPERTY_ID_NONE = 0, + DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FAMILY_NAME, + DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FAMILY_NAME, + DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FACE_NAME, + DWRITE_FONT_PROPERTY_ID_FULL_NAME, + DWRITE_FONT_PROPERTY_ID_WIN32_FAMILY_NAME, + DWRITE_FONT_PROPERTY_ID_POSTSCRIPT_NAME, + DWRITE_FONT_PROPERTY_ID_DESIGN_SCRIPT_LANGUAGE_TAG, + DWRITE_FONT_PROPERTY_ID_SUPPORTED_SCRIPT_LANGUAGE_TAG, + DWRITE_FONT_PROPERTY_ID_SEMANTIC_TAG, + DWRITE_FONT_PROPERTY_ID_WEIGHT, + DWRITE_FONT_PROPERTY_ID_STRETCH, + DWRITE_FONT_PROPERTY_ID_STYLE, + DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FACE_NAME, + /* rest dropped */ +} DWRITE_FONT_PROPERTY_ID; + typedef enum DWRITE_FONT_SIMULATIONS { DWRITE_FONT_SIMULATIONS_NONE = 0x0000, DWRITE_FONT_SIMULATIONS_BOLD = 0x0001, @@ -101,6 +124,12 @@ typedef enum DWRITE_FONT_WEIGHT { /* rest dropped */ } DWRITE_FONT_WEIGHT; +typedef enum DWRITE_LOCALITY { + DWRITE_LOCALITY_REMOTE = 0, + DWRITE_LOCALITY_PARTIAL, + DWRITE_LOCALITY_LOCAL +} DWRITE_LOCALITY; + typedef struct DWRITE_FONT_METRICS { UINT16 designUnitsPerEm; UINT16 ascent; @@ -114,6 +143,12 @@ typedef struct DWRITE_FONT_METRICS { UINT16 strikethroughThickness; } DWRITE_FONT_METRICS; +typedef struct DWRITE_FONT_PROPERTY { + DWRITE_FONT_PROPERTY_ID propertyId; + const WCHAR *propertyValue; + const WCHAR *localeName; +} DWRITE_FONT_PROPERTY; + typedef struct DWRITE_GLYPH_OFFSET DWRITE_GLYPH_OFFSET; typedef struct DWRITE_GLYPH_RUN { @@ -191,7 +226,9 @@ DECLARE_INTERFACE_(IDWriteFactory,IUnknown) IDWriteTextFormat **textFormat) PURE; STDMETHOD(dummy12)(THIS); - STDMETHOD(dummy13)(THIS); + + STDMETHOD(GetGdiInterop)(THIS_ + IDWriteGdiInterop **gdiInterop) PURE; STDMETHOD(CreateTextLayout)(THIS_ WCHAR const *string, @@ -211,6 +248,100 @@ DECLARE_INTERFACE_(IDWriteFactory,IUnknown) #define IDWriteFactory_GetSystemFontCollection(This,fontCollection,checkForUpdates) (This)->lpVtbl->GetSystemFontCollection(This,fontCollection,checkForUpdates) #define IDWriteFactory_CreateTextFormat(This,fontFamilyName,fontCollection,fontWeight,fontStyle,fontStretch,fontSize,localeName,textFormat) (This)->lpVtbl->CreateTextFormat(This,fontFamilyName,fontCollection,fontWeight,fontStyle,fontStretch,fontSize,localeName,textFormat) #define IDWriteFactory_CreateTextLayout(This,string,stringLength,textFormat,maxWidth,maxHeight,textLayout) (This)->lpVtbl->CreateTextLayout(This,string,stringLength,textFormat,maxWidth,maxHeight,textLayout) +#define IDWriteFactory_GetGdiInterop(This,gdiInterop) (This)->lpVtbl->GetGdiInterop(This,gdiInterop) +#endif /*COBJMACROS*/ + +#undef INTERFACE +#define INTERFACE IDWriteFactory3 +DECLARE_INTERFACE_(IDWriteFactory3,IDWriteFactory) +{ + BEGIN_INTERFACE + +#ifndef __cplusplus + /* IUnknown methods */ + STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; + STDMETHOD_(ULONG, AddRef)(THIS) PURE; + STDMETHOD_(ULONG, Release)(THIS) PURE; + + /* IDWriteFactory methods */ + STDMETHOD(GetSystemFontCollection)(THIS_ + IDWriteFontCollection **fontCollection, + BOOL checkForUpdates __MINGW_DEF_ARG_VAL(FALSE)) PURE; + + STDMETHOD(dummy1)(THIS); + STDMETHOD(dummy2)(THIS); + STDMETHOD(dummy3)(THIS); + STDMETHOD(dummy4)(THIS); + STDMETHOD(dummy5)(THIS); + STDMETHOD(dummy6)(THIS); + STDMETHOD(dummy7)(THIS); + STDMETHOD(dummy8)(THIS); + STDMETHOD(dummy9)(THIS); + STDMETHOD(dummy10)(THIS); + STDMETHOD(dummy11)(THIS); + + STDMETHOD(CreateTextFormat)(THIS_ + WCHAR const *fontFamilyName, + IDWriteFontCollection *fontCollection, + DWRITE_FONT_WEIGHT fontWeight, + DWRITE_FONT_STYLE fontStyle, + DWRITE_FONT_STRETCH fontStretch, + FLOAT fontSize, + WCHAR const *localeName, + IDWriteTextFormat **textFormat) PURE; + + STDMETHOD(dummy12)(THIS); + + STDMETHOD(GetGdiInterop)(THIS_ + IDWriteGdiInterop **gdiInterop) PURE; + + STDMETHOD(CreateTextLayout)(THIS_ + WCHAR const *string, + UINT32 stringLength, + IDWriteTextFormat *textFormat, + FLOAT maxWidth, + FLOAT maxHeight, + IDWriteTextLayout **textLayout) PURE; +#endif + + STDMETHOD(dummy13)(THIS); + STDMETHOD(dummy14)(THIS); + STDMETHOD(dummy15)(THIS); + STDMETHOD(dummy16)(THIS); + STDMETHOD(dummy17)(THIS); + + /* IDWriteFactory1 methods */ + STDMETHOD(dummy18)(THIS); + STDMETHOD(dummy19)(THIS); + + /* IDWriteFactory2 methods */ + STDMETHOD(dummy20)(THIS); + STDMETHOD(dummy21)(THIS); + STDMETHOD(dummy22)(THIS); + STDMETHOD(dummy23)(THIS); + STDMETHOD(dummy24)(THIS); + + /* IDWriteFactory3 methods */ + STDMETHOD(dummy25)(THIS); + STDMETHOD(dummy26)(THIS); + STDMETHOD(dummy27)(THIS); + STDMETHOD(dummy28)(THIS); + + STDMETHOD(GetSystemFontSet)(THIS_ + IDWriteFontSet **fontSet) PURE; + + /* rest dropped */ + END_INTERFACE +}; +#ifdef COBJMACROS +#define IDWriteFactory3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDWriteFactory3_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDWriteFactory3_Release(This) (This)->lpVtbl->Release(This) +#define IDWriteFactory3_GetSystemFontCollection(This,fontCollection,checkForUpdates) (This)->lpVtbl->GetSystemFontCollection(This,fontCollection,checkForUpdates) +#define IDWriteFactory3_CreateTextFormat(This,fontFamilyName,fontCollection,fontWeight,fontStyle,fontStretch,fontSize,localeName,textFormat) (This)->lpVtbl->CreateTextFormat(This,fontFamilyName,fontCollection,fontWeight,fontStyle,fontStretch,fontSize,localeName,textFormat) +#define IDWriteFactory3_CreateTextLayout(This,string,stringLength,textFormat,maxWidth,maxHeight,textLayout) (This)->lpVtbl->CreateTextLayout(This,string,stringLength,textFormat,maxWidth,maxHeight,textLayout) +#define IDWriteFactory3_GetGdiInterop(This,gdiInterop) (This)->lpVtbl->GetGdiInterop(This,gdiInterop) +#define IDWriteFactory3_GetSystemFontSet(This,fontSet) (This)->lpVtbl->GetSystemFontSet(This,fontSet) #endif /*COBJMACROS*/ #undef INTERFACE @@ -337,14 +468,166 @@ DECLARE_INTERFACE_(IDWriteFontFace,IUnknown) STDMETHOD_(UINT32, GetIndex)(THIS) PURE; + STDMETHOD(dummy1)(THIS); + STDMETHOD(dummy2)(THIS); + STDMETHOD(dummy3)(THIS); + STDMETHOD(dummy4)(THIS); + STDMETHOD(dummy5)(THIS); + + STDMETHOD(GetGlyphIndices)(THIS_ + UINT32 const *codePoints, + UINT32 codePointCount, + UINT16 *glyphIndices) PURE; + /* rest dropped */ END_INTERFACE }; #ifdef COBJMACROS +#define IDWriteFontFace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDWriteFontFace_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDWriteFontFace_Release(This) (This)->lpVtbl->Release(This) #define IDWriteFontFace_GetType(This) (This)->lpVtbl->GetType(This) -#define IDWriteFontFace_GetFiles(This,fontFiles,b) (This)->lpVtbl->GetFiles(This,fontFiles,b) +#define IDWriteFontFace_GetFiles(This,numberOfFiles,fontFiles) (This)->lpVtbl->GetFiles(This,numberOfFiles,fontFiles) #define IDWriteFontFace_GetIndex(This) (This)->lpVtbl->GetIndex(This) +#define IDWriteFontFace_GetGlyphIndices(This,codePoints,codePointCount,glyphIndices) (This)->lpVtbl->GetGlyphIndices(This,codePoints,codePointCount,glyphIndices) +#endif /*COBJMACROS*/ + +#undef INTERFACE +#define INTERFACE IDWriteFontFace3 +DECLARE_INTERFACE_(IDWriteFontFace3,IDWriteFontFace) +{ + BEGIN_INTERFACE + +#ifndef __cplusplus + /* IUnknown methods */ + STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; + STDMETHOD_(ULONG, AddRef)(THIS) PURE; + STDMETHOD_(ULONG, Release)(THIS) PURE; + + /* IDWriteFontFace methods */ + STDMETHOD_(DWRITE_FONT_FACE_TYPE, GetType)(THIS) PURE; + + STDMETHOD(GetFiles)(THIS_ + UINT32 *numberOfFiles, + IDWriteFontFile **fontFiles) PURE; + + STDMETHOD_(UINT32, GetIndex)(THIS) PURE; + + STDMETHOD(dummy1)(THIS); + STDMETHOD(dummy2)(THIS); + STDMETHOD(dummy3)(THIS); + STDMETHOD(dummy4)(THIS); + STDMETHOD(dummy5)(THIS); + + STDMETHOD(GetGlyphIndices)(THIS_ + UINT32 const *codePoints, + UINT32 codePointCount, + UINT16 *glyphIndices) PURE; + + STDMETHOD(dummy6)(THIS); + STDMETHOD(dummy7)(THIS); + STDMETHOD(dummy8)(THIS); + STDMETHOD(dummy9)(THIS); + STDMETHOD(dummy10)(THIS); + STDMETHOD(dummy11)(THIS); +#endif + + /* IDWriteFontFace1 methods */ + STDMETHOD(dummy12)(THIS); + STDMETHOD(dummy13)(THIS); + STDMETHOD(dummy14)(THIS); + STDMETHOD(dummy15)(THIS); + STDMETHOD(dummy16)(THIS); + STDMETHOD(dummy17)(THIS); + STDMETHOD(dummy18)(THIS); + STDMETHOD(dummy19)(THIS); + STDMETHOD(dummy20)(THIS); + STDMETHOD(dummy21)(THIS); + STDMETHOD(dummy22)(THIS); + STDMETHOD(dummy23)(THIS); + + /* IDWriteFontFace2 methods */ + STDMETHOD(dummy24)(THIS); + STDMETHOD(dummy25)(THIS); + STDMETHOD(dummy26)(THIS); + STDMETHOD(dummy27)(THIS); + STDMETHOD(dummy28)(THIS); + + /* IDWriteFontFace3 methods */ + STDMETHOD(dummy29)(THIS); + STDMETHOD(dummy30)(THIS); + + STDMETHOD_(DWRITE_FONT_WEIGHT, GetWeight)(THIS) PURE; + STDMETHOD_(DWRITE_FONT_STRETCH, GetStretch)(THIS) PURE; + STDMETHOD_(DWRITE_FONT_STYLE, GetStyle)(THIS) PURE; + + STDMETHOD(GetFamilyNames)(THIS_ + IDWriteLocalizedStrings **names) PURE; + + STDMETHOD(dummy31)(THIS); + + STDMETHOD(GetInformationalStrings)(THIS_ + DWRITE_INFORMATIONAL_STRING_ID informationalStringID, + IDWriteLocalizedStrings **informationalStrings, + BOOL *exists) PURE; + + /* rest dropped */ + END_INTERFACE +}; +#ifdef COBJMACROS +#define IDWriteFontFace3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDWriteFontFace3_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDWriteFontFace3_Release(This) (This)->lpVtbl->Release(This) +#define IDWriteFontFace3_GetType(This) (This)->lpVtbl->GetType(This) +#define IDWriteFontFace3_GetFiles(This,numberOfFiles,fontFiles) (This)->lpVtbl->GetFiles(This,numberOfFiles,fontFiles) +#define IDWriteFontFace3_GetIndex(This) (This)->lpVtbl->GetIndex(This) +#define IDWriteFontFace3_GetGlyphIndices(This,codePoints,codePointCount,glyphIndices) (This)->lpVtbl->GetGlyphIndices(This,codePoints,codePointCount,glyphIndices) +#define IDWriteFontFace3_GetWeight(This) (This)->lpVtbl->GetWeight(This) +#define IDWriteFontFace3_GetStretch(This) (This)->lpVtbl->GetStretch(This) +#define IDWriteFontFace3_GetStyle(This) (This)->lpVtbl->GetStyle(This) +#define IDWriteFontFace3_GetFamilyNames(This,names) (This)->lpVtbl->GetFamilyNames(This,names) +#define IDWriteFontFace3_GetInformationalStrings(This,informationalStringID,informationalStrings,exists) (This)->lpVtbl->GetInformationalStrings(This,informationalStringID,informationalStrings,exists) +#endif /*COBJMACROS*/ + +#undef INTERFACE +#define INTERFACE IDWriteFontFaceReference +DECLARE_INTERFACE_(IDWriteFontFaceReference,IUnknown) +{ + BEGIN_INTERFACE + +#ifndef __cplusplus + /* IUnknown methods */ + STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; + STDMETHOD_(ULONG, AddRef)(THIS) PURE; + STDMETHOD_(ULONG, Release)(THIS) PURE; +#endif + + STDMETHOD(CreateFontFace)(THIS_ + IDWriteFontFace3 **fontFace) PURE; + + STDMETHOD(dummy1)(THIS); + STDMETHOD(dummy2)(THIS); + STDMETHOD(dummy3)(THIS); + + STDMETHOD_(DWRITE_FONT_SIMULATIONS, GetSimulations)(THIS) PURE; + + STDMETHOD(dummy4)(THIS); + STDMETHOD(dummy5)(THIS); + STDMETHOD(dummy6)(THIS); + STDMETHOD(dummy7)(THIS); + + STDMETHOD_(DWRITE_LOCALITY, GetLocality)(THIS) PURE; + + /* rest dropped */ + END_INTERFACE +}; +#ifdef COBJMACROS +#define IDWriteFontFaceReference_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDWriteFontFaceReference_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDWriteFontFaceReference_Release(This) (This)->lpVtbl->Release(This) +#define IDWriteFontFaceReference_CreateFontFace(This,fontFace) (This)->lpVtbl->CreateFontFace(This,fontFace) +#define IDWriteFontFaceReference_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) +#define IDWriteFontFaceReference_GetLocality(This) (This)->lpVtbl->GetLocality(This) #endif /*COBJMACROS*/ #undef INTERFACE @@ -485,6 +768,51 @@ DECLARE_INTERFACE_(IDWriteFontFileStream,IUnknown) #endif /*COBJMACROS*/ #undef INTERFACE +#define INTERFACE IDWriteFontSet +DECLARE_INTERFACE_(IDWriteFontSet,IUnknown) +{ + BEGIN_INTERFACE + +#ifndef __cplusplus + /* IUnknown methods */ + STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; + STDMETHOD_(ULONG, AddRef)(THIS) PURE; + STDMETHOD_(ULONG, Release)(THIS) PURE; +#endif + + /* IDWriteFontSet methods */ + STDMETHOD_(UINT32, GetFontCount)(THIS) PURE; + + STDMETHOD(GetFontFaceReference)(THIS_ + UINT32 listIndex, + IDWriteFontFaceReference **fontFaceReference) PURE; + + STDMETHOD(dummy1)(THIS); + STDMETHOD(dummy2)(THIS); + STDMETHOD(dummy3)(THIS); + STDMETHOD(dummy4)(THIS); + STDMETHOD(dummy5)(THIS); + STDMETHOD(dummy6)(THIS); + STDMETHOD(dummy7)(THIS); + + STDMETHOD(GetMatchingFonts)(THIS_ + DWRITE_FONT_PROPERTY const *properties, + UINT32 propertyCount, + IDWriteFontSet **filteredSet) PURE; + + /* rest dropped */ + END_INTERFACE +}; +#ifdef COBJMACROS +#define IDWriteFontSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDWriteFontSet_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDWriteFontSet_Release(This) (This)->lpVtbl->Release(This) +#define IDWriteFontSet_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) +#define IDWriteFontSet_GetFontFaceReference(This,listIndex,fontFaceReference) (This)->lpVtbl->GetFontFaceReference(This,listIndex,fontFaceReference) +#define IDWriteFontSet_GetMatchingFonts(This,properties,propertyCount,filteredSet) (This)->lpVtbl->GetMatchingFonts(This,properties,propertyCount,filteredSet) +#endif /*COBJMACROS*/ + +#undef INTERFACE #define INTERFACE IDWriteLocalizedStrings DECLARE_INTERFACE_(IDWriteLocalizedStrings,IUnknown) { @@ -503,8 +831,10 @@ DECLARE_INTERFACE_(IDWriteLocalizedStrings,IUnknown) STDMETHOD(dummy1)(THIS); STDMETHOD(dummy2)(THIS); STDMETHOD(dummy3)(THIS); - STDMETHOD(dummy4)(THIS); + STDMETHOD(GetStringLength)(THIS_ + UINT32 index, + UINT32 *length) PURE; STDMETHOD(GetString)(THIS_ UINT32 index, WCHAR *stringBuffer, @@ -515,6 +845,7 @@ DECLARE_INTERFACE_(IDWriteLocalizedStrings,IUnknown) #ifdef COBJMACROS #define IDWriteLocalizedStrings_Release(This) (This)->lpVtbl->Release(This) #define IDWriteLocalizedStrings_GetCount(This) (This)->lpVtbl->GetCount(This) +#define IDWriteLocalizedStrings_GetStringLength(This,index,length) (This)->lpVtbl->GetStringLength(This,index,length) #define IDWriteLocalizedStrings_GetString(This,index,stringBuffer,size) (This)->lpVtbl->GetString(This,index,stringBuffer,size) #endif /*COBJMACROS*/ @@ -680,7 +1011,43 @@ DECLARE_INTERFACE_(IDWriteTextRenderer,IDWritePixelSnapping) END_INTERFACE }; +#undef INTERFACE +#define INTERFACE IDWriteGdiInterop +DECLARE_INTERFACE_(IDWriteGdiInterop,IUnknown) +{ + BEGIN_INTERFACE + +#ifndef __cplusplus + /* IUnknown methods */ + STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; + STDMETHOD_(ULONG, AddRef)(THIS) PURE; + STDMETHOD_(ULONG, Release)(THIS) PURE; +#endif + + STDMETHOD(CreateFontFromLOGFONT)(THIS_ + LOGFONTW const *logFont, + IDWriteFont **font) PURE; + + STDMETHOD(dummy1)(THIS); + STDMETHOD(dummy2)(THIS); + + STDMETHOD(CreateFontFaceFromHdc)(THIS_ + HDC hdc, + IDWriteFontFace **fontFace) PURE; + /* rest dropped */ + END_INTERFACE +}; +#ifdef COBJMACROS +#define IDWriteGdiInterop_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDWriteGdiInterop_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDWriteGdiInterop_Release(This) (This)->lpVtbl->Release(This) +#define IDWriteGdiInterop_CreateFontFromLOGFONT(This,logFont,font) (This)->lpVtbl->CreateFontFromLOGFONT(This,logFont,font) +#define IDWriteGdiInterop_CreateFontFaceFromHdc(This,hdc,fontFace) (This)->lpVtbl->CreateFontFaceFromHdc(This,hdc,fontFace) +#endif /*COBJMACROS*/ + DEFINE_GUID(IID_IDWriteFactory, 0xb859ee5a,0xd838,0x4b5b,0xa2,0xe8,0x1a,0xdc,0x7d,0x93,0xdb,0x48); +DEFINE_GUID(IID_IDWriteFactory3, 0x9a1b41c3,0xd3bb,0x466a,0x87,0xfc,0xfe,0x67,0x55,0x6a,0x3b,0x65); +DEFINE_GUID(IID_IDWriteFontFace3, 0xd37d7598,0x09be,0x4222,0xa2,0x36,0x20,0x81,0x34,0x1c,0xc1,0xf2); DEFINE_GUID(IID_IDWritePixelSnapping, 0xeaf3a2da,0xecf4,0x4d24,0xb6,0x44,0xb3,0x4f,0x68,0x42,0x02,0x4b); DEFINE_GUID(IID_IDWriteTextRenderer, 0xef8a8135,0x5cc6,0x45fe,0x88,0x25,0xc5,0xa0,0x72,0x4e,0xb8,0x19); |