jjgod / blog Random notes & thoughts by Jiang Jiang.

Archive for March 2009

Snow Leopard 在字体方面的变化

字体反锯齿选项不再允许选择 hinting 的程度 (以前可以选择 Medium, Light, etc.),现在似乎默认就是 Medium,不能改,很奇怪 (我个人习惯用 Light 的)。 原来 Mac OS 独有的 dfont 字体格式被抛弃了,改用 ttc (TrueType Collection) 格式替代。 uncia:~ jjgod$ ls /Library/Fonts/*.ttc /Library/Fonts/AmericanTypewriter.ttc /Library/Fonts/GillSans.ttc /Library/Fonts/Baskerville.ttc /Library/Fonts/HelveticaCY.ttc /Library/Fonts/Chalkboard.ttc /Library/Fonts/Hoefler Text.ttc /Library/Fonts/Cochin.ttc /Library/Fonts/MarkerFelt.ttc /Library/Fonts/Copperplate.ttc /Library/Fonts/Optima.ttc /Library/Fonts/Didot.ttc /Library/Fonts/Papyrus.ttc /Library/Fonts/Futura.ttc /Library/Fonts/STHeiti Medium.ttc uncia:~ jjgod$ ls /System/Library/Fonts/*.ttc /System/Library/Fonts/Courier.ttc /System/Library/Fonts/Menlo.ttc /System/Library/Fonts/Helvetica.ttc /System/Library/Fonts/STHeiti Light.ttc /System/Library/Fonts/HelveticaNeue.ttc /System/Library/Fonts/Times.ttc /System/Library/Fonts/LucidaGrande.ttc iPhone OS [...]

用来修正错误编码的文件名的 Safari 插件

我之前讨论过一次这种文件名的错误编码,为了在浏览器下载时的不必手工修正这个问题,这里提供一个 Safari 的 SIMBL 插件: SafariURLFix。 使用步骤如下: 如果没装过,先安装 SIMBL; 下载 SafariURLFix.zip,解压后,放到 ~/Library/Application Support/SIMBL/Plugins 目录 (如果没这个目录就自己创建); 在 Terminal 中输入: defaults write com.apple.Safari JJURLsToFix -dict newsmth.net GBK 其中 newsmth.net 为你希望应用修正的网站域名。也可以打开 ~/Library/Preferences/com.apple.Safari.plist 文件自己编辑 JJURLsToFix 这个 Dictionary,自行添加新的,见附图。 重新启动 Safari,尝试下载这样的文件,看看文件名是否被正确纠正了。 如果还有什么问题,欢迎在下面提出。

用 AppleScript 来辅助 Pages 排版

Pages 的混合语言排版功能一直为人诟病 (实际上 Pages 的多语言支持也一直很弱,甚至比不上 TextEdit),比如像组合字体 (combined font) 这样在排版软件中很常见的功能也迟迟没有提供,所以经常有人说用 Pages 排版中英文混合的文章是一种折磨。 昨天看到 Apple 版上的一篇文章,便想起来试试 Page ’09 新增的 AppleScript 功能,其实用到的功能在之前的 Pages 版本中应该也有,不过我手头没有更早的版本,所以无法试验了。可以点这里看完整的脚本,其实核心代码非常短: from appscript import * pages = app(id=”com.apple.iWork.Pages”) for doc in pages.documents(): words = doc.words() i = 0 for word in words: i += 1 if isch(word[0][0]): doc.words[i].font_name.set(“SimSun”) 这个脚本没有直接用 AppleScript,而是通过第三方提供的 py-appscript 接口来调用 (它的语法比 ScriptingBridge 要友好很多),作用是,扫描所有 [...]