Microsoft  CSIP   WindowsMobile   MEDC   合作伙伴   体验中心 设为首页 加到收藏夹

 
登录       点击换一张     注册新用户 找回密码

.Net Micro Framework研究—中文显示
2008年04月18日02:39   编辑:yefan 来源: J2ME开发网 浏览: 455

                                                           Net Micro Framework研究—中文显示
作者:yefan    文章来源:yefan    点击数:321    更新时间:2007-12-8
 
          微软示例程序中,仅支持两种字体(small.tinyfnt和NinaB.tinyfnt),并不支持中文。
 
 翁祖泉老师在《如何在Microsoft .NET Micro Framework 的应用程序中添加中文字体?》的文章   中,写了如何添加字体的方法,正如他文章所写,这是一篇介绍在.NET Micro Framework 应用程序中使用中文字体的初级入门文章。所以我觉得有必要再深入研究一下。上篇文章的链接:http://www.winbile.net/Detail.aspx?D=260,1118125,855,127 在看我的文章之前,一定先看看这篇文章,我写的内容只是这篇文章的一个补充。 

MF平台支持的字体是专有格式,扩展名为tinyfnt,需要用专门的转化工具才能把windows平台上的字体转换为tinyfnt字体。

转换工具在MF SDK开发包中就有,安装后的位置为:C:\Program Files\Microsoft .NET Micro Framework\v2.0.3036\Tools\TFConvert.exe

要转换字体,需要三个条件:第一,转换工具,这个我们已经有了;第二,中文字库,直接在C:\WINDOWS\Fonts目录中选一个你需要转换的字体即可;第三,转换用的配置文件(扩展名为fntdef的文件),这个比较麻烦,我着重说一下。

配置文件中常用的命令如下:

1、AddFontToProcess 

格式:AddFontToProcess path

说明:填写中文字库的路径信息(字库源的路径,需要输入绝对路径),如果路径里有空格,一定用引号括起来,如示例所示:

AddFontToProcess C:\Windows\Fonts\Miramo.ttf
AddFontToProcess "C:\\Program Files\\Microsoft .NET Micro Framework\\v2.0.3036\\Tools\\Fonts\\TrueType\\Miramo.ttf"
    2、SelectFont
格式:SelectFont "selectionstring"

说明:参数比较多,常用的就下面几个,余下的请看msdn的相关文章。

WE(Weight)字体的厚重度,0~1000,标准的是400,粗体为700

FN(Face Name) 字体名称,如果包含空格,要用引号括起来

HE(Height)字体大小(实际测试范围1~36)

WI(Width)字体宽度(实际测试范围1~12)

IT(Italic)设置字体的倾斜角度

UN(Underline)设置字体下面的下划线

注意这个命令是Select Font,也就是说,从字库源中选择出指定参数的字体,.Net Mirco Framework与.Net精简框架集和.Net框架集不同,它的字体的大小、加粗、斜体等等参数不能在程序中任意改变,你导出的是什么样的字体,那就是什么字体,不能改变,一出生就决定命运。例如你对同一个字符串显示不同的大小,那么对应每一个大小,都需要你导出一个字体库。
3、ImportRange
格式:ImportRange start end

说明:这个比较重要,是指从字库中导出字体的起始和结束位置,可以多个命令连用。

 

详细的介绍在msdn上有相关说明(很可惜是英文的):ms-help://MS.VSCC.v80/MS.VSIPCC.v80/MSVS.PSDK/PSDK/PSDK_TF_Fntdef.htm

 

配置文件内容示例:

AddFontToProcess C:\SampleFonts\MSYH.ttf 
SelectFont "WE:400,FN:宋体" 
ImportRange 19968 40869 

 

注意上面的示例文件仅导出了常用的汉字,如果你用该字体显示中英文混合的字符串,你会发现其它字体全部
12末页下一页

发表评论
评论标题 :
评论内容 :

    查看评论

请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。 本站拥有管理笔名和留言的一切权利。
相关文章推荐
· .NET Micro Framework初体验 2007-11-1  aawolf
· 无线传感器网络标准之争—ZigBee与Z-Wave比较分析 2007-11-1  
· MEDC 2006经典回顾:超强.net相扑机器人大战 2007-11-1  glacier
· .Net Micro Framework研究—IO读写 2007-11-1  叶帆工作室
· .Net Micro Framework研究—串口操作 2007-11-1  叶帆工作室

  

论坛推荐  
热点活动
更多»

© CSIP 信息产业部软件与集成电路促进中心 All Rights Reserved 版权所有 京ICP备06020771号
联系电话:010-63951881-8003 王先生        邮件:wangj@csip.org.cn