首页后端开发ASP.NETc#中Noto Sans字体支持韩文的实例教程

c#中Noto Sans字体支持韩文的实例教程

时间2024-01-30 09:41:03发布访客分类ASP.NET浏览391
导读:收集整理的这篇文章主要介绍了c#中Noto Sans字体支持韩文的实例教程,觉得挺不错的,现在分享给大家,也给大家做个参考。1、源起:VCU10项目,使用了Noto Sans字体,的确漂亮。但验证在win7下,其显示韩文为乱码,颇为头痛。其...
收集整理的这篇文章主要介绍了c#中Noto Sans字体支持韩文的实例教程,觉得挺不错的,现在分享给大家,也给大家做个参考。1、源起:

VCU10项目,使用了Noto Sans字体,的确漂亮。但验证在win7下,其显示韩文为乱码,颇为头痛。

其界面显示如图:

度娘之,得Noto Sans又有CJK字体,顾名思义,其为支持中日韩文,且其体积巨大,不宜做为方案,继续思考!

2、Font.GdiCharSet 属性

也是没有办法,看在目前基础上,能不能解决问题?程序多国语言需支持。

就从字体本身属性开始检查吧,验证发现,改其字符集GdiCharSet,可正常显示韩文,解决方案有了!

查阅资料得知,字体GdiCharSet可有如下值:

字符集

ANSI

0

DEFAULT

1

符号

2

SHIFTJIS 适用

128

韩语

129

朝鲜语

129

GB2312

134

CHINESEBig5 适用

136

OEM

255

韩文

130

希伯来语

177

阿拉伯语

178

希腊语

161

土耳其语

162

越南语

163

泰语

222

EASTEUROPE

238

俄语

204

MAC

77

波罗的语

186

验证比如东欧、波罗的海等字符集,可以正常显示韩文,而不影响其默认字符集显示效果,于是,决定替换其字符集。

3、替换

项目界面已设定字体,且界面众多,一个一个改当然不够方便,写代码批量处理吧!

在每个窗体,或每个UserControl中,调用一下UpdateNotoSansCharset()数,就统一替换了。

        //处理Label字体,以能在win7下,NotoSans字体能显示韩文public static void UpdateNotoSansCharset(Form form)        {
    if (OSUtils.OSVersion >
     FriendlyOSVersion.Win7)return;
    foreach (Control ctrl in form.Controls)                UpdateNotoSansCharset(ctrl);
        }
public static void UpdateNotoSansCharset(ScrollableControl parent)        {
    if (OSUtils.OSVersion >
     FriendlyOSVersion.Win7)return;
    foreach (Control ctrl in parent.Controls)                UpdateNotoSansCharset(ctrl);
        }
public static void UpdateNotoSansCharset(GControl ctrl)        {
    if (ctrl is ScrollableControl)                UpdateNotoSansCharset(ctrl as ScrollableControl);
else if (ctrl is Label)            {
    //CharSet采用中欧字符集VAR font = new Font(ctrl.Font.FontFamily, ctrl.Font.Size, ctrl.Font.Style, ctrl.Font.UnIT, 238);
                    ctrl.Font = font;
            }
        }
    

4、效果

OK,难题解决,非常完美:

以上就是c#中Noto Sans字体支持韩文的实例教程的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

.netcsharp如何字体

若转载请注明出处: c#中Noto Sans字体支持韩文的实例教程
本文地址: https://pptw.com/jishu/592353.html
解析JavaScript中的Generators 深入浅析JS中的的try catch语句,聊聊它的 2 个作用!

游客 回复需填写必要信息