溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

c#中Noto Sans字體支持韓文的方法

發(fā)布時(shí)間:2021-03-06 14:11:12 來源:億速云 閱讀:291 作者:小新 欄目:編程語言

小編給大家分享一下c#中Noto Sans字體支持韓文的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

1、源起:

VCU10項(xiàng)目,使用了Noto Sans字體,的確漂亮。但驗(yàn)證在win7下,其顯示韓文為亂碼,頗為頭痛。

其界面顯示如圖:

c#中Noto Sans字體支持韓文的方法

度娘之,得Noto Sans又有CJK字體,顧名思義,其為支持中日韓文,且其體積巨大,不宜做為方案,繼續(xù)思考!

2、Font.GdiCharSet 屬性

也是沒有辦法,看在目前基礎(chǔ)上,能不能解決問題?程序多國語言需支持。

就從字體本身屬性開始檢查吧,驗(yàn)證發(fā)現(xiàn),改其字符集GdiCharSet,可正常顯示韓文,解決方案有了!

查閱資料得知,字體GdiCharSet可有如下值:

字符集

ANSI

0

DEFAULT

1

符號(hào)

2

SHIFTJIS 適用

128

韓語

129

朝鮮語

129

GB2312

134

CHINESEBIG5 適用

136

OEM

255

韓文

130

希伯來語

177

阿拉伯語

178

希臘語

161

土耳其語

162

越南語

163

泰語

222

EASTEUROPE

238

俄語

204

MAC

77

波羅的語

186

驗(yàn)證比如東歐、波羅的海等字符集,可以正常顯示韓文,而不影響其默認(rèn)字符集顯示效果,于是,決定替換其字符集。

3、替換

項(xiàng)目界面已設(shè)定字體,且界面眾多,一個(gè)一個(gè)改當(dāng)然不夠方便,寫代碼批量處理吧!

在每個(gè)窗體,或每個(gè)UserControl中,調(diào)用一下UpdateNotoSansCharset()數(shù),就統(tǒng)一替換了。

        //處理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字體支持韓文的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI