dwrite: Implement FindFamilyName() for system font collection.

This commit is contained in:
Nikolay Sivov 2012-10-21 00:31:11 -04:00 committed by Alexandre Julliard
parent f0f1735495
commit 2793d8196b
2 changed files with 17 additions and 4 deletions

View File

@ -690,8 +690,22 @@ static HRESULT WINAPI dwritefontcollection_GetFontFamily(IDWriteFontCollection *
static HRESULT WINAPI dwritefontcollection_FindFamilyName(IDWriteFontCollection *iface, const WCHAR *name, UINT32 *index, BOOL *exists)
{
struct dwrite_fontcollection *This = impl_from_IDWriteFontCollection(iface);
FIXME("(%p)->(%s %p %p): stub\n", This, debugstr_w(name), index, exists);
return E_NOTIMPL;
UINT32 i;
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)

View File

@ -536,7 +536,6 @@ static void test_system_fontcollection(void)
i = IDWriteFontCollection_GetFontFamilyCount(collection);
ok(i, "got %u\n", i);
todo_wine {
ret = FALSE;
i = (UINT32)-1;
hr = IDWriteFontCollection_FindFamilyName(collection, tahomaW, &i, &ret);
@ -550,7 +549,7 @@ todo_wine {
ok(hr == S_OK, "got 0x%08x\n", hr);
ok(!ret, "got %d\n", ret);
ok(i == (UINT32)-1, "got %u\n", i);
}
IDWriteFontCollection_Release(collection);
}