解决Opera和Safari下难看的中文显示问题

标签:CSS

昨天闲得无聊测试了下各种字体的显示效果,今天看到一篇《Mac 和 Windows 的中文字体显示效果》,才想起这玩意还和操作系统有关。

其实玩Mac和iPhone时都觉得中文很好看的,同样的字体弄到Windows下就大打折扣了。Android的字体也是这样,所以问题肯定还是Windows惹的。
而且关键是我用的还是英文版的Windows,缺省的中文字体虽然是宋体,但有的浏览器很傻(例如Opera),会把简体中文当成日文和繁体中文,而用新细明体(PMingLiu)来显示。
更扯淡的是直接设置font-family为"新细明体"或PMingLiu都正常,显示效果和宋体一样。但是当浏览器匹配失败,而使用缺省的"新细明体"时,它的表现却类似于“新細明體”;于是这些文字看上去就像异体(或繁体),而简体字独有的汉字则显示成其他字体,结果导致文字参差不齐,看上去非常糟糕。
最扯淡的是Opera这种糟糕的浏览器还不遵循font-family的规则,匹配字体时,如果英文字体写在前面且在系统里找到该字体,就会无视后面的字体,于是显示中文时就会用缺省的新细明体了。

用Google Chart API生成QR码

标签:Google

逛Google Code下载文件时总会遇到QR码,今天好奇地看了下网址,发现是Google Chart生成的。

其实也不用看什么文档,Google本身就提供了一个生成网站

用空格还是制表符缩进有什么好争的?

标签:Python

今天看到V2EX有人在争Python源码应该用空格还是tab,不想进去插话,于是写在这里吧…

就我本人而言,我是习惯tab的,原因很简单,几乎所有的程序语言都推荐使用tab来缩进。
单独使用Python还没什么,但如果混合其他语言的话,就会觉得别扭了。
举个最简单的例子:在使用Python模板时,Python、HTML和JavaScript代码是混合在一起的,后者我都是用tab来缩进,我不可能单独在写其中的Python代码时敲几下空格。

StringIO就是个悲剧

标签:Python

由于发现list.append()方法很慢,于是去测试了一下,顺便也弄上了StringIO,结果发现StringIO的性能太差了,还不如字符串相加。


测试取的是一个200多行50多k的网页,每次加一行来测试速度,代码如下:

“Entity 'nbsp' not defined”的解决办法

标签:HTML

今天在测试博客的wap页面时,突然遇到了解析失败的错误提示:Entity 'nbsp' not defined。

于是我就纳闷了, 不是空格么,怎么这个玩意也没定义?在网上搜了下,发现了一篇《Webkit: Entity ‘nbsp’ not defined – Convert HTML entities to XML》,里面提到了 是HTML实体,但XHTML用的是XML规则,它只定义了&、>和<这3个命名实体。
因此正确地方法是使用Unicode character code,也就是 。其他的字符转换可以看该文列出的表格。

此外,HTML也是有 的,因此直接把 改成 不会有兼容性问题。

在GAE上用Google日历API发短信

标签:Google App Engine, Google Calendar, Python

2年前就发现Google日历可以免费发提醒短信,最近在做Doodle时也想拿GAE来调用GData API发短信,于是就去研究了一下文档:
《在 App Engine 上使用 Google 数据 API》
《Authentication in the Google Data Protocol》
《AuthSub in the Google Data Protocol Client Libraries》

简单来说,要用Google Data API分为2步:验证和访问资源。

« 看看还有什么好玩意