gdi32: Handle vertical faces in the fontconfig fallback.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48440 Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com> Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
e851e747bb
commit
f3c682edb9
|
@ -5261,7 +5261,7 @@ done:
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef SONAME_LIBFONTCONFIG
|
#ifdef SONAME_LIBFONTCONFIG
|
||||||
static Family* get_fontconfig_family(DWORD pitch_and_family, const CHARSETINFO *csi)
|
static Family* get_fontconfig_family(DWORD pitch_and_family, const CHARSETINFO *csi, BOOL want_vertical)
|
||||||
{
|
{
|
||||||
const char *name;
|
const char *name;
|
||||||
WCHAR nameW[LF_FACESIZE];
|
WCHAR nameW[LF_FACESIZE];
|
||||||
|
@ -5305,8 +5305,17 @@ static Family* get_fontconfig_family(DWORD pitch_and_family, const CHARSETINFO *
|
||||||
const SYSTEM_LINKS *font_link;
|
const SYSTEM_LINKS *font_link;
|
||||||
const struct list *face_list;
|
const struct list *face_list;
|
||||||
|
|
||||||
ret = MultiByteToWideChar(CP_UTF8, 0, (const char*)str, -1,
|
if (!want_vertical)
|
||||||
nameW, ARRAY_SIZE(nameW));
|
{
|
||||||
|
ret = MultiByteToWideChar(CP_UTF8, 0, (const char*)str, -1,
|
||||||
|
nameW, ARRAY_SIZE(nameW));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
nameW[0] = '@';
|
||||||
|
ret = MultiByteToWideChar(CP_UTF8, 0, (const char*)str, -1,
|
||||||
|
nameW + 1, ARRAY_SIZE(nameW) - 1);
|
||||||
|
}
|
||||||
if (!ret) continue;
|
if (!ret) continue;
|
||||||
family = find_family_from_any_name(nameW);
|
family = find_family_from_any_name(nameW);
|
||||||
if (!family) continue;
|
if (!family) continue;
|
||||||
|
@ -5726,7 +5735,7 @@ static HFONT CDECL freetype_SelectFont( PHYSDEV dev, HFONT hfont, UINT *aa_flags
|
||||||
|
|
||||||
#ifdef SONAME_LIBFONTCONFIG
|
#ifdef SONAME_LIBFONTCONFIG
|
||||||
/* Try FontConfig substitutions if the face isn't found */
|
/* Try FontConfig substitutions if the face isn't found */
|
||||||
family = get_fontconfig_family(lf.lfPitchAndFamily, &csi);
|
family = get_fontconfig_family(lf.lfPitchAndFamily, &csi, want_vertical);
|
||||||
if (family) goto found;
|
if (family) goto found;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue