资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

在.NetMicroFramework中显示汉字(下)

这篇文章给大家介绍在.Net Micro Framework中显示汉字(下),内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

为莱芜等地区用户提供了全套网页设计制作服务,及莱芜网站建设行业解决方案。主营业务为网站制作、做网站、莱芜网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

重新编译后,在模拟器中就能看到中文字体了,如下图:

在.Net Micro Framework中显示汉字(下)


5.扩展汉字文件

在前面的实验中,虽然正确的显示出了汉字,但是也许有人会问,为什么fntdef文件中FN会是“宋体”呢,不是华文行楷么?事实上,当你尝试把FN从宋体改为其他名称是,目前版本的TFConvert会在命令行中打印出一条错误信息:“Font cannot be found matching Selectfont descriptor Facename .Expected ‘??’,found ‘??’”。下面我们就来看看,如何解决这个问题,而达到正常显示所有中文字体的目的。

首先,我们需要使用fontcreator工具来修改中文字体的“font name” 该工具大家可以在网上下载,这里简单介绍下如何使用该工具来修改

A.使用fontcreator 工具打开选定的中文字体,如“微软雅黑”

B.选择菜单中“Format”,选择“Naming”出现如下图:

在.Net Micro Framework中显示汉字(下)


在“Platform”中选择“Microsoft unicode BMP only”,在“Language”中选择“Chinese-PRC”

注意其中的“Include font family name”、“Include unique font identifier” 和“Include full font name”选项,由于该fontcreator工具没有汉化,所有这些选项显示都是字符而不是具体的中文字体的名称

C.在上面的界面中在“Language”选择“English-united states”出现如下图:

在.Net Micro Framework中显示汉字(下)


同时注意其中的“Include font family name”、“Include unique font identifier” 和“Include full font name”选项,这些选项都包含了“Microsoft YaHei”的字样

D.开始修改:把C步骤中的“Microsoft YaHei”字样内容复制到B步骤中的相应选项中,如下图:

在.Net Micro Framework中显示汉字(下)


修改后按“ok”,并保存该字体。

E.同时修改.fntdef 中的内容:
◆AddFontToProcess C:"SampleFonts"MSYH.ttf
◆SelectFont "WE:400,FN:Microsoft YaHei"
◆#import upper case letters
◆ImportRange 32 126
◆ImportRange 19968 40869

这样你重新运行Tfconvert工具进行转换的时候就不会出现如下的错误提示:

在.Net Micro Framework中显示汉字(下)


说明:上面所修改的选项中的内容可以替换为MsYaHei ,或其他可以代表微软雅黑字体的英文名称都可以,同时你可以试着把这些选项的内容替换为“宋体”,这样你用Tfconvert进行转换的时候也不会出现错误提示。个人认为在.Net Micro Framework 的中文字体转换中目前只支持以中文“宋体”为face name(FN)的转换,其他像微软雅黑、华文细黑、幼圆为显示名称的中文字体,都要把名称修改为英文名称才能正常转换。

下图显示的是经过上述处理后的华文行楷字体:

在.Net Micro Framework中显示汉字(下)

关于在.Net Micro Framework中显示汉字(下)就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


本文标题:在.NetMicroFramework中显示汉字(下)
URL分享:http://www.cdkjz.cn/article/peipgc.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220