Rémi Bernon : gdi32/tests: Add locale-dependent face matching test.
Alexandre Julliard
julliard at winehq.org
Thu Nov 26 16:30:59 CST 2020
Module: wine
Branch: master
Commit: c57a53147f4c86ec37e1abc05ff171114a224771
URL: https://source.winehq.org/git/wine.git/?a=commit;h=c57a53147f4c86ec37e1abc05ff171114a224771
Author: Rémi Bernon <rbernon at codeweavers.com>
Date: Mon Nov 23 13:20:49 2020 +0100
gdi32/tests: Add locale-dependent face matching test.
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/gdi32/tests/font.c | 19 ++++++++++++++-----
dlls/gdi32/tests/wine_langnames3.sfd | 4 ++--
dlls/gdi32/tests/wine_langnames3.ttf | Bin 2048 -> 2076 bytes
3 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/dlls/gdi32/tests/font.c b/dlls/gdi32/tests/font.c
index 94910ff60fc..2988ab45ea7 100644
--- a/dlls/gdi32/tests/font.c
+++ b/dlls/gdi32/tests/font.c
@@ -7269,12 +7269,21 @@ static void test_lang_names(void)
/* either because it's the primary language, or because it's a secondary */
ok( efnd.total == min( 2, i + 1 ), "%d: EnumFontFamiliesExA unexpected count %u.\n", i, efnd.total );
- strcpy( font.lfFaceName, "Wine Lang Cond (fr)" );
- memset( &efnd, 0, sizeof(efnd) );
- EnumFontFamiliesExA( dc, &font, enum_fullname_data_proc, (LPARAM)&efnd, 0 );
+ wcscpy( font_w.lfFaceName, L"Wine Police d'\xe9" "criture (fr)" );
+ memset( &efnd_w, 0, sizeof(efnd_w) );
+ EnumFontFamiliesExW( dc, &font_w, enum_fullname_data_proc_w, (LPARAM)&efnd_w, 0 );
/* as wine_langnames3.sfd does not specify (en) name, (fr) is preferred */
- if (i == 2) ok( efnd.total == 1, "%d: EnumFontFamiliesExA unexpected count %u.\n", i, efnd.total );
- else ok( efnd.total == 0, "%d: EnumFontFamiliesExA unexpected count %u.\n", i, efnd.total );
+ if (i == 2) ok( efnd_w.total == 1, "%d: EnumFontFamiliesExW unexpected count %u.\n", i, efnd_w.total );
+ else ok( efnd_w.total == 0, "%d: EnumFontFamiliesExW unexpected count %u.\n", i, efnd_w.total );
+
+ /* case matching should not depend on the current locale */
+ if (i == 2)
+ {
+ wcscpy( font_w.lfFaceName, L"Wine POLICE D'\xc9" "CRITURE (fr)" );
+ memset( &efnd_w, 0, sizeof(efnd_w) );
+ EnumFontFamiliesExW( dc, &font_w, enum_fullname_data_proc_w, (LPARAM)&efnd_w, 0 );
+ todo_wine ok( efnd_w.total == 1, "%d: EnumFontFamiliesExW unexpected count %u.\n", i, efnd_w.total );
+ }
strcpy( font.lfFaceName, "Wine Lang Cond (ko)" );
memset( &efnd, 0, sizeof(efnd) );
diff --git a/dlls/gdi32/tests/wine_langnames3.sfd b/dlls/gdi32/tests/wine_langnames3.sfd
index ea0dbff57d9..55536fa58c1 100644
--- a/dlls/gdi32/tests/wine_langnames3.sfd
+++ b/dlls/gdi32/tests/wine_langnames3.sfd
@@ -39,8 +39,8 @@ MarkAttachClasses: 1
DEI: 91125
LangName: 1036 \
"" \
- "Wine Lang Cond (fr)" \
- "Reg (fr)" \
+ "Wine Police d'+AOkA-criture (fr)" \
+ "R+AOkA-guli+AOgA-re (fr)" \
"" \
"Wine Lang Cond Reg (fr)"
LangName: 1042 \
diff --git a/dlls/gdi32/tests/wine_langnames3.ttf b/dlls/gdi32/tests/wine_langnames3.ttf
index dd76bd478bb..408d127fb1e 100644
Binary files a/dlls/gdi32/tests/wine_langnames3.ttf and b/dlls/gdi32/tests/wine_langnames3.ttf differ
More information about the wine-cvs
mailing list