Jactry Zeng : gdi32: Add multiple font replacement support.
Module: wine Branch: master Commit: c015447d074c535349e42ac3faa2384f8b46a231 URL: http://source.winehq.org/git/wine.git/?a=commit;h=c015447d074c535349e42ac3fa... Author: Jactry Zeng <jzeng(a)codeweavers.com> Date: Wed Jul 8 21:54:05 2015 +0800 gdi32: Add multiple font replacement support. --- dlls/gdi32/freetype.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c index e20e390..e57d1a9 100644 --- a/dlls/gdi32/freetype.c +++ b/dlls/gdi32/freetype.c @@ -2292,12 +2292,24 @@ static void LoadReplaceList(void) dlen = datalen; vlen = valuelen; - while(RegEnumValueW(hkey, i++, value, &vlen, NULL, &type, data, - &dlen) == ERROR_SUCCESS) { - TRACE("Got %s=%s\n", debugstr_w(value), debugstr_w(data)); + while(RegEnumValueW(hkey, i++, value, &vlen, NULL, &type, data, &dlen) == ERROR_SUCCESS) + { /* "NewName"="Oldname" */ if(!find_family_from_any_name(value)) - map_font_family(value, data); + { + if (type == REG_MULTI_SZ) + { + WCHAR *replace = data; + while(*replace) + { + if (map_font_family(value, replace)) + break; + replace += strlenW(replace) + 1; + } + } + else + map_font_family(value, data); + } else TRACE("%s is available. Skip this replacement.\n", debugstr_w(value));
participants (1)
-
Alexandre Julliard