c#

位置:IT落伍者 >> c# >> 浏览文章

.Net Micro Framework中汉字


发布日期:2020年04月04日
 
.Net Micro Framework中汉字

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

)thiswidth=; height=>

.扩展汉字文件

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

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

A使用fontcreator 工具打开选定的中文字体微软雅黑

B选择菜单中Format选择Naming出现如下图

image onmousewheel=javascript:return big(this) border= alt=选择菜单中Format选择Naming src=http://imgeducitycn/img_///jpg width= onload=javascript:if(thiswidth>)thiswidth=; height=>

Platform中选择Microsoft unicode BMP onlyLanguage中选择ChinesePRC

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

C在上面的界面中在Language选择Englishunited states出现如下图

image onmousewheel=javascript:return big(this) border= alt=Language选择Englishunited states src=http://imgeducitycn/img_///jpg width= onload=javascript:if(thiswidth>)thiswidth=; height=>

同时注意其中的Include font family nameInclude unique font identifierInclude full font name选项这些选项都包含了Microsoft YaHei的字样

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

image onmousewheel=javascript:return big(this) border= alt=Microsoft YaHei字样内容复制 src=http://imgeducitycn/img_///jpg width= onload=javascript:if(thiswidth>)thiswidth=; height=>

修改后按ok并保存该字体

E同时修改fntdef 中的内容

◆AddFontToProcess C:SampleFontsf

◆SelectFont WE:FN:Microsoft YaHei

◆#import upper case letters

◆ImportRange

◆ImportRange

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

image onmousewheel=javascript:return big(this) border= alt=Tfconvert工具进行转换时不会出现的错误 src=http://imgeducitycn/img_///jpg width= onload=javascript:if(thiswidth>)thiswidth=; height=>

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

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

image onmousewheel=javascript:return big(this) border= alt=处理后的华文行楷字体 src=http://imgeducitycn/img_///jpg width= onload=javascript:if(thiswidth>)thiswidth=; height=>

上一篇:C#中启动另一个程序的实现方法

下一篇:C#调用ICTCLAS30