互联网完蛋了,已经。

编者按:本文作者为霍炬,科技 blogger,连续创业者,技术爱好者,有一个公众帐号 “歪理邪说”(ID:wxieshuo)。

最近一年左右,不止一个著名人物谈起过现在的互联网已经完全错了这个看法。比如 www 的发明者 Tim Berners-Lee,或者 Twitter 创始人 Evan Williams,考虑到 www 几乎是人们使用互联网最重要的部分之一,Tim Berners-Lee 的看法是不应该忽视的。

但对于大多数人来说,首先要问的一个问题应该不是如何解决互联网错了这个问题,而是问 “到底哪错了?”。这不奇怪,大多数用户没留意过这个问题,毕竟,互联网这个词在过去这些年里面发生了太多变化,人们刚刚觉得有点不对劲,还没来得及真正感知到这种变化的意义,就来到了今天。而现在我们使用的互联网,和 10 多年前已经大不一样了。 Continue reading “互联网完蛋了,已经。”

英文單字片語不會用?除了萬用Google,再推薦5個達人必備「語料庫」

有時候光是看課本、講義、筆記、網路文章、武功祕笈等等, 仍然想知道道地的native speaker到底怎麼怎麼說/寫嗎?來學學使用語料庫吧!

語料庫到底是什麼?

語料庫的英文是corpus,意思是:”A collection of written or spoken material in machine-readable form, assembled for the purpose of linguistic research.”(書面、口語資料的集合,以電腦可辨識的方式呈現,供語言學研究使用),基本上就是由電腦彙整大量的文本(text)、實際的中、英文語料,供後續分析、檢索、對比等。

過去,字典的編篡或許是靠編者自行收集、造句,現在,幾乎所有的字典都強調以語料庫進行編篡,例句都是取材自真實的語料。如Cambridge、Oxford、 Macmillan等著名的字典。 語料庫對譯者來說是很重要的幫手,尤其在翻入第二語言(如中文到英語)時,語料庫能幫助譯者快速確定搭配字和用字精準度,用最自然、道地的英文來表達。

對一般英語學習者來說,當你已累積一定字彙量,文法也學得差不多時,就可以靠語料庫快速檢視該字在現實生活中的用法,利用語料的比例分析,找出最常使用的搭配語;在字典上看起來意思差不多的字(沒錯,就是那一大串同義字),在實際用法上往往也會有些許不同,這也可以透過語料庫整理差異。面對不好理解的文法,語料庫用大量資料證明給你看。 以下推薦5個超容易上手的語料庫:

Continue reading “英文單字片語不會用?除了萬用Google,再推薦5個達人必備「語料庫」”

如果,这就是大数据……

编者按:本文作者袁茵(@黑豆Yuanyin),《中国企业家》杂志互联网圈记者,微信公众号:heidouyy,或者直接搜索“黑豆”。

中国什么时候才能有自己的《纸牌屋》?或许已经为时不远了。印象中,离互联网很远的娱乐圈,已经开始利用大数据进行各种尝试了。

Continue reading “如果,这就是大数据……”

紧凑车智能化大步迈进,iOS in the Car 仍在路上

2

本田今天宣布,2014 款思域将搭载 Display Audio 系统,后者使用了一块 7 英寸触控大屏——允许用户进行捏合、滑动控制,类似智能手机的操控体验。

Display Audio 具备智能车载系统的标配功能,如接打电话、收发短信等。此外,该系统还扮演着全新 HondaLink 应用套件“第二屏”的角色。

Continue reading “紧凑车智能化大步迈进,iOS in the Car 仍在路上”

从心理学的角度来聊聊微博和微信

前些天阿里巴巴入股新浪微博的新闻以及相关评论不断的冲击着我的眼球,大家都在讨论阿里巴巴和新浪微博结合后对中国移动互联网大格局的影响和实际意义,一时间真是热闹非凡。 在这里也不再赘述大家都讨论过的观点,而是和大家探讨一下微信和微博之间的不同特色和运营现状以及从心理学的角度来分析和解释为什么会出现这种现状。

 

在刚看到阿里巴巴入股新浪微博的新闻时,我忽然想到一个问题,那就是我自己已经有多久没点开自己手机上的新浪微博应用了?和大多数普通用户一样,新 浪微博也曾经是我每天必开的一个手机应用,不管是发一些东西还是不停的看自己关注的人的刷屏,微博确实是一个很好的打发自己碎片化时间的工具。但当微信出 现后,不知不觉间,每天从打开微博看一看,开始变成一定要打开微信看一看;从希望自己的微博有评论,到开始只关注微信的朋友圈子是否有更新。而我也发现身 边朋友都在经历这种变化,包括曹国伟自己也承认,微信的崛起使新浪微博用户停留时间出现显著的下降。

为什么会出现这种情况?作为两个移动互联网时代出现的社交媒体类应用,微信和微博都具备着社交属性和媒体属性,我们不妨从这两大属性以及心理学的角度来分析一下:

一、社交属性

在 此,先和大家分享一段心理学中的理论。在著名精神分析学家弗洛伊德的理论中,他认为人类是生来就存在好奇心的,窥探他人隐私是人的天性,这源于童年时对自 己身世的追问和好奇,也是个人成长的需要。另外,人们也天生就有着希望获得别人关注的需求,个体的人生活在特定的群体中,需要通过不同的方式来体现自己在 这个群体中的地位,以满足被这个群体其他人关注的需要。同时,人们还有自我保护的需求,每个人都有属于自己所不愿为外人所知的隐私。为了不让自己的隐私暴 露而影响正常的生活,大家都会有意无意地在打探别人隐私的同时为自己设置一道防护栏。

