IT log

moral & concision is my dream.

Archive for April 29th, 2009

Vista Chinese Font Fix

自从我安装Vista英语包失败后, 部分软件包括招商银行网上银行专业版/PSPad/Evernote 中文总是不显示, 后面两个软件还可以通过更改其他中文字体来解决问题, 招行网银让人很头疼, 咨询了他们客服也没好的办法.

中文显示成方块或不显示还存在系统的其他几个地方, 导致既没有英文也不显示中文, 这种现象持续了一个月还是两个月? 中间在百度上找了很多方法都没有效果, 但昨天我用google 查找 vista font fix 竟然让我很容易的找到了解决方法, 看了我对百度太依赖性导致问题. 但我也为难, 由于GFW时常对google.com内容进行过滤且禁用了cached, 导致google搜索不稳定和使我看不到以前的缓存页面, 要把google作为默认搜索的确困难不小.

只需要下载一个注册表文件运行后重启计算机就可以恢复中文字体了, 该注册表文件内容如下:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
“MS Shell Dlg 2″=”Segoe UI”
“MS Shell Dlg”=”Segoe UI”
“Helv”=”Segoe UI”
“MS Sans Serif 8,10,12,14,18,24″=”Segoe UI”
“MS Serif 8,10,12,14,18,24″=”Segoe UI”
“MS Sans Serif”=”Segoe UI”
“System”=”Segoe UI”
“Microsoft Sans Serif”=”Segoe UI”
“Tahoma”=”Segoe UI”
“MS Serif”=”Segoe UI”
“Times New Roman”=”Segoe UI”
“Times”=”Segoe UI”
“Small Fonts”=”Segoe UI”
“Tms Rmn”=”Segoe UI”
“Arial”=”Segoe UI”

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts]
“Arial (TrueType)”=”segoeui.ttf”
“Arial Italic (TrueType)”=”segoeuii.ttf”
“Arial Bold (TrueType)”=”segoeuib.ttf”
“Arial Bold Italic (TrueType)”=”segoeuiz.ttf”
“Times New Roman (TrueType)”=”segoeui.ttf”
“Times New Roman Italic (TrueType)”=”segoeuii.ttf”
“Times New Roman Bold (TrueType)”=”segoeuib.ttf”
“Times New Roman Bold Italic (TrueType)”=”segoeuiz.ttf”
“Tahoma (TrueType)”=”segoeui.ttf”
“Tahoma Bold (TrueType)”=”segoeuib.ttf”
“Microsoft Sans Serif (TrueType)”=”segoeui.ttf”
“MS Sans Serif 8,10,12,14,18,24 (VGA res)”=”segoeui.ttf”
“MS Serif 8,10,12,14,18,24 (VGA res)”=”segoeui.ttf”

[HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\Shell\MuiCache]
“@themeui.dll,-2037″=”{Segoe UI, 8 pt}”
“@themeui.dll,-2038″=”{Segoe UI, 8 pt}”
“@themeui.dll,-2039″=”{Segoe UI, 8 pt}”
“@themeui.dll,-2040″=”{Segoe UI, 8 pt}”
“@themeui.dll,-2041″=”{Segoe UI, 8 pt}”
“@themeui.dll,-2042″=”{Segoe UI, 8 pt}”

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontMapper\FamilyDefaults]
“Swiss”=”Segoe UI”
“Roman”=”Segoe UI”

之中我没有看到 “宋体”,”Simsun”,”微软雅黑”,”Microsoft YaHei”等中文字体名, 以为这只能修复英文vista字体问题, 又是一次失望,但没想到等我回到宿舍重启系统后发现中文恢复了! 虽然我知道大部分注册表信息修改后才能生效, 但因为考虑到注册表中没有提到任何中文字体名, 所以当时没有立即重启.

这次经历让我想了解一下 Segoe UI 到底在 Vista中扮演什么角色, 查询资料后知道:

Segoe UI是一款西文无衬线体,和Tahoma一样仍然是一款不等宽字体
关于Segoe UI字体和Frutiger字体家族的相似性一直存在争论。Frutiger是德国Linotype公司的产品。在2004年,微软把一些Segoe 和Segoe斜体字体作为其自创字体设计在欧盟进行商标和设计室注册。Linotype公司对此表示抗议,2006年2月, 欧盟了撤销了微软的注册.
实际上,Segoe体的很多字符的确和Frutiger非常相似,但是相似性还不及其他“类Frutiger字体”,如Adobe公司的米利亚德体和苹果公司的Podium Sans。

在Windows Vista中,雅黑字体、Segoe UI字体和宋体共同使用,但是Segoe UI经常被忽略;Segoe UI是个英文字体,它提供了系统所有的英文显示,在Vista中Segoe UI和雅黑被注册表紧密地联结起来。Segoe UI本身就和微软雅黑是连接在一起的。
所有的字体设置中均设置为”Segoe UI“,中文就可以自动变为微软雅黑,而英文则使用漂亮的Segoe UI。

注意:请不要滥用 宋体 simsun , 微软雅黑 Microsoft Yahei, 等等各种windows中文字体, 这些字体微软都是有版权的!!!
虽然我一直坚持使用麻烦的Vista正版OEM系统, 但我不确定我个人是否已经得到把这拷贝到仅限我个人使用的linux系统上的授权. 所以我宁愿以后在 linux 下使用其他中文字体, 并将为兼容linux改变我的css中设定的默认字体.

这个网址有很全的各种开源中文字体的介绍: http://wiki.debian.org.hk/w/Where_can_I_find_fonts_for_GNU/Linux

Tags: , ,
posted by Leon Tsang in Live - Work and Struggle and have No Comments

Study Diary: Development Framework

最近几天看到一系列开发框架从CSS, Ajax, 最后到PHP. 但开发框架是什么东西呢, 在我看了就是把我需要用到的各种功能样式封装后的一系列对象和函数, 而且对象功能在不断改进, 解决了自己个人书写的 dirty code, 最主要的是可以节约自己的很多时间.

CSS框架中给我印象最深并收藏其网址的是 blueprint 960 Grid System , 前者是专为打印优化布局的适合商业开发, 后者简洁大方适合企业网站.

Ajax一直给我一种很复杂可怕的感觉, 但自从看了这两个网站后才觉得这也许是我需要的, Ajax Daddy and Dynamic Drive , 这两个网站完全从实例出发, 我应用时只要下载相关的文件就行了, 没必要使用整个框架和看框架中的开发文档.

PHP开发框架中一般都集成了成熟的CSS, Ajax框架, 再加上自己的PHP功能, PHP框架实在不少, 但贪多嚼不烂, 我这里只推荐三个 PHPOpenBiz, CakePHP, Zend Framework,  第一个是最为商业应用而优化开发的, 我所说的商业应用是根据 bussiness翻译的, 实际意思主要是面对企业办公自动化, 更加专业; 第二个是由于我看到不少国内外优秀的Web 2.0是采用的这种框架是三者间最流行的; 第三种有Zend支持发展很快, 潜力大, 但我还没发现有什么突出功能, 初学者可以先拿来练手.

还有一个不能不提的是国人开发的 PHPRPC, 它几乎支持市面上所有的编程语言, 本来我是准备用来代替Ajax的, 但现在有了PHPOpenBiz 这个似乎更好的选择, 当然如果开发框架不能满足我传递参数的要求的话, 我还是会使用PHPRPC的, 因为它的兼容性和执行效率据说非常好.

posted by Leon Tsang in Default - News and Truth and have No Comments