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,难题解决,非常完美:
转载于:https://www.cnblogs.com/crwy/p/7019067.html
c#: Noto Sans字体如何支持韩文相关推荐
- gvim同时处理中日韩文
From: http://xbeta.info/gvim-unicode.htm 一.两项要点 gvim处理多国文字(unicode)有两项要点:一是编码环境:set enc=utf-8:二是正确的字 ...
- Win7下ultraEdit等正确显示日文,韩文等字体的方法
其实字库都在操作系统里面预装了,只是可能被隐藏了. 要启用这些日韩字体的话, 方法1: 在输入法设置里面,把韩语,日语输入法启用 方法2: 在控制面板->字体->字体设置里有显示.把&qu ...
- Java Swing 无法显示韩文日文,或者显示方块,需要使用Noto字体
Java Swing 的文本框无法显示韩文,或者显示不方块,原因是字体原因,JDK默认字体在 \jre\lib\fonts 下: 字体下载:NotoSansCJKtc_ttf.zip 下面代码是加载字 ...
- html显示不出韩文,Java Swing 无法显示韩文日文,或者显示方块,需要使用Noto字体...
Java Swing 的文本框无法显示韩文,或者显示不方块,原因是字体原因,JDK默认字体在\jre\lib\fonts下: 下面代码是加载字体对象: public class MStyle { pr ...
- 解决XP下使用雅黑字体韩文无法显示的问题
平时使用很多模拟Vista的美化软件,这些软件能够把系统字体由宋体变成雅黑--很漂亮的字体,但问题也随之而来,个別字符,特别是韩文,在系统中显示为方框,换回宋体又可以显示,那么问题出在雅黑,雅黑字体本 ...
- 让 sphinx 支持中文、日文和韩文
在国内搜索 sphinx 的话找到的资源好像都是挺久远的,无奈之下只好跑到国外去找了.听起来有点不可思议,但是最近整 sphinx 的时候突然想到 mediawiki 官方有 sphinx 的安装介绍 ...
- guacamole SSH、TELNET建议配置中文无衬线等宽字体Noto Sans Mono CJK SC
LINUX默认zh_CN.utf8 时英文大小不一,可以通过改为en_US.utf8使字体正常 localectl set-locale LANG=en_US.utf8 guacamole SSH.T ...
- ubuntu中文和韩文共存,韩文字体显示不清楚
我肯定这个问题一定是一个非常小众的问题,你想想同时在英文的ubuntu上装中文和韩文的语言的人能有几个人?我估计全世界应该不会超过10个人吧,偏偏我就是其中的一个人. 主要问题就是firefox中韩国 ...
- 庖丁解牛分词器增加对日文,韩文分词的支持
项目中发现采用庖丁解牛分词器对含有日文的文字都被过滤掉,所以发了一封邮件给qieqie前辈. qieqie前辈的回复: 在paoding中,中文.日文.韩文成为CJK,使用的是CJKKnife来切词: ...
最新文章
- 计算机应用基础形考模版4,计算机应用基础 形考 任务四
- JavaScript——易班优课YOOC课群在线测试自动答题解决方案(九)ID标签
- Machine Learning Yearning book draft - 读记(前14章)
- Spring 提供哪些配置形式?
- C语言之sprintf使用总结
- SpringBoot整合Redis 主从复制_02
- BugkuCTF-Crypto题把猪困在猪圈里
- alert 乱码(转 学习)
- python 100题_python 100题
- cas云计算机管理平台添加加密锁,CAS云计算管理平台安装手册.docx
- 面向 Java 开发人员的 db4o 指南: 简介和概览
- steam无法连接至计算机,详解无法连接至steam网络怎么办
- 太极图计算机,如何使用CAD快速画一个太极图?
- padavan解决没有u盘不能安装nginx问题
- (震撼实拍)垃圾场里发奋学习的兄妹俩
- 蓝桥杯刷题013——小猪存钱罐(并查集)
- 测试项目团队角色岗位职责
- linux文档内容的查阅,文件内容查阅 - 一步一步学 Linux - UDN开源文档
- 钉钉视频会议中的屏幕共享
- str.indexOf()的用法