随着互联网的发展,逐渐出现的各类社交网站和工具也正 好能迎合人们这好奇和渴望被更多人关注的心理需求。但显然人们这方面的需求往往也是无止境的。以iPhone为代表的各类智能手机在2010年开始在中国 中高收入人群中逐渐成为主流,人们在拥有智能手机后,突然发现自己在智能手机的帮助下多出了很多“碎片”化的时间。而新浪微博的及时出现,恰好也让大家从 手机上获得的多余的“碎片时间”有了一个很好的宣泄口。

在微信推出之前,新浪微博其实是被名人加熟人圈带动发展起来的。借名人推广的路子当 年新浪运营博客时就已经用的很纯熟了,不过微博和博客的不同之处在于140字的限制加上随时随地分享文字和图片的特性使得微博比博客能更轻易的融入我们的 生活,能让用户可以更充分的利用好碎片时间来进行更频繁更琐碎更贴近生活化的内容发布。如果说曾经广受欢迎的名人博客是让粉丝看客们每天都期待的长篇连载 专栏的话,那碎片化的微博则是打开了一扇通向名人生活乃至每日喜怒哀乐内心活动的小窗。在微博中我们能更轻易更频繁的获取关注的人的生活状态以及内心独 白,这正好能更好更方便的满足人们的窥探欲。

然而,对于大部分更在意社交需求的普通用户来说,在微博上发表任何内容,都是需要和朋友产生互 动才会觉得有意思的。也就是让自己的被关注欲能够得到满足。但如果自己发出的内容总是得不到别人的回应,那很快就会变成一个只获取信息而不产生内容的看 客。而除非自己是个很优秀很活跃的内容产生者,才能够不断吸引陌生人关注自己成为自己的粉丝。使用微博一段时间后,草根们会渐渐发现自己并不能吸引到很多 陌生人来关注自己,最后大家都只是在微博上发布一些生活状态类的信息,然后在和自己认识的朋友们做互动中获得乐趣。

在微信推出之后,由于微 信语音联络朋友的便捷和强需求性使得人们越来越频繁的使用微信。随着微信“朋友圈”的推出,人们也开始习惯使用“朋友圈”去发布与自己相关的各类内容,一 条内容同时发表在微博和微信当中,由于微信的使用频率更高,得到周边朋友们状态信息以及大家围绕这些内容产生的互动也就会比微博更快更方便,因此人们自然 而然的就会将本来都发表在微博上的内容逐渐转移到微信朋友圈当中,微博上那些更在意日常社交的用户的活跃度也就从微博转移到了微信上。

另外,由于微博的开放性,用户发布在微博上的内容很容易就能被所有有心人看到,因此基本上没有隐私性可言。而微信是基于“熟人圈”的社交工具,用户在“朋友圈”中发布的内容只有自己的微信好友才能看到,在这一点上微信也更能满足人们的自我保护心理。

二、媒体属性

这 里照例先分享一段心理学中的理论。同样在著名精神分析学家弗洛伊德的理论中,他对于人格结构进行分析时提出了“本我、自我、超我”的精神概念。其中“本 我”是浅意识形态下最原始、只追求满足本能冲动的欲望,例如生气、暴力、性欲等不良情绪。“自我”则代表理性和机智,它按照现实原则来行事,监督和抑制本 我,也能给予适当的满足。“超我”则代表道德、良心与自我理想。它由完美原则支配,以道德心为中心,维持个体道德感、回避禁忌。一般来说,人们心中的“本 我”和“超我”几乎是永远对立着的,而“自我”则永不疲倦的去根据现实规则去协调“本我”和“超我”之间的矛盾。这也就造成了“本我”一直被“自我”和 “超我”所压抑,例如人们总是不愿意承认自己有不被社会所容纳的不良想法和需求等。

在微博和微信中,都拥有明显的媒体属性。同时,只要用户愿意,人人都可以快捷的成为信息传播中一个节点。在这类新媒体平台的信息传播过程中,节点越多,信息传播速度越快,传播面也更广。

新 浪微博相比微信的优势就体现在信息传播的速度和广度上。在微博中,由于其开放的形态,一条包含热点事件的信息可以通过多个有影响力的大号发布以及互相爱特 (@)的方式很容易的展现在用户面前,并在很短时间内引起大量的转发和阅读。这是因为用户阅读并参与传播的所花的时间和体力成本非常之低。140字以内的 内容阅读所需时间一般在30秒到1分钟之间,精简易读的内容给用户造成震撼和影响的同时,微博功能中只需点击“转发”,再点击“确定”,就可在1-2秒之 内将信息转发到自己的微博里的快速转发功能又使得用户在信息对自己造成的思想冲击正处于最顶点时很顺势的就参与该信息的转发传播。因此,在微博中热门的信 息很容易就在短时间内形成了刷屏般的转发效果。但是,微博的缺点就是当一个用户关注帐号较多时,很容易就造成信息的遗漏,因为微博的信息动态是实时变动 的,由于很多大号每天发布的信息很多,人们看微博又经常是利用碎片时间在手机上查看,用户一般很少有耐心一条不漏的查看所有关注的人的信息动态,这样就很 容易造成信息遗漏。

