[PATCH 0/4] MR1089: win32u/font: Add font links for MS Gothic, MingLiU, Microsoft JhengHei.
More font links are added to avoid issues related to missing font links. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/1089
From: Ziqing Hui <zhui(a)codeweavers.com> --- dlls/win32u/font.c | 71 +++++++++++++++++++++++----------------------- 1 file changed, 35 insertions(+), 36 deletions(-) diff --git a/dlls/win32u/font.c b/dlls/win32u/font.c index 5762d55eab5..788b46db164 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_related; + 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,32 @@ 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_related)) { - 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; + default: + break; + } } set_multi_value_key(hkey, link_reg->font_name, link, len); } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/1089
From: Ziqing Hui <zhui(a)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 788b46db164..709dca02aab 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 ) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/1089
From: Ziqing Hui <zhui(a)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 709dca02aab..28d08157248 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 ) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/1089
From: Ziqing Hui <zhui(a)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 28d08157248..9ea94c5ed51 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) }, -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/1089
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=125087 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
participants (3)
-
Marvin -
Ziqing Hui -
Ziqing Hui (@zhui)