今天花了点时间折腾了一下iPad中iBooks的字体。
iPad上常用的ePub书籍阅读软件有iBooks和Stanza。后者可以自行设置字体及行距,因此折腾的主要目标是iBooks。在iBooks中阅读中文存在的几个问题包括:
- 默认字体太少,而且中文都是用STHeiti显示的;Mac OS X 10.6中出现的Hiragino Sans GB字体并没有随着iOS 4进入iPad,而这个STHeiti在很多细节上要粗糙不少;
- iBooks上没有提供行距调节的选项,使得汉字行距过密;
- 在相对较高的分辨率下,衬线字体(比如宋体,台湾和日本称为明体)阅读效果会比无衬线字体好很多。
首先我们需要选择一款合适的衬线字体,方正曾经推出过一系列质量较高的宋体字库,较新的例如方正博雅宋,风雅宋,雅宋,兰亭宋。但是兰亭宋主要是为报纸印刷设计的,比划均匀但对比度不强;博雅宋太扁,风雅颂太肥,雅宋更肥。于是把目光投向一些较老的字体,比如方正报宋,书宋,小标宋。
在平衡笔画均衡性和对比度之后,选择了方正书宋。这个字体的otf版本在细节上比原来的ttf版本好很多。
于是开工,首先把字体文件上传到/System/Library/Fonts/Cache下面,然后修改/System/Library/CGFontCache.plist,添加新字体。需要注意的是要填写字体原名(FZShusong-Z01),查看方法如下:
接下来需要修改/Users/Applications/[xxxxx]/iBooks.app/FontPresets-iPad.plist,注意不是FontPresets-iPhone.plist。由于最多只能有5个字体,因此我们需要取代原有字体。同时修改不同FontSize对应的lineHeight来调整行高。
最终效果如下(对比华文细黑字体):