Commit f47751a9 authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

gdi32: Update font realization structure definition.

parent 76b4d09a
...@@ -737,17 +737,19 @@ static HRESULT WINAPI gdiinterop_ConvertFontFaceToLOGFONT(IDWriteGdiInterop1 *if ...@@ -737,17 +737,19 @@ static HRESULT WINAPI gdiinterop_ConvertFontFaceToLOGFONT(IDWriteGdiInterop1 *if
return S_OK; return S_OK;
} }
struct font_realization_info { struct font_realization_info
{
DWORD size; DWORD size;
DWORD flags; DWORD flags;
DWORD cache_num; DWORD cache_num;
DWORD instance_id; DWORD instance_id;
DWORD unk; DWORD file_count;
WORD face_index; WORD face_index;
WORD simulations; WORD simulations;
}; };
struct font_fileinfo { struct font_fileinfo
{
FILETIME writetime; FILETIME writetime;
LARGE_INTEGER size; LARGE_INTEGER size;
WCHAR path[1]; WCHAR path[1];
...@@ -755,8 +757,8 @@ struct font_fileinfo { ...@@ -755,8 +757,8 @@ struct font_fileinfo {
/* Undocumented gdi32 exports, used to access actually selected font information */ /* Undocumented gdi32 exports, used to access actually selected font information */
extern BOOL WINAPI GetFontRealizationInfo(HDC hdc, struct font_realization_info *info); 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 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 unknown, UINT64 offset, void *buff, DWORD buff_size); extern BOOL WINAPI GetFontFileData(DWORD instance_id, DWORD file_index, UINT64 offset, void *buff, DWORD buff_size);
static HRESULT WINAPI gdiinterop_CreateFontFaceFromHdc(IDWriteGdiInterop1 *iface, static HRESULT WINAPI gdiinterop_CreateFontFaceFromHdc(IDWriteGdiInterop1 *iface,
HDC hdc, IDWriteFontFace **fontface) HDC hdc, IDWriteFontFace **fontface)
......
...@@ -4276,7 +4276,7 @@ struct font_realization_info ...@@ -4276,7 +4276,7 @@ struct font_realization_info
DWORD flags; DWORD flags;
DWORD cache_num; DWORD cache_num;
DWORD instance_id; DWORD instance_id;
DWORD unk; DWORD file_count;
WORD face_index; WORD face_index;
WORD simulations; WORD simulations;
}; };
......
...@@ -3177,7 +3177,7 @@ static BOOL CDECL font_GetFontRealizationInfo( PHYSDEV dev, void *ptr ) ...@@ -3177,7 +3177,7 @@ static BOOL CDECL font_GetFontRealizationInfo( PHYSDEV dev, void *ptr )
info->instance_id = physdev->font->handle; info->instance_id = physdev->font->handle;
if (info->size == sizeof(*info)) if (info->size == sizeof(*info))
{ {
info->unk = 0; info->file_count = 1;
info->face_index = physdev->font->face_index; info->face_index = physdev->font->face_index;
info->simulations = 0; info->simulations = 0;
if (physdev->font->fake_bold) info->simulations |= 0x1; if (physdev->font->fake_bold) info->simulations |= 0x1;
...@@ -8304,7 +8304,7 @@ BOOL WINAPI FontIsLinked(HDC hdc) ...@@ -8304,7 +8304,7 @@ BOOL WINAPI FontIsLinked(HDC hdc)
*/ */
BOOL WINAPI GetFontRealizationInfo(HDC hdc, struct font_realization_info *info) 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; PHYSDEV dev;
BOOL ret; BOOL ret;
DC *dc; DC *dc;
...@@ -8334,7 +8334,7 @@ BOOL WINAPI GetRasterizerCaps( LPRASTERIZER_STATUS lprs, UINT cbNumBytes) ...@@ -8334,7 +8334,7 @@ BOOL WINAPI GetRasterizerCaps( LPRASTERIZER_STATUS lprs, UINT cbNumBytes)
/************************************************************************* /*************************************************************************
* GetFontFileData (GDI32.@) * 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; struct gdi_font *font;
DWORD tag = 0, size; DWORD tag = 0, size;
...@@ -8366,7 +8366,7 @@ struct font_fileinfo ...@@ -8366,7 +8366,7 @@ struct font_fileinfo
/************************************************************************* /*************************************************************************
* GetFontFileInfo (GDI32.@) * 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 size, SIZE_T *needed )
{ {
SIZE_T required_size = 0; SIZE_T required_size = 0;
......
...@@ -289,7 +289,7 @@ struct font_realization_info ...@@ -289,7 +289,7 @@ struct font_realization_info
DWORD flags; /* 1 for bitmap fonts, 3 for scalable fonts */ 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 cache_num; /* keeps incrementing - num of fonts that have been created allowing for caching?? */
DWORD instance_id; /* identifies a realized font instance */ 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 face_index; /* face index in case of font collections */
WORD simulations; /* 0 bit - bold simulation, 1 bit - oblique simulation */ WORD simulations; /* 0 bit - bold simulation, 1 bit - oblique simulation */
}; };
......
...@@ -4334,7 +4334,7 @@ struct font_realization_info ...@@ -4334,7 +4334,7 @@ struct font_realization_info
DWORD flags; DWORD flags;
DWORD cache_num; DWORD cache_num;
DWORD instance_id; DWORD instance_id;
DWORD unk; DWORD file_count;
WORD face_index; WORD face_index;
WORD simulations; WORD simulations;
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment