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
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)
......
......@@ -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;
};
......
......@@ -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;
......
......@@ -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 */
};
......
......@@ -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;
};
......
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