Commit 5b46a8a0 authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

dwrite/fallback: Add mappings for some CJK ranges.

parent 28799301
...@@ -248,9 +248,49 @@ system_fallback_config[] = ...@@ -248,9 +248,49 @@ system_fallback_config[] =
{ "1800-18AF, 11660-1167F", L"Noto Sans Mongolian" }, { "1800-18AF, 11660-1167F", L"Noto Sans Mongolian" },
{ "3000-30FF, 31F0-31FF, 4E00-9FFF", L"Meiryo" }, /* CJK Symbols and Punctuation - 3000-303F
Hiragana - 3040-309F
Katakana - 30A0-30FF
Katakana Phonetic Ext. - 31F0-31FF */
{ "3000-30FF, 31F0-31FF", L"Noto Sans CJK SC", L"zh-Hans" },
{ "3000-30FF, 31F0-31FF", L"Noto Sans CJK TC", L"zh-Hant" },
{ "3000-30FF, 31F0-31FF", L"Noto Sans CJK KR", L"ko" },
{ "3000-30FF, 31F0-31FF", L"Noto Sans CJK JP" },
/* CJK Unified Ext A - 3400-4DBF
CJK Unified - 4E00-9FFF */
{ "3400-4DBF, 4E00-9FFF", L"Noto Sans CJK SC", L"zh-Hans" },
{ "3400-4DBF, 4E00-9FFF", L"Noto Sans CJK TC", L"zh-Hant" },
{ "3400-4DBF, 4E00-9FFF", L"Noto Sans CJK KR", L"ko" },
{ "3400-4DBF, 4E00-9FFF", L"Noto Sans CJK JP" },
/* CJK Compatibility Ideographs - F900-FAFF */
{ "F900-FAFF", L"Noto Sans CJK SC", L"zh-Hans" },
{ "F900-FAFF", L"Noto Sans CJK TC", L"zh-Hant" },
{ "F900-FAFF", L"Noto Sans CJK KR", L"ko" },
{ "F900-FAFF", L"Noto Sans CJK JP" },
/* Vertical Forms - FE10-FE1F */
{ "FE10-FE1F", L"Noto Sans CJK SC", L"zh-Hans" },
{ "FE10-FE1F", L"Noto Sans CJK KR", L"ko" },
{ "FE10-FE1F", L"Noto Sans CJK TC" },
/* CJK Compatibility Forms - FE30-FE4F
Small Form Variants - FE50-FE6F */
{ "FE30-FE6F", L"Noto Sans CJK SC", L"zh-Hans" },
{ "FE30-FE6F", L"Noto Sans CJK KR", L"ko" },
{ "FE30-FE6F", L"Noto Sans CJK JP", L"ja" },
{ "FE30-FE6F", L"Noto Sans CJK TC" },
/* Halfwidth and Fullwidth Forms */ /* Halfwidth and Fullwidth Forms */
{ "FF00-FFEF", L"Noto Sans CJK SC", L"zh-Hans" },
{ "FF00-FFEF", L"Noto Sans CJK TC", L"zh-Hant" },
{ "FF00-FFEF", L"Noto Sans CJK KR", L"ko" },
{ "FF00-FFEF", L"Noto Sans CJK JP" }, { "FF00-FFEF", L"Noto Sans CJK JP" },
}; };
......
...@@ -4686,14 +4686,12 @@ static void test_MapCharacters(void) ...@@ -4686,14 +4686,12 @@ static void test_MapCharacters(void)
hr = IDWriteFontFallback_MapCharacters(fallback, &analysissource, 1, 2, NULL, NULL, DWRITE_FONT_WEIGHT_NORMAL, hr = IDWriteFontFallback_MapCharacters(fallback, &analysissource, 1, 2, NULL, NULL, DWRITE_FONT_WEIGHT_NORMAL,
DWRITE_FONT_STYLE_NORMAL, DWRITE_FONT_STRETCH_NORMAL, &mappedlength, &font, &scale); DWRITE_FONT_STYLE_NORMAL, DWRITE_FONT_STRETCH_NORMAL, &mappedlength, &font, &scale);
ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
todo_wine ok(mappedlength == 1, "Unexpected length %u.\n", mappedlength);
ok(mappedlength == 1, "got %u\n", mappedlength);
ok(scale == 1.0f, "got %f\n", scale); ok(scale == 1.0f, "got %f\n", scale);
todo_wine
ok(font != NULL, "got %p\n", font); ok(font != NULL, "got %p\n", font);
if (font) { if (font)
IDWriteFont_Release(font); IDWriteFont_Release(font);
}
/* Try with explicit collection, Tahoma will be forced. */ /* Try with explicit collection, Tahoma will be forced. */
/* 1. Latin part */ /* 1. Latin part */
g_source = str2W; g_source = str2W;
...@@ -4726,7 +4724,6 @@ if (font) { ...@@ -4726,7 +4724,6 @@ if (font) {
ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(mappedlength == 1, "got %u\n", mappedlength); ok(mappedlength == 1, "got %u\n", mappedlength);
ok(scale == 1.0f, "got %f\n", scale); ok(scale == 1.0f, "got %f\n", scale);
todo_wine
ok(font != NULL, "got %p\n", font); ok(font != NULL, "got %p\n", font);
if (font) if (font)
...@@ -4736,7 +4733,6 @@ if (font) { ...@@ -4736,7 +4733,6 @@ if (font) {
ok(hr == S_OK && exists, "Unexpected hr %#lx, exists %d.\n", hr, exists); ok(hr == S_OK && exists, "Unexpected hr %#lx, exists %d.\n", hr, exists);
hr = IDWriteLocalizedStrings_GetString(strings, 0, buffW, ARRAY_SIZE(buffW)); hr = IDWriteLocalizedStrings_GetString(strings, 0, buffW, ARRAY_SIZE(buffW));
ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
todo_wine
ok(lstrcmpW(buffW, L"Tahoma"), "Unexpected string %s.\n", wine_dbgstr_w(buffW)); ok(lstrcmpW(buffW, L"Tahoma"), "Unexpected string %s.\n", wine_dbgstr_w(buffW));
IDWriteLocalizedStrings_Release(strings); IDWriteLocalizedStrings_Release(strings);
IDWriteFont_Release(font); IDWriteFont_Release(font);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment