dwrite: Implement FindFamilyName() for system font collection.
This commit is contained in:
parent
f0f1735495
commit
2793d8196b
|
@ -690,8 +690,22 @@ static HRESULT WINAPI dwritefontcollection_GetFontFamily(IDWriteFontCollection *
|
||||||
static HRESULT WINAPI dwritefontcollection_FindFamilyName(IDWriteFontCollection *iface, const WCHAR *name, UINT32 *index, BOOL *exists)
|
static HRESULT WINAPI dwritefontcollection_FindFamilyName(IDWriteFontCollection *iface, const WCHAR *name, UINT32 *index, BOOL *exists)
|
||||||
{
|
{
|
||||||
struct dwrite_fontcollection *This = impl_from_IDWriteFontCollection(iface);
|
struct dwrite_fontcollection *This = impl_from_IDWriteFontCollection(iface);
|
||||||
FIXME("(%p)->(%s %p %p): stub\n", This, debugstr_w(name), index, exists);
|
UINT32 i;
|
||||||
return E_NOTIMPL;
|
|
||||||
|
TRACE("(%p)->(%s %p %p)\n", This, debugstr_w(name), index, exists);
|
||||||
|
|
||||||
|
for (i = 0; i < This->count; i++)
|
||||||
|
if (!strcmpW(This->families[i], name))
|
||||||
|
{
|
||||||
|
*index = i;
|
||||||
|
*exists = TRUE;
|
||||||
|
return S_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
*index = (UINT32)-1;
|
||||||
|
*exists = FALSE;
|
||||||
|
|
||||||
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI dwritefontcollection_GetFontFromFontFace(IDWriteFontCollection *iface, IDWriteFontFace *face, IDWriteFont **font)
|
static HRESULT WINAPI dwritefontcollection_GetFontFromFontFace(IDWriteFontCollection *iface, IDWriteFontFace *face, IDWriteFont **font)
|
||||||
|
|
|
@ -536,7 +536,6 @@ static void test_system_fontcollection(void)
|
||||||
i = IDWriteFontCollection_GetFontFamilyCount(collection);
|
i = IDWriteFontCollection_GetFontFamilyCount(collection);
|
||||||
ok(i, "got %u\n", i);
|
ok(i, "got %u\n", i);
|
||||||
|
|
||||||
todo_wine {
|
|
||||||
ret = FALSE;
|
ret = FALSE;
|
||||||
i = (UINT32)-1;
|
i = (UINT32)-1;
|
||||||
hr = IDWriteFontCollection_FindFamilyName(collection, tahomaW, &i, &ret);
|
hr = IDWriteFontCollection_FindFamilyName(collection, tahomaW, &i, &ret);
|
||||||
|
@ -550,7 +549,7 @@ todo_wine {
|
||||||
ok(hr == S_OK, "got 0x%08x\n", hr);
|
ok(hr == S_OK, "got 0x%08x\n", hr);
|
||||||
ok(!ret, "got %d\n", ret);
|
ok(!ret, "got %d\n", ret);
|
||||||
ok(i == (UINT32)-1, "got %u\n", i);
|
ok(i == (UINT32)-1, "got %u\n", i);
|
||||||
}
|
|
||||||
IDWriteFontCollection_Release(collection);
|
IDWriteFontCollection_Release(collection);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue