Nikolay Sivov : gdi32: Update font realization structure definition.
Alexandre Julliard
julliard at winehq.org
Tue Aug 3 16:52:22 CDT 2021
Module: wine
Branch: master
Commit: f47751a992967af7bb35534fa424baaea867750c
URL: https://source.winehq.org/git/wine.git/?a=commit;h=f47751a992967af7bb35534fa424baaea867750c
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Mon Aug 2 20:46:35 2021 +0300
gdi32: Update font realization structure definition.
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/dwrite/gdiinterop.c | 12 +++++++-----
dlls/dwrite/tests/font.c | 2 +-
dlls/gdi32/font.c | 8 ++++----
dlls/gdi32/ntgdi_private.h | 2 +-
dlls/gdi32/tests/font.c | 2 +-
5 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/dlls/dwrite/gdiinterop.c b/dlls/dwrite/gdiinterop.c
index 6a5953a67e9..8df3f9f97ca 100644
--- a/dlls/dwrite/gdiinterop.c
+++ b/dlls/dwrite/gdiinterop.c
@@ -737,17 +737,19 @@ static HRESULT WINAPI gdiinterop_ConvertFontFaceToLOGFONT(IDWriteGdiInterop1 *if
return S_OK;
}
-struct font_realization_info {
+struct font_realization_info
+{
DWORD size;
DWORD flags;
DWORD cache_num;
DWORD instance_id;
- DWORD unk;
+ DWORD file_count;
WORD face_index;
WORD simulations;
};
-struct font_fileinfo {
+struct font_fileinfo
+{
FILETIME writetime;
LARGE_INTEGER size;
WCHAR path[1];
@@ -755,8 +757,8 @@ struct font_fileinfo {
/* Undocumented gdi32 exports, used to access actually selected font information */
extern BOOL WINAPI GetFontRealizationInfo(HDC hdc, struct font_realization_info *info);
-extern BOOL WINAPI GetFontFileInfo(DWORD instance_id, DWORD unknown, struct font_fileinfo *info, SIZE_T size, SIZE_T *needed);
-extern BOOL WINAPI GetFontFileData(DWORD instance_id, DWORD unknown, UINT64 offset, void *buff, DWORD buff_size);
+extern BOOL WINAPI GetFontFileInfo(DWORD instance_id, DWORD file_index, struct font_fileinfo *info, SIZE_T size, SIZE_T *needed);
+extern BOOL WINAPI GetFontFileData(DWORD instance_id, DWORD file_index, UINT64 offset, void *buff, DWORD buff_size);
static HRESULT WINAPI gdiinterop_CreateFontFaceFromHdc(IDWriteGdiInterop1 *iface,
HDC hdc, IDWriteFontFace **fontface)
diff --git a/dlls/dwrite/tests/font.c b/dlls/dwrite/tests/font.c
index 9f814504a44..be367463414 100644
--- a/dlls/dwrite/tests/font.c
+++ b/dlls/dwrite/tests/font.c
@@ -4276,7 +4276,7 @@ struct font_realization_info
DWORD flags;
DWORD cache_num;
DWORD instance_id;
- DWORD unk;
+ DWORD file_count;
WORD face_index;
WORD simulations;
};
diff --git a/dlls/gdi32/font.c b/dlls/gdi32/font.c
index 16d3bdf26ba..442c76fb026 100644
--- a/dlls/gdi32/font.c
+++ b/dlls/gdi32/font.c
@@ -3177,7 +3177,7 @@ static BOOL CDECL font_GetFontRealizationInfo( PHYSDEV dev, void *ptr )
info->instance_id = physdev->font->handle;
if (info->size == sizeof(*info))
{
- info->unk = 0;
+ info->file_count = 1;
info->face_index = physdev->font->face_index;
info->simulations = 0;
if (physdev->font->fake_bold) info->simulations |= 0x1;
@@ -8304,7 +8304,7 @@ BOOL WINAPI FontIsLinked(HDC hdc)
*/
BOOL WINAPI GetFontRealizationInfo(HDC hdc, struct font_realization_info *info)
{
- BOOL is_v0 = info->size == FIELD_OFFSET(struct font_realization_info, unk);
+ BOOL is_v0 = info->size == FIELD_OFFSET(struct font_realization_info, file_count);
PHYSDEV dev;
BOOL ret;
DC *dc;
@@ -8334,7 +8334,7 @@ BOOL WINAPI GetRasterizerCaps( LPRASTERIZER_STATUS lprs, UINT cbNumBytes)
/*************************************************************************
* GetFontFileData (GDI32.@)
*/
-BOOL WINAPI GetFontFileData( DWORD instance_id, DWORD unknown, UINT64 offset, void *buff, DWORD buff_size )
+BOOL WINAPI GetFontFileData( DWORD instance_id, DWORD file_index, UINT64 offset, void *buff, DWORD buff_size )
{
struct gdi_font *font;
DWORD tag = 0, size;
@@ -8366,7 +8366,7 @@ struct font_fileinfo
/*************************************************************************
* GetFontFileInfo (GDI32.@)
*/
-BOOL WINAPI GetFontFileInfo( DWORD instance_id, DWORD unknown, struct font_fileinfo *info,
+BOOL WINAPI GetFontFileInfo( DWORD instance_id, DWORD file_index, struct font_fileinfo *info,
SIZE_T size, SIZE_T *needed )
{
SIZE_T required_size = 0;
diff --git a/dlls/gdi32/ntgdi_private.h b/dlls/gdi32/ntgdi_private.h
index 4817e428a46..ebcaef89f1c 100644
--- a/dlls/gdi32/ntgdi_private.h
+++ b/dlls/gdi32/ntgdi_private.h
@@ -289,7 +289,7 @@ struct font_realization_info
DWORD flags; /* 1 for bitmap fonts, 3 for scalable fonts */
DWORD cache_num; /* keeps incrementing - num of fonts that have been created allowing for caching?? */
DWORD instance_id; /* identifies a realized font instance */
- DWORD unk; /* unknown */
+ DWORD file_count; /* number of files that make up this font */
WORD face_index; /* face index in case of font collections */
WORD simulations; /* 0 bit - bold simulation, 1 bit - oblique simulation */
};
diff --git a/dlls/gdi32/tests/font.c b/dlls/gdi32/tests/font.c
index 7aee0a86d23..ef1dc26595d 100644
--- a/dlls/gdi32/tests/font.c
+++ b/dlls/gdi32/tests/font.c
@@ -4334,7 +4334,7 @@ struct font_realization_info
DWORD flags;
DWORD cache_num;
DWORD instance_id;
- DWORD unk;
+ DWORD file_count;
WORD face_index;
WORD simulations;
};
More information about the wine-cvs
mailing list