More font links are added to avoid issues related to missing font links.
Data comes from: https://testbot.winehq.org/JobDetails.pl?Key=125079
Test program in the tests above: [font_link_reg.c](/uploads/9d4a722450f0dd88344a2b098770aaa0/font_link_reg.c)
-- v3: win32u: Add font links for MS Gothic. win32u: Add font links for MingLiU. win32u: Add font links for Microsoft JhengHei. win32u: Add locale_dependent member to struct system_link_reg.
From: Ziqing Hui zhui@codeweavers.com
--- dlls/win32u/font.c | 69 ++++++++++++++++++++++------------------------ 1 file changed, 33 insertions(+), 36 deletions(-)
diff --git a/dlls/win32u/font.c b/dlls/win32u/font.c index 5762d55eab5..eddee9968f4 100644 --- a/dlls/win32u/font.c +++ b/dlls/win32u/font.c @@ -1619,6 +1619,9 @@ static const char system_link_ms_ui_gothic[] = static const struct system_link_reg { const WCHAR *font_name; + BOOL locale_dependent; + const char *link_non_cjk; + DWORD link_non_cjk_len; const char *link_sc; DWORD link_sc_len; const char *link_tc; @@ -1627,43 +1630,34 @@ static const struct system_link_reg DWORD link_jp_len; const char *link_kr; DWORD link_kr_len; - const char *link_non_cjk; - DWORD link_non_cjk_len; } default_system_link[] = { { - tahomaW, + tahomaW, TRUE, + system_link_tahoma_non_cjk, sizeof(system_link_tahoma_non_cjk), system_link_tahoma_sc, sizeof(system_link_tahoma_sc), system_link_tahoma_tc, sizeof(system_link_tahoma_tc), system_link_tahoma_jp, sizeof(system_link_tahoma_jp), system_link_tahoma_kr, sizeof(system_link_tahoma_kr), - system_link_tahoma_non_cjk, sizeof(system_link_tahoma_non_cjk), }, { - microsoft_sans_serifW, + microsoft_sans_serifW, TRUE, + system_link_tahoma_non_cjk, sizeof(system_link_tahoma_non_cjk), system_link_tahoma_sc, sizeof(system_link_tahoma_sc), system_link_tahoma_tc, sizeof(system_link_tahoma_tc), system_link_tahoma_jp, sizeof(system_link_tahoma_jp), system_link_tahoma_kr, sizeof(system_link_tahoma_kr), - system_link_tahoma_non_cjk, sizeof(system_link_tahoma_non_cjk), }, { - lucida_sans_unicodeW, + lucida_sans_unicodeW, TRUE, + system_link_tahoma_non_cjk, sizeof(system_link_tahoma_non_cjk), system_link_tahoma_sc, sizeof(system_link_tahoma_sc), system_link_tahoma_tc, sizeof(system_link_tahoma_tc), system_link_tahoma_jp, sizeof(system_link_tahoma_jp), system_link_tahoma_kr, sizeof(system_link_tahoma_kr), - system_link_tahoma_non_cjk, sizeof(system_link_tahoma_non_cjk), - }, - { - ms_ui_gothicW, - system_link_ms_ui_gothic, sizeof(system_link_ms_ui_gothic), - system_link_ms_ui_gothic, sizeof(system_link_ms_ui_gothic), - system_link_ms_ui_gothic, sizeof(system_link_ms_ui_gothic), - system_link_ms_ui_gothic, sizeof(system_link_ms_ui_gothic), - system_link_ms_ui_gothic, sizeof(system_link_ms_ui_gothic), }, + { ms_ui_gothicW, FALSE, system_link_ms_ui_gothic, sizeof(system_link_ms_ui_gothic) }, };
static void populate_system_links( const WCHAR *name, const WCHAR * const *values ) @@ -2772,27 +2766,30 @@ static void update_font_system_link_info(void) { const struct system_link_reg *link_reg = &default_system_link[i];
- switch (ansi_cp.CodePage) + link = link_reg->link_non_cjk; + len = link_reg->link_non_cjk_len; + + if (link_reg->locale_dependent) { - case 932: - link = link_reg->link_jp; - len = link_reg->link_jp_len; - break; - case 936: - link = link_reg->link_sc; - len = link_reg->link_sc_len; - break; - case 949: - link = link_reg->link_kr; - len = link_reg->link_kr_len; - break; - case 950: - link = link_reg->link_tc; - len = link_reg->link_tc_len; - break; - default: - link = link_reg->link_non_cjk; - len = link_reg->link_non_cjk_len; + switch (ansi_cp.CodePage) + { + case 932: + link = link_reg->link_jp; + len = link_reg->link_jp_len; + break; + case 936: + link = link_reg->link_sc; + len = link_reg->link_sc_len; + break; + case 949: + link = link_reg->link_kr; + len = link_reg->link_kr_len; + break; + case 950: + link = link_reg->link_tc; + len = link_reg->link_tc_len; + break; + } } set_multi_value_key(hkey, link_reg->font_name, link, len); }
From: Ziqing Hui zhui@codeweavers.com
--- dlls/win32u/font.c | 62 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 61 insertions(+), 1 deletion(-)
diff --git a/dlls/win32u/font.c b/dlls/win32u/font.c index eddee9968f4..97c9153c006 100644 --- a/dlls/win32u/font.c +++ b/dlls/win32u/font.c @@ -1510,6 +1510,16 @@ static const WCHAR p_ming_li_uW[] = {'P','M','i','n','g','L','i','U',0}; static const WCHAR batangW[] = {'B','a','t','a','n','g',0}; +static const WCHAR microsoft_jheng_heiW[] = + {'M','i','c','r','o','s','o','f','t',' ','J','h','e','n','g','H','e','i',0}; +static const WCHAR microsoft_jheng_hei_boldW[] = + {'M','i','c','r','o','s','o','f','t',' ','J','h','e','n','g','H','e','i',' ','B','o','l','d',0}; +static const WCHAR microsoft_jheng_hei_uiW[] = + {'M','i','c','r','o','s','o','f','t',' ','J','h','e','n','g','H','e','i',' ','U','I',0}; +static const WCHAR microsoft_jheng_hei_ui_boldW[] = + {'M','i','c','r','o','s','o','f','t',' ','J','h','e','n','g','H','e','i',' ','U','I',' ','B','o','l','d',0}; +static const WCHAR microsoft_jheng_hei_ui_lightW[] = + {'M','i','c','r','o','s','o','f','t',' ','J','h','e','n','g','H','e','i',' ','U','I',' ','L','i','g','h','t',0};
static const WCHAR * const font_links_list[] = { @@ -1616,6 +1626,51 @@ static const char system_link_ms_ui_gothic[] = "MALGUN.TTF,Malgun Gothic\0" "SEGUISYM.TTF,Segoe UI Symbol\0";
+static const char system_link_microsoft_jheng_hei[] = + "SEGOEUI.TTF,Segoe UI\0" + "MINGLIU.TTC,MingLiU\0" + "MSYH.TTC,Microsoft YaHei\0" + "MEIRYO.TTC,Meiryo\0" + "MALGUN.TTF,Malgun Gothic\0" + "YUGOTHM.TTC,Yu Gothic UI\0" + "SEGUISYM.TTF,Segoe UI Symbol\0"; + +static const char system_link_microsoft_jheng_hei_bold[] = + "SEGOEUIB.TTF,Segoe UI Bold\0" + "MINGLIU.TTC,MingLiU\0" + "MSYHBD.TTC,Microsoft YaHei Bold\0" + "MEIRYOB.TTC,Meiryo Bold\0" + "MALGUNBD.TTF,Malgun Gothic Bold\0" + "YUGOTHB.TTC,Yu Gothic UI Bold\0" + "SEGUISYM.TTF,Segoe UI Symbol\0"; + +static const char system_link_microsoft_jheng_hei_ui[] = + "SEGOEUI.TTF,Segoe UI\0" + "MINGLIU.TTC,MingLiU\0" + "MSYH.TTC,Microsoft YaHei UI\0" + "MEIRYO.TTC,Meiryo UI\0" + "MALGUN.TTF,Malgun Gothic\0" + "YUGOTHM.TTC,Yu Gothic UI\0" + "SEGUISYM.TTF,Segoe UI Symbol\0"; + +static const char system_link_microsoft_jheng_hei_ui_bold[] = + "SEGOEUIB.TTF,Segoe UI Bold\0" + "MINGLIU.TTC,MingLiU\0" + "MSYHBD.TTC,Microsoft YaHei UI Bold\0" + "MEIRYOB.TTC,Meiryo UI Bold\0" + "MALGUNBD.TTF,Malgun Gothic Bold\0" + "YUGOTHB.TTC,Yu Gothic UI Bold\0" + "SEGUISYM.TTF,Segoe UI Symbol\0"; + +static const char system_link_microsoft_jheng_hei_ui_light[] = + "SEGOEUIL.TTF,Segoe UI Light\0" + "MINGLIU.TTC,MingLiU\0" + "MSYHL.TTC,Microsoft YaHei UI Light\0" + "MEIRYO.TTC,Meiryo UI\0" + "MALGUNSL.TTF,Malgun Gothic Semilight\0" + "YUGOTHL.TTC,Yu Gothic UI Light\0" + "SEGUISYM.TTF,Segoe UI Symbol\0"; + static const struct system_link_reg { const WCHAR *font_name; @@ -1657,7 +1712,12 @@ default_system_link[] = system_link_tahoma_jp, sizeof(system_link_tahoma_jp), system_link_tahoma_kr, sizeof(system_link_tahoma_kr), }, - { ms_ui_gothicW, FALSE, system_link_ms_ui_gothic, sizeof(system_link_ms_ui_gothic) }, + { ms_ui_gothicW, FALSE, system_link_ms_ui_gothic, sizeof(system_link_ms_ui_gothic) }, + { microsoft_jheng_heiW, FALSE, system_link_microsoft_jheng_hei, sizeof(system_link_microsoft_jheng_hei) }, + { microsoft_jheng_hei_boldW, FALSE, system_link_microsoft_jheng_hei_bold, sizeof(system_link_microsoft_jheng_hei_bold) }, + { microsoft_jheng_hei_uiW, FALSE, system_link_microsoft_jheng_hei_ui, sizeof(system_link_microsoft_jheng_hei_ui) }, + { microsoft_jheng_hei_ui_boldW, FALSE, system_link_microsoft_jheng_hei_ui_bold, sizeof(system_link_microsoft_jheng_hei_ui_bold) }, + { microsoft_jheng_hei_ui_lightW, FALSE, system_link_microsoft_jheng_hei_ui_light, sizeof(system_link_microsoft_jheng_hei_ui_light) }, };
static void populate_system_links( const WCHAR *name, const WCHAR * const *values )
From: Ziqing Hui zhui@codeweavers.com
--- dlls/win32u/font.c | 87 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+)
diff --git a/dlls/win32u/font.c b/dlls/win32u/font.c index 97c9153c006..5ba111436d7 100644 --- a/dlls/win32u/font.c +++ b/dlls/win32u/font.c @@ -1506,8 +1506,18 @@ static const WCHAR sim_sunW[] = {'S','i','m','S','u','n',0}; static const WCHAR gulimW[] = {'G','u','l','i','m',0}; +static const WCHAR ming_li_uW[] = + {'M','i','n','g','L','i','U',0}; static const WCHAR p_ming_li_uW[] = {'P','M','i','n','g','L','i','U',0}; +static const WCHAR ming_li_u_hkscsW[] = + {'M','i','n','g','L','i','U','_','H','K','S','C','S',0}; +static const WCHAR ming_li_u_ext_bW[] = + {'M','i','n','g','L','i','U','-','E','x','t','B',0}; +static const WCHAR p_ming_li_u_ext_bW[] = + {'P','M','i','n','g','L','i','U','-','E','x','t','B',0}; +static const WCHAR ming_li_u_hkscs_ext_bW[] = + {'M','i','n','g','L','i','U','_','H','K','S','C','S','-','E','x','t','B',0}; static const WCHAR batangW[] = {'B','a','t','a','n','g',0}; static const WCHAR microsoft_jheng_heiW[] = @@ -1671,6 +1681,77 @@ static const char system_link_microsoft_jheng_hei_ui_light[] = "YUGOTHL.TTC,Yu Gothic UI Light\0" "SEGUISYM.TTF,Segoe UI Symbol\0";
+static const char system_link_ming_li_u[] = + "MICROSS.TTF,Microsoft Sans Serif\0" + "SIMSUN.TTC,SimSun\0" + "MSMINCHO.TTC,MS Mincho\0" + "BATANG.TTC,BatangChe\0" + "MSJH.TTC,Microsoft JhengHei UI\0" + "MSYH.TTC,Microsoft YaHei UI\0" + "YUGOTHM.TTC,Yu Gothic UI\0" + "MALGUN.TTF,Malgun Gothic\0" + "SEGUISYM.TTF,Segoe UI Symbol\0"; + +static const char system_link_p_ming_li_u[] = + "MICROSS.TTF,Microsoft Sans Serif\0" + "SIMSUN.TTC,SimSun\0" + "MSMINCHO.TTC,MS PMincho\0" + "BATANG.TTC,Batang\0" + "MSJH.TTC,Microsoft JhengHei UI\0" + "MSYH.TTC,Microsoft YaHei UI\0" + "YUGOTHM.TTC,Yu Gothic UI\0" + "MALGUN.TTF,Malgun Gothic\0" + "SEGUISYM.TTF,Segoe UI Symbol\0"; + +static const char system_link_ming_li_u_hkscs[] = + "MICROSS.TTF,Microsoft Sans Serif\0" + "MINGLIU.TTC,MingLiU\0" + "SIMSUN.TTC,SimSun\0" + "MSMINCHO.TTC,MS Mincho\0" + "BATANG.TTC,BatangChe\0" + "MSJH.TTC,Microsoft JhengHei UI\0" + "MSYH.TTC,Microsoft YaHei UI\0" + "YUGOTHM.TTC,Yu Gothic UI\0" + "MALGUN.TTF,Malgun Gothic\0" + "SEGUISYM.TTF,Segoe UI Symbol\0"; + +static const char system_link_ming_li_u_ext_b[] = + "MICROSS.TTF,Microsoft Sans Serif\0" + "MINGLIU.TTC,MingLiU\0" + "SIMSUN.TTC,SimSun\0" + "MSMINCHO.TTC,MS Mincho\0" + "BATANG.TTC,BatangChe\0" + "MSJH.TTC,Microsoft JhengHei UI\0" + "MSYH.TTC,Microsoft YaHei UI\0" + "YUGOTHM.TTC,Yu Gothic UI\0" + "MALGUN.TTF,Malgun Gothic\0" + "SEGUISYM.TTF,Segoe UI Symbol\0"; + +static const char system_link_p_ming_li_u_ext_b[] = + "MICROSS.TTF,Microsoft Sans Serif\0" + "MINGLIU.TTC,PMingLiU\0" + "SIMSUN.TTC,SimSun\0" + "MSMINCHO.TTC,MS PMincho\0" + "BATANG.TTC,Batang\0" + "MSJH.TTC,Microsoft JhengHei UI\0" + "MSYH.TTC,Microsoft YaHei UI\0" + "YUGOTHM.TTC,Yu Gothic UI\0" + "MALGUN.TTF,Malgun Gothic\0" + "SEGUISYM.TTF,Segoe UI Symbol\0"; + +static const char system_link_ming_li_u_hkscs_ext_b[] = + "MICROSS.TTF,Microsoft Sans Serif\0" + "MINGLIU.TTC,MingLiU_HKSCS\0" + "MINGLIU.TTC,MingLiU\0" + "SIMSUN.TTC,SimSun\0" + "MSMINCHO.TTC,MS Mincho\0" + "BATANG.TTC,BatangChe\0" + "MSJH.TTC,Microsoft JhengHei UI\0" + "MSYH.TTC,Microsoft YaHei UI\0" + "YUGOTHM.TTC,Yu Gothic UI\0" + "MALGUN.TTF,Malgun Gothic\0" + "SEGUISYM.TTF,Segoe UI Symbol\0"; + static const struct system_link_reg { const WCHAR *font_name; @@ -1718,6 +1799,12 @@ default_system_link[] = { microsoft_jheng_hei_uiW, FALSE, system_link_microsoft_jheng_hei_ui, sizeof(system_link_microsoft_jheng_hei_ui) }, { microsoft_jheng_hei_ui_boldW, FALSE, system_link_microsoft_jheng_hei_ui_bold, sizeof(system_link_microsoft_jheng_hei_ui_bold) }, { microsoft_jheng_hei_ui_lightW, FALSE, system_link_microsoft_jheng_hei_ui_light, sizeof(system_link_microsoft_jheng_hei_ui_light) }, + { ming_li_uW, FALSE, system_link_ming_li_u, sizeof(system_link_ming_li_u) }, + { p_ming_li_uW, FALSE, system_link_p_ming_li_u, sizeof(system_link_p_ming_li_u) }, + { ming_li_u_hkscsW, FALSE, system_link_ming_li_u_hkscs, sizeof(system_link_ming_li_u_hkscs) }, + { ming_li_u_ext_bW, FALSE, system_link_ming_li_u_ext_b, sizeof(system_link_ming_li_u_ext_b) }, + { p_ming_li_u_ext_bW, FALSE, system_link_p_ming_li_u_ext_b, sizeof(system_link_p_ming_li_u_ext_b) }, + { ming_li_u_hkscs_ext_bW, FALSE, system_link_ming_li_u_hkscs_ext_b, sizeof(system_link_ming_li_u_hkscs_ext_b) }, };
static void populate_system_links( const WCHAR *name, const WCHAR * const *values )
From: Ziqing Hui zhui@codeweavers.com
--- dlls/win32u/font.c | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/dlls/win32u/font.c b/dlls/win32u/font.c index 5ba111436d7..9ead47e1983 100644 --- a/dlls/win32u/font.c +++ b/dlls/win32u/font.c @@ -1500,6 +1500,10 @@ static const WCHAR microsoft_sans_serifW[] = {'M','i','c','r','o','s','o','f','t',' ','S','a','n','s',' ','S','e','r','i','f',0}; static const WCHAR tahomaW[] = {'T','a','h','o','m','a',0}; +static const WCHAR ms_gothicW[] = + {'M','S',' ','G','o','t','h','i','c',0}; +static const WCHAR ms_p_gothicW[] = + {'M','S',' ','P','G','o','t','h','i','c',0}; static const WCHAR ms_ui_gothicW[] = {'M','S',' ','U','I',' ','G','o','t','h','i','c',0}; static const WCHAR sim_sunW[] = @@ -1626,9 +1630,30 @@ static const char system_link_tahoma_non_cjk[] = "MALGUN.TTF,Malgun Gothic\0" "SEGUISYM.TTF,Segoe UI Symbol\0";
+static const char system_link_ms_gothic[] = + "MINGLIU.TTC,MingLiU\0" + "SIMSUN.TTC,SimSun\0" + "GULIM.TTC,GulimChe\0" + "YUGOTHM.TTC,Yu Gothic UI\0" + "MSJH.TTC,Microsoft JhengHei UI\0" + "MSYH.TTC,Microsoft YaHei UI\0" + "MALGUN.TTF,Malgun Gothic\0" + "SEGUISYM.TTF,Segoe UI Symbol\0"; + +static const char system_link_ms_p_gothic[] = + "MINGLIU.TTC,PMingLiU\0" + "SIMSUN.TTC,SimSun\0" + "GULIM.TTC,Gulim\0" + "YUGOTHM.TTC,Yu Gothic UI\0" + "MSJH.TTC,Microsoft JhengHei UI\0" + "MSYH.TTC,Microsoft YaHei UI\0" + "MALGUN.TTF,Malgun Gothic\0" + "SEGUISYM.TTF,Segoe UI Symbol\0"; + static const char system_link_ms_ui_gothic[] = "MICROSS.TTF,Microsoft Sans Serif\0" - "MINGLIU.TTC,PMingLiU\0""SIMSUN.TTC,SimSun\0" + "MINGLIU.TTC,PMingLiU\0" + "SIMSUN.TTC,SimSun\0" "GULIM.TTC,Gulim\0" "YUGOTHM.TTC,Yu Gothic UI\0" "MSJH.TTC,Microsoft JhengHei UI\0" @@ -1793,6 +1818,8 @@ default_system_link[] = system_link_tahoma_jp, sizeof(system_link_tahoma_jp), system_link_tahoma_kr, sizeof(system_link_tahoma_kr), }, + { ms_gothicW, FALSE, system_link_ms_gothic, sizeof(system_link_ms_gothic) }, + { ms_p_gothicW, FALSE, system_link_ms_p_gothic, sizeof(system_link_ms_p_gothic) }, { ms_ui_gothicW, FALSE, system_link_ms_ui_gothic, sizeof(system_link_ms_ui_gothic) }, { microsoft_jheng_heiW, FALSE, system_link_microsoft_jheng_hei, sizeof(system_link_microsoft_jheng_hei) }, { microsoft_jheng_hei_boldW, FALSE, system_link_microsoft_jheng_hei_bold, sizeof(system_link_microsoft_jheng_hei_bold) },
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=125183
Your paranoid android.
=== debian11 (build log) ===
Task: Could not create the win32 wineprefix: Failed to disable the crash dialogs: Task: WineTest did not produce the win32 report
This merge request was approved by Huw Davies.