而在微信中,由于产品设计的特点,在信息传播速度以及便捷性都比不上微博。用户在“朋友圈”中发布的普通内容并不能被直 接转发。用户只能先复制,再粘贴发送,这无形中增加了用户的操作成本,因此限制了大多数内容的快速传播。并且由于微信更偏向即时语音通信以及熟人关系的特 性,使得微信成为一个更具私密性的封闭式熟人社交工具,用户们更偏重于在自己的熟人圈中分享自己和观察朋友,而不是去传播大量杂乱的信息。对于拥有大量粉 丝的微信“公众账号”来说,信息能够做到精准快速的推送到每一个粉丝中,但却缺少广度,难以被用户进行主动的二次传播。

同时,大家不难发 现,在微博中最容易被引爆,传播最快,影响力巨大的各类事件中,名人隐私、官员贪腐、恶劣社会性等丑闻事件是最多的。我们也可以问问自己,是不是对这类涉 及名人隐私以及社会性丑闻的事件更热衷?从心理学角度来说,这是因为我们心中的“本我”在作祟,而这些丑闻中往往都包含着“本我”的气息。但是这些事件又 都是每个人心中的“自我”和“超我”所不容许的,尤其是“超我”绝不允许这类事情发生在自己身上,更不想让别人知道自己有这种包含“本我”信息的想法。但 如果这类丑闻事情发生在名人或者平日一些高高在上的人物身上,这时候不但人们心中的“本我”蠢蠢欲动,“自我”和“超我”也都会祭起道德批判的大旗,这样 既满足了“本我”的需求,又得到了“自我”和“超我”的支持。

从以上微博和微信的各自的特点来看,由于微博的开放性和社会性,各种热门事件 在微博传播是最快的,而且人们更热衷于在微博上参与热门事件的点评和传播,这是因为人们都喜欢以这种方式在全社会面前体现自己更多的“超我”的一面,同时 “本我”和“自我”又都能够得到满足。而微信的封闭则让人们很少有机会在微信中满足这种心理需求,微信的生态环境更偏向日常现实生活中的环境,在这种情况 下“自我”更能稳稳的压制着“本我”,因此人们在微信中的心理状态更趋向于理智和平稳,难以形成微博中波浪起伏不定的信息传播环境。

所以,更贴近日常生活的微信用户活跃度会渐渐的超越了偏向媒体属性的新浪微博,但是两者之间的活跃度差距将会慢慢趋于平稳,不会再出现大的倾斜。

最 后,结合微博微信各自的产品特点以及不同的用户群体心理特点,我们再从商业角度来看,微博的商业价值可以更好的体现在制造热点事件,引导用户以倒流量的形 式去各大电商平台进行冲动型消费,以粗放型的手段进行品牌形象传播等等商业手段当中。而微信则更适合慢一点的,贴合生活的O2O、休闲游戏、精细长效的品 牌文化推广等等的商业模式。

作者个人微博

