|
原来我写过一个中文ROM机器更换字体的教程,但这次为96DPI寻找最佳字体的时候发现其实根本不需要这么繁琐
f: u2 z: W8 d) {& m
8 q- @$ z3 {; m( t4 a我们先来看初始的字体注册表
5 h' N$ ~8 f( t+ P/ L" j" a* _8 q& m7 ?7 C( ]- o; w* C( S) C0 S
[HKEY_LOCAL_MACHINE\Software\Microsoft\FontLink\SystemLink]) [/ @: q( u1 k' ]- z5 g
"Courier New"="\\Windows\\sunfon.ac3,SC_Song"6 s. g, y1 {# \. }- }& o
"Nina"="\\Windows\\sunfon.ac3,SC_Song"1 R1 A' k9 a7 c9 s# \8 s6 v
"SC_Song"="\\Windows\\nina.ttf,Nina"- k# W1 ? Q3 ]. n8 f
宋体"="\\Windows\\nina.ttf,Nina"8 |2 ]" d, w. n; h- @) L" T( S
' m( Q% L. Q4 G4 X" O8 d; g中文ROM机器里真正的字体文件就三个,一个是中文的宋体 sunfon.ac3,一个是英文字体 nina.ttf,另一个是Nina对应的粗体" i2 R3 s8 Q4 y3 n$ i$ H3 r
# g8 \5 K& b2 @0 _1 C有一个很有意思的情况就是:初始注册表中各处关于使用中文字体的指定上,没有一个是指向宋体文件的,都是指定到 Courier New 和 Nina上,这样我们再来看这个初始注册表就简单了,只要命名这两项等于新的字体,其他的都指向Nina,不就OK了吗,实际测试下来确实如此,以后换字体就简单了。
/ D& d0 Z/ p8 y) p9 u! `, X+ u8 X% e, p5 V; `0 `4 F
以雅黑为例(假设雅黑字体为MSYH.TTF ,真实的名字为微软雅黑,复制到WINDOWS目录)那我们更换字体只需要这样写就行了,其他各处的注册表都不需要改了" G3 Y" X6 m% [& V+ \
) r, P0 u4 U' Y, X"Courier New"="\Windows\MSYH.TTF,微软雅黑"
3 }2 W, X' P2 B1 ?( N# L" O0 ]. g- a$ b"Nina"="\Windows\MSYH.TTF,微软雅黑"
: g5 x: |9 \0 p"微软雅黑"="\Windows\nina.ttf.Nina"
* } u& Y8 O- x+ ]9 a) z8 ~. [& ?7 a6 Z; D7 t; R# D' M7 ~
这里要注意手动修改是 \ ,REG文件导入要写成 \\,不过这么简单的修改大家还是手动吧,呵呵。
7 o I: }# l8 ]) N* h& |/ |+ T' N. N x
PS:安装过其他字体包的朋友,其他各处注册表的指向可能已经被改了,这个修改是建立在初始注册表上,其实机器本身的定义是很合理的,哎,当初弄繁琐了。
- ~4 _- X, _, c" p2 n9 t) B8 x `' m4 D0 I: D/ n/ a( Z
[ 本帖最后由 LiuHaiTao 于 2009-3-21 09:30 编辑 ] |
|