IT log

moral & concision is my dream.

Archive for April, 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

browser loaded page very slower

至从我用了wordpress后, 这个博客的速度就无时不在折磨我.
之前很慢时导致我卸载了不少插件包括 wp super cache 0.9.4.2, All in One SEO Pack 1.4.9, Fancy Excerpt 2.9等.

现在又发现了一个原因, 而且我认为还可能是之前一直很慢的主要原因, 就是插件 Flickr Gallery 1.2.4 通过Flickr API调用图片如果不顺利可能导致网页加载超时且或部分内容无法显示, 但把图片存在 Flickr 上本身应该是一件优化博客网速的事情, 但现在被国内网速折磨成相反方向了, 虽然我可能通过通过文件名直接调用 flickr 上的图片, 但我无法确定这种随机生成的图片地址的有效期能有多长, 而且用这种地址来调用显然比不上用API来得方便快捷.

现在我顺便简单说一下我还在使用的 wordpress 插件:

Hyper Cache 2.2.4 我觉得比 wp super cache 更易用一些
Google XML Sitemaps 3.1.2
Google Analytics for WordPress 2.9.1
Flickr Gallery 1.2.4 Guide
WP-SpamFree Anti-Spam 2.0.0.5 用这个也是没办法的, 因为wordpress 的插件Akismet 由于 en.wordpress.com 现在被屏蔽了导致无法申请到 wordpress的api, 就算申请到了也会由于GFW而无法申请.不过其 自带的一个邮件发送表格挺好用的,就是要在 php.ini 中配置一下 mail function而已.

这也是我第一次配置php mail函数成功, 网上说的那些方法很多都不靠谱.

1.第一步网上说的没错, 就是在php.ini中修改 send_from的值为你自己发信地址.

2.剩下的注意事项才是最重要的, 涉及到域名 SPF(Sender Policy Framework) 配置. 如果像我一样把邮件服务器和网站服务器为了省钱同时架设在一台计算机上, 那就轻松方便多了, 再无需进行额外设置, 但大多数人估计没有这个条件, 而且也懒得去自己架设邮件服务器. 所以这时就需要学会设置 SPF 的ip4属性了,  设置方法网上很多这里就不再多言, 有兴趣的可以参考一下 foxmail 或 hotmail 或 gmail 的 SPF 参数, 这是foxmail的参数很有代表性 http://www.bevhost.com/cgi-bin/dnslookup?data=foxmail.com .

为啥要设置 SPF 呢, 经我发送多封邮件给gmail试验后总结, 如果不Google在接收邮件时会查询MX记录, 如果你的邮件不属于规定的MX地址它就会查询 SPF记录, 如果都不符合记录则连作为垃圾邮件的资格都没有, google邮件验证不仅验证域名记录, 还会对这个发件人是否真实存在进行验证, 所以随便写一个 send_from 邮件地址是不行的!

而且在探索 mail 函数解决方法的过程中, 我还发现了一个有意义的网站 http://network-tools.com/ , 这个网页上虽然其他查询功能可能有些普通, 但最大的亮点就是由一个 邮件验证 Email Verification 功能, 从这个功能中我了解到了验证方法的基本原理SMTP Session, 下面是以我的gmail邮件为例查询结果:

Validation results

canonical address: <leon@zuolo.info>

MX records

preference exchange IP address (if included)
10 aspmx.l.google.com [0.0.0.0]
20 alt1.aspmx.l.google.com [0.0.0.0]
20 alt2.aspmx.l.google.com [0.0.0.0]
30 aspmx5.googlemail.com [0.0.0.0]
30 aspmx3.googlemail.com [0.0.0.0]
30 aspmx4.googlemail.com [0.0.0.0]
30 aspmx2.googlemail.com [0.0.0.0]

SMTP session

[Resolving aspmx.l.google.com...]
[Contacting aspmx.l.google.com [209.85.217.17]...]
[Connected]
220 mx.google.com ESMTP 21si11697468gxk.6
EHLO Network-Tools.com
250-mx.google.com at your service, [67.222.132.194]
250-SIZE 35651584
250-8BITMIME
250-ENHANCEDSTATUSCODES
250 PIPELINING
VRFY leon
252 2.1.5 Send some mail, I'll try my best 21si11697468gxk.6
RSET
250 2.1.5 Flushed 21si11697468gxk.6
EXPN leon
502 5.5.1 Unimplemented command. 21si11697468gxk.6
RSET
250 2.1.5 Flushed 21si11697468gxk.6
MAIL FROM:<admin@Network-Tools.com>
250 2.1.0 OK 21si11697468gxk.6
RCPT TO:<leon@zuolo.info>
250 2.1.5 OK 21si11697468gxk.6
RSET
250 2.1.5 Flushed 21si11697468gxk.6
QUIT
221 2.0.0 closing connection 21si11697468gxk.6
[Connection closed]

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