
2007-9-24 22:10
Maotou1999
S60 V3中同时显示多种字体完美解决方案(原创)
[size=5][color=red][font=黑体]经过几天的对FontRouterLT驱动程序相关文档的研读,终于实现了S60V3系统中不同字体的同时显示,根据国际惯例,先上效果图以及相关的数据文件,下面再做说明。[/font][/color][/size]
[attach]1119687[/attach][attach]1119688[/attach][attach]1119691[/attach]
[attach]1119689[/attach][attach]1119690[/attach][attach]1119692[/attach]
[size=5][font=黑体][color=red]FontRouterLT 驱动程序以及配置文件FontRouter.ini[/color][/font][/size]
[attach]1119693[/attach]
[size=5][font=黑体][color=red]雅黑字体文件[/color][/font][/size]
[b][img]http://bbs.dospy.com/images/attachicons/rar.gif[/img] [/b][url=http://bbs.dospy.com/attachment.php?aid=1012002][b]微软雅黑(简繁).part1.rar[/b][/url][b] (2 MB)
[img]http://bbs.dospy.com/images/attachicons/rar.gif[/img] [/b][url=http://bbs.dospy.com/attachment.php?aid=1012003][b]微软雅黑(简繁).part2.rar[/b][/url][b] (1.33 MB)
[/b]
[size=5][font=黑体][color=red]古印字体文件[/color][/font][/size]
[attach]1119694[/attach]
[attach]1119695[/attach]
[font=黑体][size=5][color=#ff0000]静妙主题文件[/color][/size][/font]
[attach]1324301[/attach]
[color=red][font=黑体][size=5]关于字体文件,包括少女字、雅黑、隶书、幼圆、魏碑、硬笔行书和小篆字等体,大部分都包括Nokia的特殊字符,本人另有一帖,参见[url=http://bbs.dospy.com/thread-614529-1-1.html]诺基亚6120 Classic中可用的字体文件[/url][/size][/font][/color]
[[i] 本帖最后由 Maotou1999 于 2007-11-20 21:53 编辑 [/i]]
2007-9-24 22:10
Maotou1999
[size=5][/size]一直以来对S60系统的字体不感冒,针对“静妙主题”配了一套古印字体,但是简繁体全字符集的文件大概10多兆,实在是太大了,无法装在C盘上,无奈之下,只好精简一个GB版,大概有5M多,还是可以装在C:盘上,但这样很多繁体字符(在人名中经常出现会繁体字符集的字符)无法显示,于是萌生了将字库分成两部分,简体字符集放在手机内存中,而繁体字符集放在卡上,因为FontRouterLT字体驱动只是在显示的时候才调用字体文件,平时只用简体字符集,只是偶尔调用繁体字符集的文件,这样可以保证日常的应用,不过FontRouterLT目前不支持根据字体编码自动选择字体文件,没有实现,倒是发现FontRouterLT早已支持对多种字体文件加载和显示,只是oasisfeng(FontRouterLT驱动的开发者)没有公布相关的信息,根据本人的测试,将有关内容分析如下:
oasisfeng在《【教程】如何从任意位置加载字体文件》一文中透露了FontRouter.ini初始化设置文件中一些没有说明的内容,只要FontRouter.ini中的[Global]段中增加类似[quote]ExtraFontFile=C:\Data\Fonts\MSYH.TTF[/quote]的设置选项,就可以随意设置字体文件的位置。
关于ExtraFontFile和AlterFontFile设置选项是FontRouterLT的早期版本FontRouter 2驱动中的功能选项,oasisfeng在发布FontRouterLT时声明不支持该项选择,【教程】透露实际ExtraFontFile的功能早已实现,在FontRouter LT for Symbian 9 Beta (Build 20070516)的版本说明文件可以找到如下内容
[quote]· 废除“AlterFontFile”参数,请用“ExtraFontFile”代替。 [/quote]
这表明 ExtraFontFile和AlterFontFile的功能合二为一,只是没有特别说明,在早期的FontRouter驱动版本的说明中, ExtraFontFile和AlterFontFile的功能为
[quote]ExtraFontFile=包含绝对路径的字体文件
例如ExtraFontFile=E:\System\Temp\fzlb_gbk.ttf。这个语句可以把不在FONTS文件夹的字体文件加载进来用于调用。
AlterFontFile=包含绝对路径的字体文件
注:当从外部加载的字体文件多余1个时,可以使用这个语句,作用同ExtraFontFile语句。
[/quote]
ExtraFontFile和AlterFontFile的功能合二为一意味着ExtraFontFile可以同时加载外部多个字体文件,于是在FontRouter.ini中[Global]段加入两行
[quote];微软雅黑是全字符集合,放在卡上的e:\Data\Fonts\MicrosoftYaHei.ttf
ExtraFontFile=e:\Data\Fonts\MicrosoftYaHei.ttf
;古印体是GB字符集合,放在手机上的c:\Data\Fonts\NokiaFontGuYinGB.ttf
ExtraFontFile=c:\Data\Fonts\NokiaFontGuYinGB.ttf
[/quote]
在TmeBar的字体选择栏目中可以清楚地看到两个字体文件全都加载成功,通过选择不同的字体实现对两种字体调用显示TmeBar的时间内容,表明S60V3系统中,两个字体可以同时使用。
[attach]1119950[/attach]
成功多个加载字体以后,下面的问题只是根据需要设置不同显示的字体,方法是通过设置FontRouter.ini的字体映射表实现,根据本人在N6120C的测试,S60V3系统中显示内容的字号是固定的,结果如下
[quote]7号字,对应录入时的待选字序号
16号字,桌面图标菜单
18号字,日历数字,待机日期,字典查询,小号字
20号字,待机画面左右软键(如记事本、名片夹),中号字,包括设置项,也包括录入的待选字
23号字,大号字
24号字,待机画面"中国移动"、窗口大标题字体
46号字,拨号号码[/quote]
所以在FontRouter.ini文件[FontMap]段增加如下内容
[quote]
;隐含字体设为微软雅黑
Sans MT 936_S60=Microsoft YaHei:A
;7号字,对应录入时的待选字序号
;16号字,桌面图标菜单
Sans MT 936_S60@16=Nokia Font GuYin@16:A
;18号字,日历数字,待机日期,字典查询,小号字
;20号字,待机画面左右软键(如记事本、名片夹),中号字,包括设置项,也包括录入的待选字
Sans MT 936_S60@20=Nokia Font GuYin@20:A
;23号字 大号字
;Sans MT 936_S60@23=Nokia Font GuYin@23:A
;24号字 待机画面"中国移动"、窗口大标题字体
Sans MT 936_S60@24=Nokia Font GuYin@24:A
;46号字 拨号号码
Sans MT 936_S60@46=Series 60 ZDigi@36:A
[/quote]
显示目标只要求某些特殊的内容用古印体显示,其他都用隐含的微软雅黑显示,最后一行设置拨号数字为系统自带的数码字体。
根据以上说明,就可以实现不同字体的同时使用,具体详见FontRouter驱动压缩包中的FontRouter.ini文件。
[color=red][size=5]安装说明:
1、微软雅黑字体文件放在卡上的e:\Data\Fonts\MicrosoftYaHei.ttf位置
2、古印GB字体文件放在手机上的c:\Data\Fonts\NokiaFontGuYinGB.ttf位置
3、字体驱动(619端午版)仍然安装在卡上,用FontRouter驱动压缩包中的FontRouter.ini文件覆盖卡中E盘根目录的FontRouter.ini文件,(字体驱动能否安装在手机上,因为不想格机,不愿冒险,所以没有测试。)
4、重新启动手机
---------------------2007,11,16更新--------------------[/size][/color]
[color=red][size=5][/size][/color]
[color=red][size=5]字体驱动已经更新为1109版的驱动程序,FontRouter.ini文件在E:\Data\Fonts\目录中,用本帖中的FontRouter.ini文件覆盖E:\Data\Fonts\FontRouter.ini就可以了,如果驱动程序安装在C:盘,只要替换C:\Data\Fonts\FontRouter.ini就可以了,有关内容详见[/size][/color]
[color=red][size=5][url=http://bbs.dospy.com/thread-839728-1-1.html][color=black]FontRouter LT字体驱动程序(2007.11.09版)更新发布 [/color][/url]
[/size][/color][color=red][size=5]---------------------2007,10,16更新(End)--------------------[/size][/color]
[color=red][size=5][/size][/color]
[color=red][size=5]目前测试只限于N6120C的手机,其他类型的手机是否可行,不得而知。理论上S60V3系统装载FontRouterLT字体驱动成功的手机都可以,我想最多是字体映射表的字号有所不同,各位可以根据自己的情况自行调整。[/size][/color]
[size=5][color=#ff0000][/color][/size]
[size=5]如果自己想改变字体,可以根据上文载入对应字体和配置字体映射表,应当注意的是载入字体配置采用的是字体文件的文件名,而字体映射配置采用的是字体文件的字体名,二者是不同的,文件名很容易确定,字体名需要特殊的软件查看,简单的方法可以先配置载入字体文件的条目,注释掉字体映射部分后,手机重启,用TimeBar软件(论坛里可以找到)就可以查看对应的字体名。
利用Y-工具箱也可以查询字体名
[/size]
[size=5][color=blue]在测试中发现,只要当前显示内容没有刷新放在卡中的字体(本测试中为雅黑字体),就可以保证USB的数据传输模式连接,USB数据模式联通以后,再打开原先使用卡中的字体显示的界面,有些字体自动变成了手机中安装的字体(古印),看来FontRouterLT驱动具有一定的缓存,只要缓存没有满,就不会去读盘中的字体文件,如果文件不存在了,会自动切换另外的字体,不会造成系统崩溃,算是意外收获吧,下面两张截图分别是待机状态插入USB数据线的反应结果和之后进入来电通的显示结果(可以与效果图中对应图片比较)。[/color][/size]
[attach]1119951[/attach] [attach]1120194[/attach]
[[i] 本帖最后由 Maotou1999 于 2007-11-16 09:13 编辑 [/i]]
2007-9-24 22:15
念想
支持,等着看教程
2007-9-24 22:32
『菲菲』
板凳看教程中[yct06]
2007-9-24 22:37
pilibaba
报道留用
2007-9-25 09:25
havefu
这才叫玩手机[s:26]
2007-9-25 10:19
xinjiaqi
好东东呀~谢谢楼猪
2007-9-25 10:20
Maotou1999
[quote]原帖由 [i]havefu[/i] 于 2007-9-25 09:25 发表 [url=http://bbs.dospy.com/redirect.php?goto=findpost&pid=8453152&ptid=687646][img]http://bbs.dospy.com/images/common/back.gif[/img][/url]
这才叫玩手机[s:26] [/quote]
版主评价好高,谢谢!
2007-9-25 14:55
sky_36011496
好强!!!!!!
2007-9-25 23:01
8770375
好帖。。。。这才是技术帖。。。。赞一个
2007-9-25 23:45
pilibaba
报道留用
2007-9-26 13:30
8980808
顶了!!!!!!!!!!!!!!
2007-9-26 19:12
hawcupid
谢谢分享[s:23] [s:23] [s:23]
2007-9-26 22:58
aioros1207
能看懂的朋友,可以去学易筋经了~~~
2007-9-26 23:15
Chillbon
好东西啊
但是 上次装了雅黑字体后 手机莫名其妙的常常死机
唉
2007-9-27 00:01
hapyer
N76可以用么?
2007-9-27 11:20
qinghappy
好东西,怎么我的非直装版的字体改不了?
2007-9-27 13:01
炫舞一葉
学习一下,谢谢楼主!
2007-9-27 14:21
yanyl
我是新手。学习啦。
2007-9-27 21:13
羽毛伦次
强人啊!!
支持了~
2007-10-2 08:37
zykarl
发现zdigi里面好象没有#,会变成方块
2007-10-2 11:19
ling_yc
啊哈~楼主高~
2007-10-2 12:39
ccforfun
专业就是不一样,嘿嘿
2007-10-2 15:12
lazybone24
请问设置多种字体时,
古印是 Nokia Font GuYin
那么华康少女体是 什么?
我想除了电子书之外全用少女体,该怎么设置?
字体名称该怎么看?
[[i] 本帖最后由 lazybone24 于 2007-10-2 15:16 编辑 [/i]]
2007-10-2 15:41
悠然见南山
有点乱,不明白[s:21] [s:21] ,本人认为有一种字体就OK了
2007-10-2 21:27
nokia0210
顶
[s:26] [s:26] [s:27] [s:25] [s:25] [s:25] [s:24] [s:24] [s:23] [s:23] 就是不怎么回用 RAR的文件我手机打不开
2007-10-2 21:28
nokia0210
有可以直接安装字体的方法没
我要顶顶顶
有的话QQ35959315教教我怎么玩[s:27] [s:27][yct16]
2007-10-2 21:29
nokia0210
有可以直接安装字体的方法没
我要顶顶顶
有的话QQ35959315教教我怎么玩[s:27] [s:27][yct16]
2007-10-2 22:36
ricolee371
强烈支持
2007-10-3 14:52
ivkeen
有人试过E70吗?
页:
[1]
2
3
4
5
6
7
8
9
10
Powered by Discuz! Archiver 5.5.0
© 2001-2006 Comsenz Inc.