[http://www.cnbeta.com/articles/236719.htm]

中文引号之争与中文字体排印的未来

关于中文引号的话题这两天在知乎上又火爆起来了。夏晓昊君对于提问时引号使用规范的发问,引发了热烈一词不足以形容的盛况。这场争论最终以知乎团队强制要求提问时使用直角引号(「」和『』)收尾。显然,讨厌这个结果的人远远多于喜欢的。

我一直主张使用直角引号,甚至还专门写过文章。由于标点符号是一般人不会关心的领域,我想解释一下为什么我会对它有兴趣。

我的工作是做电子书。我们做的电子书支持 iOS 和 Android。最初做 iOS 版时,我们发现 iOS 系统中内建的简体中文字体只有一种,质素并不出众,于是买了一套专门的字体,将这套字体文件打包到 app 里。

这带来了许多不便。中文字体文件的体积是西文字体文件的数倍,而一旦读者开启了我们的 app,字体文件有多大就要占据多大的内存空间。随着移动设备的内存不断增加,这一问题的影响在未来会越来越小。但在当时还是带来了额外的开发成本。此外,字体的授权费也是真金白银。不过我们还是选择付出这些代价,因为想让大家尽可能开心地阅读。

背后的问题是:为什么 iOS 系统里面只有一种简体中文字体?而且还是黑体?走进任何一家纸质书店,我们会发现大部分书的正文均以宋体排印。而 iOS 系统直到如今(iOS 6.0.1)都只有「华文黑体」这一套简中字体供开发者使用。相比之下,日文的待遇就好得多。从 iOS 3 开始,系统就预装了一套日文黑体(日人称之为 Gothic 体)和一套日文宋体(日人称之为「明朝体」)。换言之,日本的电子书开发者可以自由使用这两种字体,与此相关的开发成本大大减少。

我不知道苹果为什么不更早将宋体纳入 iOS 系统中。在 iOS 5 的某个版本里已经出现了新的三套中文字体:一为宋、一为楷、一为仿宋。不过这三套字体至今都未正式开放给第三方开发者(例如我们)使用。或许苹果认为这些字体还未臻成熟,或许有其它原因,此处不去揣测。

可以确定的是:一个国家的字体业越发达,高品质的字体越多,作为外国公司(例如苹果)的选择也越多。中文字体设计远远落后于日本,为不争之事实。若我们作为中国人希望未来有更好的中文字体可用,唯一办法是自己做出一套套更好的中文字体。

标点也是一样。

* * *
 

字体设计与字体排印(typography)是两个不同的领域。此二领域在中国的共性即为「落后」。我们有自己的国家标准,但,设计师社群对于中文排版的哀叹声不绝于耳,对日本排版之典雅高超羡慕非常。显然,大家对现状并不满意。

对于不满意的事情,抱怨是无济于事的。我们必须身体力行。对于标点、字体、排版规则,我们可以且应该重新思考,并做出自己的选择。

有很多人在这样做了。例如我们看到字体设计师厉向晨先生坚持在中文里使用半角标点以及英文句号(.),也看到网上各处都有网页中文竖排的努力。这些实验性的尝试不一定合乎每个人的口味,但对它们报以讥讽、嘲笑、犬儒的态度,显然无益于中文字体与中文字体排印的进步。

在知乎的讨论里我注意到一种观点:对通行规范的改变应采取由上至下的方式进行。即,主张使用直角引号者,应先试图与制定标点符号标准的国家机构沟通,尝试改变他们的看法,而不是像现在这样罔顾国家标准,直接在民间的某个社群中强制执行自己的标准。

这种论点让我想起了技术圈的另一场圣战:浏览器标准之战。一个方框、一个按钮,在每个浏览器里长什么样,苹果(Safari), Mozilla (Firefox), 谷歌(Chrome), 微软(IE)各家都有自己的想法,而一个叫 W3C 的组织则负责统一想法,制定标准,以期各家遵守。但 W3C 的问题跟所有标准化组织一样:慢。商业世界不等人,上述几家公司都各行其道,搞得网页开发者苦不堪言,但也无可奈何。

或许知乎今日对直角引号的强制执行可以比之于那些只能在某家浏览器里正确显示的 CSS 属性。所幸知乎上的问答并非商业行为,没有利益纠葛。用户不喜欢,大不了不来就是。若真的发生大面积用户流失,知乎或许自会调整规定,恢复使用中国大陆的引号标准,此为后话。

但我赞同知乎的这一做法,因为中文字体与中文字体排印正处在不破不立的局面。我在《中文字体及其它》一文中写过:

在今天,中文字体领域没有真正的专家──只要愿意认真参与讨论的人都是专家。平面设计师群体、前端设计师 / 工程师群体、程序员群体、字体设计师群体、中文 TeX 群体和出版界都应该参与这一过程,所有的成见都应抹除。引号该用哪种?段首缩进应该是一格还是两格?行末标点应该外挂还是内缩?齐头尾时应该仅仅压缩标点,还是可以调整字间距?中文 web font 怎么办?程序员群体在这件事上能做什么?所有这些问题都应该在摒弃现有假定的前提下公开讨论。若仅仅因为中国大陆的官方标准的存在就放弃了实验的可能性,我认为是可惜的。

除了望着优秀的日文字体流口水,我们应该做些事情。

如今我仍然持上述观点。

[http://apple4.us/2012/11/on-the-brouhaha-of-chinese-quotes-and-the-future-of-chinese-typography.html]

几千万的大项目投不起,那就投点小东西玩玩吧

为什么扣扣企鹅人见人骂?很大原因就是它无耻的抄袭别人心血。抹杀了大陆无数的互联网创业公司,那些宝贵的创意,麻花疼就这样偷走。真是生儿子没屁眼,虽然它的确生了个儿子。

刚看见一个叫jue.so的网站。这是一个帮助创意者们完成他们想法的平台。你可以投资你感兴趣的项目,之后会以优惠的价格获得该项目的成果

投资别人的项目,取得未知的收益

随便点击一个未完成的项目,左侧是创意者们对产品的详细介绍及想法。而右侧是完成想法需要的资金,日期,完成进度等。下方就是你可以投资的金额了,投资的越多,将来得到的回报也越多!

疑问:如果钱投资出去了,到时间项目没完成,钱就没了?
答:如果在规定的时间内项目未筹集到所需资金,那么钱将会返还至账户余额中,之后可以提现至支付宝或银行卡中。

其中的一个项目→设计丰收
null
null

当然如果你有创意,比如艺术、摄影、戏剧、舞蹈、出版、软件(APP)、电影、设计、时尚、游戏。但又缺乏资金,那么试着把想法发布到jue.so,或许会有风投们帮你一把哦!

 

[http://maolihui.com/tens-of-millions-of-large-projects.html]

Kindle 中文阅读终极优化指南

由于 Amazon Kindle 目前只在美国和英国等少数以英语为主要语言的国家发售,它的键盘甚至无法原生输入俄语、挪威语等字母语言,更别提中文了。自然,它对中文的默认支持也不怎么样。但是作为一个母语为中文的 Kindle 用户,阅读中文书籍是经常发生的事,用中文作笔记也是会遇到的。而是一个完美主义者,面对网上那些数量稀少且并不完美的 Kindle 中文阅读教程,我决定自己动手,探索、整理出一份“完美”的Amazon Kindle 中文阅读优化指南

一、Kindle 基本介绍

Amazon Kindle 是 Amazon 公司(或者叫 Amazon 帝国更贴切……)推出的一系列电子书阅读器。目前主要有以下设备:

  • 第一代:Kindle
    最早的版本,只有白色版,屏幕就四阶灰度,可用存储空间只有 180MiB……
  • 第二代:Kindle 2 和 Kindle DX(包括 Kindle DXG)
    Kindle 2 开始有十六阶灰度屏了。Kindle DX 是 Kindle 2 的“放大版”,固件和 Kindle 2 是一样的。DXG 是灰色版的 DX,不过性能上也有一些改进。
  • 第三代:Kindle Keyboard →我用的
    最流行的版本,很好很强大,3G 版更可全球漫游上网。
  • 第四代:Kindle 和 Kindle Touch
    第四代就叫 Kindle……民间也叫 Kindle 4,它有一个非触屏和一个触屏版,是 Kindle Keyboard 的“缩水版”,但是比较便宜,只要 $79。
  • Kindle Fire(基于 Android 的平板电脑)
    我觉得这个不能算在前面的系列里,因为它不再是用 E-Ink 屏幕了。
  • Kindle Reading Apps(运行于 iOS 和 Android 设备,以及网页上)
    这个只能算一套软件了……而不是硬件设备,放在这里只是因为名字里有“Kindle”。

本文所指的 Kindle,主要是指 Amazon 推出的各代以 E-Ink 作为显示屏幕的设备,不包括 Kindle Fire 和 Kindle Reading Apps 在内。

本文用作教程的 Kindle,即我有拥有的 Kindle,是 Kindle 的第三代,官方名称为 Kindle Keyboard,本教程所介绍的方法理论上也可用于其他代的 Kindle(不包括 Kindle Fire)。 Kindle Touch 用户可以参考这个帖子

本文所提到的 update-*.zip 文件均出自 MobileRead 论坛,可在此链接找到。

二、现状与我们的目的

正如上文所说,Kindle 未在使用 CJK/CJKV中日韩(越)统一表意文字) 的国家和地区发售,所以默认对 CJK 的支持是比较差的,在目录界面下,一些中文字会变成□□□□,在网页里,中文字的大小也是很不整齐的,并且有不少是用的日本字型,笔画看着很奇怪。

以上提到的问题虽然可以通过 changeLocale 的 debug 代码来解决,但是阅读中文时的字体依然是丑陋的无衬线字体。这种无衬线字体在 CRT 和 LCD 上用用还勉强能接受,但是在接近印刷品的 E-Ink 屏幕上用,就显得太不搭调了,长时间阅读会造成眼睛非常疲劳,丧失了 E-Ink 的优点。并且,默认的中文字体是没有标准、粗体、斜体、粗斜体的区分的,无论是标题还是正文还是注释,一律是同样的样式。对比拉丁字符的不同样式,实在是令人不爽。

首先声明一点:电脑上各种字处理软件里中文字体的“粗体”实质是“仿粗体”,“斜体”实质是“仿斜体”,是软件模拟出来的,只有少量中文字体(如微软雅黑)的粗体、斜体才是独立的字体。

正是因为这种软件模拟的存在,我们才能在电脑上看到各种中文字符“变粗”(仿粗体)和“变斜”(仿斜体),哪怕这个字体本身没有对应的粗体和斜体。而手持设备上一般没有这种软件模拟,所以只能显示字体本身的样子。但是,既然有“仿粗体”和“仿斜体”,就有真正的粗体和斜体,比如微软雅黑和粗体的微软雅黑是两个独立的字体,前者是 msyh.ttf,后者是 msyhbd.ttf我们只要使用独立的粗体、斜体字体便可在 Kindle 上实现中文字符的不同样式。

能“解决”上面所有的问题方法的是把所有的书全部弄成 PDF。但是要在 Kindle 上看 PDF,最好得是特制的六寸 PDF。每本书都转换并且方便,并且 PDF 相比 mobi 格式丧失了不少功能,因此该方法被枪毙。

所以,作为一个完美主义者,我要实现以下目的:(递进)

  1. 完美显示中文(告别□□□□!)
  2. 使用优质的衬线中文字体来代替无衬线中文字体(让 E-Ink 像印刷品一样!)
  3. 实现中文字体的普通、粗体斜体粗斜体的不同样式(标题就该突出!)
  4. 目录界面和状态栏中的中文也要使用自定义字体并显示出样式(光阅读界面是好看的怎么能叫完美呢?)
    除此以外,由于我还需要用 Kindle 阅读英语和德语的书籍,所以还有一个附加要求:
  5. 拉丁字符要保持原有的专业与美观,不能变丑(中文字体里嵌的拉丁字符实在不敢恭维)

三、两种不完美的解决方案

calibre 法

这种方法不需要越狱,几乎接近完美。但是很遗憾,它有 bug,不完美。这里简略介绍一下步骤,完整的图文教程可见《Kindle 3 不越狱换字体》

  1. 安装 calibre 这个强大到变态的专业、开源、自由的跨平台(基于 Python)电子书管理软件。
  2. 安装 Kindle Collections 这个 calibre 插件。
  3. 连接 Kindle,把优质衬线中文字体(如方正雅宋系列)按照特定的命名规则(CJK-Regular.ttf, CJK-Bold.ttf...)复制到 fonts 目录下。
  4. 连接 Kindle,在 Kindle Collections 里选择 Modify Kindle Settings,勾选 Allow user fonts,并在列表中选择 CJK
  5. 在提示成功后,拔掉并重启 Kindle,在阅读的时候按 Aa键,便可看到 Typeface 一项中多了一个 alt,那个就是自定义字体了。

这种方法接近完美,可以实现中文字体的不同样式显示,但是该方案的三个问题,这是我在使用的过程中发现的:

  • 虽然在阅读界面下,已经是自定义字体了,但是目录界面和状态栏的标题仍然调用的是简陋的原生字体,不爽。
  • 在阅读中英混合的书籍时,如果选择了自定义的衬线中文字体,那么书中的拉丁字符也会用自定义字体来渲染,而中文字体中的拉丁字符一般都比较丑陋,远没有纯拉丁字体中的字符好看,不爽。而如果选择原生字体,那么中文字符也会变成自带的衬线字体,依然不爽。
    也就是说,该方法能实现到上面的“目的列表”里的第 3 条,而第 4、5 条无法实现。
  • 更大的 bug:看起来Aa中的几种 Typeface 是可以自由切换的,但是实际上是有 bug 的,即切换成非 alt 之后,想再切换回来就会发现……alt 选项消失了!这意味着你就算不在乎上面那个 bug,在需要看英文书籍的时候切换到原生字体后,再看中文书籍时,根本无法切换成自定义字体(alt)!这个奇葩的 bug 只能通过连接电脑,在 calibre 的 Kindle Collections 里再次设置并重启 Kindle 解决,非常麻烦。

Fonts Hack 法

这种方法主要是指安装 Fonts Hack,这个升级包也可在上文提到的 MobileRead 里的那个帖子中下载到所需文件。下面简单说一下步骤和不足:

  1. 安装 Fonts Hack。即把对应你的 Kindle 版本型号的 update-fonts-*.bin 放到 Kindle 根目录并在 Kindle 中选择 Update your Kindle
  2. 再次连接 Kindle,能够看到根目录多了一个 linkfonts 目录,在 fonts 子目录中即可看到一堆字体,其中 Sans-*.ttf 和 Serif-*.ttf 是阅读书籍时用到的拉字字符字体文件,而 CJK.ttf是中日韩统一表意文字用到的字体,中文字体自然也在里面了,这就是平时看到的简陋的无衬线中文字体。
  3. 把 CJK.ttf 替换成优质衬线中文字体如方正准雅宋
  4. 在 linkfonts 目录中新建一个名为 reboot 的空文件并拔掉 Kindle 可以实现 Framework 重启或者直接从 Kindle 中选择 Restart your Kindle 以应用新字体。

这样操作之后,所有的中文字体(阅读界面、目录界面、状态栏)都已经是调用了自定义字体了,但是,这些字体是没有任何样式可言的,全部只有 Regular。而如果把原生字体如 Sans-Regular.ttfSerif-Regular.ttf 等换成对应样式的衬线中文字体,又会面临拉丁字符非常丑陋的问题(即上文“目的列表”中第 5 条无法实现)

四、选好你的字体

在正式开工之前,还是再讲一下字体吧。我向来对字体比较挑剔的,原来用 Windows 的时候 GDI++ 是必不可少的东西,不渲染浑身不爽;后来用 Linux 了,则与 /etc/fonts/local.conf 搏斗了好久……现在用了 Kindle 了,面对着与 LCD 完全不同的 E-Ink 屏幕,对字体的挑剔就又上升了一个台阶……

非常幸运的是,在以中文为母语的 Kindle 用户中,对字体很挑剔的不只我一个,这位博主的博文《Kindle 3的字体、行距、边距》便是一篇很好的关于 Kindle 选字体的文章,讲得头头是道,且配图清晰动人,强烈建议大家去围观。这里简要地归纳总结一下我对字体(尤其是简体中文字体)的几点看法:

  • 总原则是:CRT、LCD 等低 ppi 屏幕上阅读大量文字请使用无衬线字体;在印刷品上阅读大量文字请使用衬线字体。
  • Windows Vista 之前的 Windows 一直用的中易宋体(衬线字体),实在是不该。好在 Vista 之后改成微软雅黑(无衬线字体)了。长时间在 CRT、LCD 上阅读衬线字体非常容易疲劳,不信你找篇长文章用五号字的“华文楷体”阅读试试……
  • 印刷品上衬线字体比无衬线字体看着不易疲劳,所以大部分报纸上正文都是小五号报宋体(衬线字体),只有标题为了题目才会用无衬线字体。
  • Kindle 由于采用了 167 ppi 的高 ppi 的 E-Ink 屏幕,比电脑屏幕的 72 ppi 90-120 dpi 高出一倍多了,比报纸的 100-150 dpi 也高出一些,所以完全可以当作印刷品对待,所以应该使用衬线字体。
所以这样选字体:
  • 在低 ppi 的电脑屏幕上,推荐使用无衬线中文字体,比如微软的商业字体“微软雅黑”,自由开源的“文泉驿徽米黑”、“文泉驿正黑”也是不错的选择。
  • 在高 ppi 的 Kindle 的 E-Ink 屏幕上,推荐使用衬线中文字体,比如方正雅宋系列里的“方正准雅宋”。如果你习惯在 Kindle 上看小字体的话,你甚至可以选择“方正报宋”“汉仪报宋”这样的适合小字号的笔画很细的衬线字体。(报纸上用的就是这样的字体)

再恶毒地“抨击”一下几个字体:

  • 华文楷体对于大量文字来说是个失败的字体……不解释……很难理解为什么有人会拿它做成 PDF 电子书。上次看到舍友在 Tablet S 上看华文楷体的 PDF 《盗墓笔记》,震惊了……那个字密密麻麻的,非常恶心。
  • 中易宋体是一个非常落后的字体,它太古旧了,没有 hinting 信息,bug 多多,只是由于微软和 Windows 的关系,横行霸道了许多年,至今仍可在一些老顽固的 XP 电脑上看到。
  • 微软雅黑和苹果丽黑,在电脑屏幕上算是比较成功的字体,但这只是因为它们为低 ppi 优化过!用在 Kindle 上是很不合适的,可是有些电子书制作者在做 PDF 电子书时候依然选择微软雅黑作为字体……实在是不该。

说了这么多,你现在可以在本节开头的图片中选择合适的字体了吧?非衬线字体直接不考虑了……我的选择是:

如果你习惯看报纸并且想在正文看更小的字体的话,主字体可以选择“汉仪报宋”或者“方正报宋”。

大部分字体在网上搜索一下名字即可找到下载地址,但是“华文中宋斜”和“华文中宋粗斜”这两个字体并不好找,因此我把它们打包了一下,可以点此下载

五、开始优化字体

前面的准备工作做了那么多,实际上真正的优化过程步骤却并不多,像是前面介绍的两种不完美方法的结合。

更改 Locale

这个步骤是为了让目录界面不出现□□□□。方法就是在目录界面,按 Enter 键,然后输入下面三行 debug 代码,每行按 Enter 结束,然后再按 Enter 再打开新的输入框。

;debugOn				#打开 debug 模式
~changeLocale zh-CN.utf8		#更改 Local 为 zh-CN.utf8
;debugOff				#关闭 debug 模式,可以不输入

这个命令是大小写不敏感的,我区分大小写只是为了好看……另外,在 debug 模式开启的时候输入

~help

可以查看有哪些 debug 命令哦。

执行完这三行命令之后,是需要重启才能应用的,不过先别急着重启,越狱的时候一起重启吧。

越狱

这个不用说了吧,是装软件的前提。从上文那个 MobileRead 链接中下载 update-jailbreak-*.zip,并解压出对应你的机器的版本的 update_jailbreak_*_install.bin 文件,放到 Kindle 的根目录中,然后在 Kindle 的 Settings 页面中,按 Menu,选择 Update your Kindle,等待两分钟左右,即可完成越狱,并且由于已经重启了,上一步的 Locale 也就生效了。这时 Kindle 的根目录中应该已经多出了linkjail 这个目录了。在 Kindle 的内部文件系统中,相应的目录已经被换成了符号链接,目标就是这个linkjail,我们可以通过修改 linkjail 中的文件来达到修改 Kindle 内部文件系统文件的目的。

安装 Fonts Hack

依然是在那个链接中,下载 update-fonts-*.zip,解压出对应版本的update_fonts_*_install.bin 文件,放到 Kindle 的根目录中,在 Kindle 的 Settings 页面中,按Menu,选择 Update your Kindle,等待两分钟左右,即可完成安装。

复制自定义字体

这时再连接 Kindle,便可发现根目录下多了 linkfonts 目录,同样,这也是 Kindle 内部文件系统中某些符号链接的目标,在 linkfonts/fonts 目录下,可以看到一堆字体。请把你准备好的四个中文字体文件(普通、粗体、斜体、粗斜体)复制到 linkfonts/fonts 目录下,保持字体原来的文件名也是这样的,不过为了方便下文引用,最好把它们命名成下面这样,另外,不要用中文名……

  • CJK_Regular.ttf → 普通字体,用于正文的显示
  • CJK_Bold.ttf → 粗体字体,用于粗体的显示
  • CJK_Italic.ttf → 斜体字体,用于斜体的显示
  • CJK_BoldItalic.ttf →粗斜字体,用于粗斜体的显示

注意:这个目录中还有一个 CJK.ttf,它是 Droid Sans Fallback,即 Android 中默认的中文字体(无衬线!),是 Fonts hack 用来代替原生的中文字体的,理论上删除它,然后引用别的字体也是没有关系的,但是由于 Fonts hack 的一些保险装置,删除它之后会导致 Fonts hack 自动失效,所以还是留着它吧,不引用它就好了。

更改配置文件

上一步已经把所需要用到的四个字体复制到 linkfonts/fonts 目录了,但是它们是不会被自动使用的,需要更改配置文件让 Kindle 去使用它们。

打开 linkfonts/etc 目录,可以看到一堆字体的配置文件。Linux 桌面版用户对这些文件应该很熟悉了……我们要动刀的是 fonts.properties, fonts.properties-3, fonts,properties-3-nocondensed 这三个文件。

注意:这三个文件都是 Unix/Linux/OS X 的 LF 换行格式,千万别用 Windows 自带的“记事本”去编辑保存它!否则会变成 CR+LF 的换行格式!Windows 用户请使用 Notepad++ 去编辑,或者下载我编辑好的文件。

这三个文件的内容大同小异,是在不同的阅读模式下的字体渲染设置。主要是改 # international font support 这一行后面的一些内容。默认是这个样子的:

# international font support
code2000.0=I18N.ttf
code2000.plain=I18N.ttf

jpan.0=CJK.ttf
jpan.plain=CJK.ttf
jpan.1=CJK.ttf
jpan.bold=CJK.ttf

kore.0=CJK.ttf
kore.plain=CJK.ttf
kore.1=CJK.ttf
kore.bold=CJK.ttf

hant.0=CJK.ttf
hant.plain=CJK.ttf
hant.1=CJK.ttf
hant.bold=CJK.ttf

hans.0=CJK.ttf
hans.plain=CJK.ttf
hans.1=CJK.ttf
hans.bold=CJK.ttf

可以看出,最上面一段是对符号字体(这是最后一个 Fallback,关于 Fallback 的顺序,请参见这个帖子)进行设置,不用修改,后面四段内容分别对日文、谚文、正体中文和简体中文进行了设置,格式如下:

[字符集].[样式]=[字体文件名]

“字符集”无非 CJK (目前还没有支持 V ——喃文哦),而样式则是有八种的,比如系统原生 Serif 的设置:

# Serif font definition
#
serif.0=Serif_Regular.ttf
serif.1=Serif_Bold.ttf
serif.2=Serif_Italic.ttf
serif.3=Serif_BoldItalic.ttf
serif.plain=Serif_Regular.ttf
serif.bold=Serif_Bold.ttf
serif.italic=Serif_Italic.ttf
serif.bolditalic=Serif_BoldItalic.ttf

可以看出有 0, 1, 2, 3, plain, bold, italic, bolditalic 八种,并且应该是两两对应的。明白了这一点,就很容易了,把刚才那四段定义 CJK 字体的内容改成这模样就行了:

# international font support
code2000.0=I18N.ttf
code2000.plain=I18N.ttf

jpan.0=CJK_Regular.ttf
jpan.1=CJK_Bold.ttf
jpan.2=CJK_Italic.ttf
jpan.3=CJK_BoldItalic.ttf
jpan.plain=CJK_Regular.ttf
jpan.bold=CJK_Bold.ttf
jpan.italic=CJK_Italic.ttf
jpan.bolditalic=CJK_BoldItalic.ttf

kore.0=CJK_Regular.ttf
kore.1=CJK_Bold.ttf
kore.2=CJK_Italic.ttf
kore.3=CJK_BoldItalic.ttf
kore.plain=CJK_Regular.ttf
kore.bold=CJK_Bold.ttf
kore.italic=CJK_Italic.ttf
kore.bolditalic=CJK_BoldItalic.ttf

hant.0=CJK_Regular.ttf
hant.1=CJK_Bold.ttf
hant.2=CJK_Italic.ttf
hant.3=CJK_BoldItalic.ttf
hant.plain=CJK_Regular.ttf
hant.bold=CJK_Bold.ttf
hant.italic=CJK_Italic.ttf
hant.bolditalic=CJK_BoldItalic.ttf

hans.0=CJK_Regular.ttf
hans.1=CJK_Bold.ttf
hans.2=CJK_Italic.ttf
hans.3=CJK_BoldItalic.ttf
hans.plain=CJK_Regular.ttf
hans.bold=CJK_Bold.ttf
hans.italic=CJK_Italic.ttf
hans.bolditalic=CJK_BoldItalic.ttf

注意:这后面的字体名是可以改的,由于我在上一步的时候已经把自定义的字体名改成这模样了,所以是这样填的,如果你用的是其他的文件名的话,请对应修改

正如上文所说,有 fonts.properties, fonts.properties-3, fonts,properties-3-nocondensed 这样三个文件,都要做类似的修改。修改完了之后用 Unix 的 LF 换行格式保存。

对于不想装 Notepad++ 的 Windows 用户或是懒人,这里有一份我已经改好的配置文件,解压后覆盖即可……不过前提是你的自定义字体文件名和我的命名方式一样。点此下载:fonts-conf-wzyboy.tar.gz

重启 Kindle 的 Framework

这时候算是基本大功告成了,重启 Kindle 即可应用新字体。不过 Kindle 的完全重启(Settings - Restart your Kindle)时间有点长,所以 Fonts hack 中提供了只重启 Framework 的方法,即在拔掉 Kindle 之前,在 linkfonts 目录下面新建一个名为 reboot 的空文件。如果 Windows 用户不方便新建无扩展名的空文件的话,可以原地复制粘贴一下 autorebooot 这个文件然后再重命名为 reboot,它就是一个空文件……

这个文件建立之后,再拔掉 Kindle,就会看到屏幕左下角有一行字 Restarting framework... 过会儿就会重启完成,应用新字体了。这样比完全重启方便一些,也更快一些。

换回拉丁字体

上文说了,由于我不仅要在 Kindle 上阅读中文书籍,还会阅读英语和德语的书籍,所以对拉丁字体的要求也比较高。而 Fonts hack 把原生的拉丁字体给换掉了!Serif(衬线)字体由 PMN Caecilia 换成了 Droid Serif,而 Sans Serif(无衬线)字体则由经典的 Helvetica 换成了 Droid Sans。后者的替换我没意见,反正我不用无衬线字体的,而前者的替换……令人发指。Droid Serif 实在是太丑了,跟中易宋体中的拉丁字符有得一拼……绝对不如原生的 PMN Caecilia 好看,所以我要换回去。有与我类似需要的同学可以继续读下去,不看英文书的可以跳过……

换回去的方法挺简单,在 linkfonts/backups 下面那些 Caecilia 开头的文件就是原生的 Serif 字体了。这里我被弄糊涂过,经过一些试验,我确认那八个字体中只有四个是原来的拉丁字体,另外四个带Cond 字样的是紧密版的(即在 Aa 中选择 condensed 之后调用的字体)。对应关系如下:

Caecilia_LT_75_Bold.ttf → Serif_Bold.ttf
Caecilia_LT_76_Bold_Italic.ttf → Serif_BoldItalic.ttf
Caecilia_LT_66_Medium_Italic.ttf → Serif_Italic.ttf
Caecilia_LT_65_Medium.ttf → Serif_Regular.ttf

按照这样的对应关系把它们复制、替换掉 linkfonts/fonts 里的字体,然后再用上一节“重启 Kindle 的 Framework”中的方法,即可应用新字体。

六、成果

于是,就这样,搞定了。

再一张:

如截图所示,连目录中也是中文衬线字体(状态栏里的标题也是),也有各种样式的区别。为此我特意做了一个 mobi 文件,用来检验成果:Lorem ipsum – wzyboy.mobi.tar.gz

如果你在完成上面的所有步骤之后,也能显示出这样的画面,那么,你成功了:

但是始终觉得截图不能显示出 Kindle 真正的美丽,照片才行……为此我拍了好多张像本章章首图那样的照片……真的是像纸一样清晰可读。

七、尾声

我花了近一个月去折腾,又花了三天时间写成本文,算是符合“用心写作”的概念了吧。这是博客搬家到 VPS之后的第一篇文章,会是对 VPS 的一次压力测试吗?希望是的。

希望这篇文章对越来越多的 Kindle 中文用户有用。

补充:如想在 Kindle Keyboard 上输入中文,可参考《Kindle 3 安装中文输入法》。目前只能用拼音……不能用五笔。

欢迎转载,转载请注明出自:http://wzyboy.im/post/736.html。谢谢合作。

 

[http://wzyboy.im/post/736.html]