dwrite: Make CreateFontFace() fail with DWRITE_E_FILEFORMAT for supported types in case of type mismatch.
This commit is contained in:
parent
0aca2d7dc9
commit
fe848b26c7
|
@ -818,9 +818,12 @@ static HRESULT WINAPI dwritefactory_CreateFontFace(IDWriteFactory2 *iface,
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
return hr;
|
return hr;
|
||||||
|
|
||||||
if (!is_supported || (face_type != req_facetype))
|
if (!is_supported)
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
|
|
||||||
|
if (face_type != req_facetype)
|
||||||
|
return DWRITE_E_FILEFORMAT;
|
||||||
|
|
||||||
hr = IDWriteFontFile_GetReferenceKey(*font_files, &key, &key_size);
|
hr = IDWriteFontFile_GetReferenceKey(*font_files, &key, &key_size);
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
return hr;
|
return hr;
|
||||||
|
|
|
@ -1307,12 +1307,11 @@ if (0) /* crashes on native */
|
||||||
|
|
||||||
/* try mismatching face type, the one that's not supported */
|
/* try mismatching face type, the one that's not supported */
|
||||||
hr = IDWriteFactory_CreateFontFace(factory, DWRITE_FONT_FACE_TYPE_CFF, 1, &file, 0, DWRITE_FONT_SIMULATIONS_NONE, &fontface);
|
hr = IDWriteFactory_CreateFontFace(factory, DWRITE_FONT_FACE_TYPE_CFF, 1, &file, 0, DWRITE_FONT_SIMULATIONS_NONE, &fontface);
|
||||||
todo_wine
|
|
||||||
ok(hr == DWRITE_E_FILEFORMAT, "got 0x%08x\n", hr);
|
ok(hr == DWRITE_E_FILEFORMAT, "got 0x%08x\n", hr);
|
||||||
|
|
||||||
hr = IDWriteFactory_CreateFontFace(factory, DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION, 1, &file, 0,
|
hr = IDWriteFactory_CreateFontFace(factory, DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION, 1, &file, 0,
|
||||||
DWRITE_FONT_SIMULATIONS_NONE, &fontface);
|
DWRITE_FONT_SIMULATIONS_NONE, &fontface);
|
||||||
ok(hr == E_FAIL, "got 0x%08x\n", hr);
|
ok(hr == DWRITE_E_FILEFORMAT || broken(hr == E_FAIL) /* < win10 */, "got 0x%08x\n", hr);
|
||||||
|
|
||||||
hr = IDWriteFactory_CreateFontFace(factory, DWRITE_FONT_FACE_TYPE_RAW_CFF, 1, &file, 0, DWRITE_FONT_SIMULATIONS_NONE, &fontface);
|
hr = IDWriteFactory_CreateFontFace(factory, DWRITE_FONT_FACE_TYPE_RAW_CFF, 1, &file, 0, DWRITE_FONT_SIMULATIONS_NONE, &fontface);
|
||||||
todo_wine
|
todo_wine
|
||||||
|
|
Loading…
Reference in New Issue