小編給大家分享一下c#中Noto Sans字體支持韓文的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、虛擬空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、陽(yáng)朔網(wǎng)站維護(hù)、網(wǎng)站推廣。
1、源起:
VCU10項(xiàng)目,使用了Noto Sans字體,的確漂亮。但驗(yàn)證在win7下,其顯示韓文為亂碼,頗為頭痛。
其界面顯示如圖:
度娘之,得Noto Sans又有CJK字體,顧名思義,其為支持中日韓文,且其體積巨大,不宜做為方案,繼續(xù)思考!
2、Font.GdiCharSet 屬性
也是沒(méi)有辦法,看在目前基礎(chǔ)上,能不能解決問(wèn)題?程序多國(guó)語(yǔ)言需支持。
就從字體本身屬性開(kāi)始檢查吧,驗(yàn)證發(fā)現(xiàn),改其字符集GdiCharSet,可正常顯示韓文,解決方案有了!
查閱資料得知,字體GdiCharSet可有如下值:
字符集 | 值 |
---|---|
ANSI | 0 |
DEFAULT | 1 |
符號(hào) | 2 |
SHIFTJIS 適用 | 128 |
韓語(yǔ) | 129 |
朝鮮語(yǔ) | 129 |
GB2312 | 134 |
CHINESEBIG5 適用 | 136 |
OEM | 255 |
韓文 | 130 |
希伯來(lái)語(yǔ) | 177 |
阿拉伯語(yǔ) | 178 |
希臘語(yǔ) | 161 |
土耳其語(yǔ) | 162 |
越南語(yǔ) | 163 |
泰語(yǔ) | 222 |
EASTEUROPE | 238 |
俄語(yǔ) | 204 |
MAC | 77 |
波羅的語(yǔ) | 186 |
驗(yàn)證比如東歐、波羅的海等字符集,可以正常顯示韓文,而不影響其默認(rèn)字符集顯示效果,于是,決定替換其字符集。
3、替換
項(xiàng)目界面已設(shè)定字體,且界面眾多,一個(gè)一個(gè)改當(dāng)然不夠方便,寫(xiě)代碼批量處理吧!
在每個(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)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)頁(yè)名稱(chēng):c#中NotoSans字體支持韓文的方法
新聞來(lái)源:http://chinadenli.net/article4/gdeeie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、軟件開(kāi)發(fā)、電子商務(wù)、面包屑導(dǎo)航、定制開(kāi)發(fā)、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
移動(dòng)網(wǎng)站建設(shè)知識(shí)