年度归档: 2018年

PDF 复制中的文字重复问题

前两天,编辑 @⽂⼑漢三 在 Slack 上发给我一个 PDF 文件,问我知不知道为什么从里面复制出的中文会出现「重字」现象。他还提到,这个问题只在用系统自带的预览 app 打开时会出现,用其他 PDF 阅读器复制文字是正常的。

用预览 app 复制出的「结巴」文字

文刀拿这个问题来问我,恐怕是因为我之前写过一篇解释 PDF 格式的文章,觉得我大概会知道答案。不过他其实高估了我的知识水平——我刚开始也不知道这是怎么回事。不过,经过一番搜索,我最终初步搞清楚了问题成因。因为这个问题涉及到一些很有意思的细节,这里把探索的过程写出来,供有类似疑问的朋友参考。


出现问题的 PDF 文档是由一篇少数派文章导出而得的。首先尝试复现问题:用预览 app 打开并随手复制一段,确实出现了很多重复的文字,看起来就像是「结巴」了一样,有一种莫名的喜感。换用 PDF Expert 打开再尝试复制,则没有这样的问题。

虽然不知道问题的具体成因,但根据经验,文字复制中的故障往往与编码有关,而 PDF 格式正是编码问题的大户。

我在之前的文章中提到,PDF 格式是「不识字」的。在显示文字时,阅读器只是机械地根据 PDF 语句的指令,将字体资源中特定码位的字形绘制在坐标指定的位置,而并不关心自己画出来的到底是什么字。只有在进行复制、搜索等操作时,PDF 才会根据内嵌的 CMap,将内部字体的编码和 Unicode 编码对应起来。因此,如果 CMap …

在 iOS 主屏幕上添加 iCloud 文件快捷方式

文件操作是 iOS 长久以来让人感到「别扭」的功能弱项。究其原因,很大程度上是 iOS 的文件操作逻辑与桌面系统截然不同:同样是打开一个文档,在桌面端,第一步通常是在文件管理器中找到文档本身,然后再考虑用什么程序打开它;而到了 iOS 上,操作顺序则完全相反——先是打开应用,然后才是找到需要的文档。

这种操作逻辑是 iOS「沙盒」机制的产物。在早期版本的 iOS 中,应用的读写权限被严格限制在其特定的文档目录内,因此打开应用就成了任何文件操作的必经步骤。较新版本的 iOS 略微放松了限制,允许应用读写 iCloud Drive、并通过 Document Provider 扩展相互访问文档,但仍然没有从根本上改变 iOS 的文件操作逻辑。观察 iOS 的「文件」应用的呈现方式,会发现每个应用仍然被赋予了一个独立的文件夹,并且和用户创建的其他文件夹是平级的。这体现的还是一种以应用为中心的思路。

问题在于,我们的工作很多时候不是以应用为起点,而是以项目为起点的。试想你正在撰写一篇文章或者复习一门课程——执行一个「项目」。在电脑上,我们会很自然地为这个项目建立一个文件夹,把相关文件都放入其中。工作时打开这个文件夹,就能很方便地随手调取各个文件。然而,这种顺理成章的操作在 iOS 上并没有对应的实现方式。即使相关文件都存放在同一个文件夹内,你仍然需要分头在各个应用中打开它们。且不论低下的效率,这也是对思路和注意力不必要的干扰。

能不能在 iOS 现有的框架内提高访问文件的效率呢?不妨考虑把主屏幕的空间利用起来。尽管 iOS 设备越做越大,它们的主屏幕却仍然只是个应用启动器,未免显得过于浪费。如果能把经常访问的文件放在主屏幕上,点击即可打开,就能省下很多打开应用—寻找文件的繁琐步骤;不仅如此,还可以像整理图标一样,将同属一个项目的文件放进一个文件夹里,从而在很大程度上模拟我们在电脑上的操作习惯。

本文方法实现的效果

在上图所示的效果中,我们将一个 iCloud Drive 中的 Numbers …

Apple Watch 表盘的设计问题

Apple Watch Series 4 发布后,收到了比较积极的评价。大多数评论都认为,经过四年的摸索,苹果对这一产品的定位和思路已经比较清晰,将开发和宣传的重点聚焦在健康、运动和联系上;硬件迭代虽然不算激进,但逐年积累下来,相比早期版本已经有了相当可观的进化。市场反应也印证了这种积极评价。相比于 iPhone XS 较为平淡的销售情况,新 Apple Watch 在预购中显得紧俏不少,至今仍有不少款式无法做到现货供应。

但这并不代表 Apple Watch Series 4 就已经接近完善了。在最初的肯定过后,爱好者社区很快开始了新一轮的「挑刺」。不过,与往年对续航、性能等比较明显问题的抱怨不同,今年讨论的热点集中于一个细节问题——表盘设计。

新旧不兼容的部件

首先引发批评的,是新表盘不兼容旧版的「部件」(Complications;苹果官方译名为「复杂功能」,考虑到简洁性和习惯,本文使用中文社区通称)。

具体来说,Series 4 新增了两个独享的表盘:图文(Infograph)和图文模块(Infograph Modular),两者都以能显示色彩丰富、信息密集的部件为特征,也是苹果在今年宣传的主要卖点。但用户很快发现,这两种表盘能使用的部件也是「独享」的。例如,原有表盘上的环形(Circular)部件,并不能在新表盘上选用,即便它们的确有很多圆形「孔位」。实际上,尽管形态类似,图文表盘上的部件属于几种完全不同的新类别,只有经过专门适配的应用才能显示。

看起来都是一个形状,却并不通用

从苹果的角度看,这种不兼容是有理由的:新旧部件的功能和尺寸都明显不同。例如,旧版的环形部件是纯色的,只能包含文本、图标和进度环三者中的两个;而新的 Graphic Circular 部件却主打具有渐变色的进度环,并且可以同时显示图标和多个数字。显然,更多的信息量需要应用的专门适配。另外,新部件的尺寸是 84 像素见方(在 40/42 mm 型号上显示时),相比于旧部件 …

苹果 2018 秋季新品的细节探讨

相较于事前的关注度和期待,苹果今年九月的发布会最终成为了比较平淡的一场。iPhone 的升级幅度较以往的「S」年更小,不断抬升的定价也让人们在购买决策时更加犹豫。

但正如往年一样,苹果并没有在发布会上覆盖新产品的所有信息,而是把很多细节留在了参数页面的字里行间。仔细阅读这些参数并相互比较,不仅能对产品有更深刻的了解,也能间接读出苹果的布局、策略等弦外之音。

iPhone

外观:大趋势下的小插曲

作为 iPhone 更新周期中的「S」年,今年新品在外观上与去年的高度一致并不令人奇怪。iPhone X 的继承者 XS 在三围上与前者完全相同,仅重量(177g)上有可以忽略的 3g 增量。XS Max 和 XR 则都接近但略小于与以往的 Plus 机型。

但发布会上没有(好意思)提及的是,XS Max(208g)接过 8 Plus(202g)的衣钵,再次刷新了 iPhone 的最重纪录,XR 则依靠 8.3mm 的厚度成为了 4/4s 以来最厚的 iPhone。

近年 iPhone 的大小和厚度对比(来源:Twitter 用户 @rhl__)

此外,XS/XS Max 尽管在设计语言上和 iPhone …

macOS Mojave 动态桌面功能探析

前不久推出正式版的 macOS 10.14 (Mojave),应该可以称为四年前的 Yosemite 以来,macOS 在用户界面上变化最大的一次更新。千呼万唤始出来的原生「黑暗模式」让人耳目一新,也引发了第三方应用的适配热潮。

相比之下,另一项用户界面的新功能——动态桌面(dynamic desktop)受到的关注则少得多。这是一项默认关闭的功能,启用方法是打开「系统偏好设置」>「桌面与屏幕保护程序」,从「动态桌面」中选择系统自带的两套壁纸之一。

新增的两套动态壁纸

显然,如此低调的功能很难引起用户的注意,大多数评测文章都选择将其一笔带过。苹果自己的态度似乎也是一样:在六月的 WWDC Keynote 演示中,Craig Federighi 留给动态桌面的台词只有一句话

Your desktop actually subtly changes throughout the day from morning, to afternoon, to evening. 你的桌面[背景]将随着一天从早上、到下午、再到晚上的推移而微妙地改变。

乍听起来,这确实并不稀奇,也没有任何技术门槛。随时间变化切换壁纸是很多桌面美化软件的基础功能,更别提十多年前的 Windows Vista 就已经原生支持视频壁纸了。

但问题实际上并不只是「按时间切换图片」

译文 | 对抗互联网的欧盟

译者按:本文以欧洲近期备受关注和争议的「链接税」立法动态为切入点,分析了为何传统思维指导下的互联网规制措施往往是无效的,甚至适得其反。作者认为,严厉的规制措施会给互联网行业造成高额成本,只有大型企业能够负担,因此反而会强化后者的垄断地位。接着,作者分析了新闻出版在互联网时代的新特征:信息富余导致的买方市场,指出有效规制也应当顺应互联网发展趋势,从利用需求侧入手。作者认为,通过要求互联网公司提高透明度,能够提高用户的权利意识、促进其积极行动,由此造成的公关压力将有效迫使互联网公司做出改变。


今年夏天早些时候,整个互联网行业都舒了一口气:欧洲议会投票否决了一则新的《版权指令》(Copyright Directive)。该指令要求互联网网站主动过滤[用户]上传内容中侵犯版权的内容(所谓的「表情包禁令(meme ban)」);且在链接到其他网站、并引用其任何文本前,必须先获得许可(「链接税(link tax)」)。

可惜,这是一次短命的胜利。根据 EUbusiness 的报道:

根据欧洲议会周三批准的《版权指令》草案修正案,包括 Google 和 Facebook 在内的互联网科技巨头可能被要求监视、过滤和封锁互联网上传内容。议员在全体会议上通过了之前被他们否决、后经修正的欧委会《欧盟版权指令》。这增加了对小企业和言论自由的保障…… 欧委会此前已筹备让网络平台和新闻聚合[服务]承担侵犯版权的责任;欧洲议会的立场强化了该计划。《指令》将同样适用于新闻片段(snippets),即只显示来自新闻机构全文的一小部分。实践中,[侵权责任]要求责任人向权利人支付其传播的版权内容费用。 同时,为鼓励创业和创新,《指令》文本免除了小微企业的责任。

我选择引用这个名不见经传的新闻源是有原因的:万一本站有超过 50 名员工,或者收入超过 1 千万欧元,根据本次立法,我就可能要为了这次摘录向 EUbusiness 支付补偿金。幸运的是(好吧,应该说不幸的是),我离这个「万一」还差得远;感谢欧洲议会,给了我一次创业和创新的机会。

有了这则例外条款,再加上删去了对内容过滤的明文要求(虽然在实践中仍会是必须的),已经足够让《版权指令》获得通过了。这并不意味着它成为了法律:《指令》的最终文本还有待欧洲议会、欧委会和欧盟理事会(代表各国政府)协商,然后通过欧洲各国的国内法得到实施(这就是为什么它叫做指令)。

尽管如此,要证明欧洲的政策制定者还没搞清互联网的本质,此事绝非孤例:上一个例子是今年早些时候生效的《通用数据保护法规》(GDPR)。正如《版权指令》一样,GDPR 瞄准的也是 Google 和 Facebook。但正如那些彻底搞错了对手的斗争一样,GDPR 的净效应实际上是加固了这些公司的护城河。毕竟,谁能比那些最大的公司更会驾驭复杂的法规,又有谁比那些收集数据最多的公司更不需要从别处找数据呢?

事实上,通过探究欧洲的《版权指令》新规错在何处——不仅仅从政策的角度,同时也从它试图保护行业的角度——将能为我们提示一种新的规制方式,那就是利用互联网释放的关键力量,而不是和它作对。

《指令》第 13 条与版权

原谅我引用这些法律黑话(真的是黑话),但请读一下《版权指令》中与互联网平台版权责任有关的部分(指令原文见此

数字世界中的纸张——理解 PDF

引言

PDF 是我们打交道最多的文件格式之一。提到这个格式,即使是对技术并不熟悉的用户,也能说出「通用性好」「格式不会乱变」这些优点。但同时,PDF 也是让我们感到困惑最多的格式之一。与 Word 文档等其他常见办公软件格式相比,PDF 似乎有着太多的「怪癖」,例如复制文字困难、几乎没法编辑等等。PDF 软件数量繁多、质量良莠不齐的现状,也进一步让很多用户无法正确理解和使用 PDF。

然而,这些问题大多并不是 PDF 格式的「缺陷」,而是因为我们在观念上把 PDF 当成了和其他办公文档格式相近的东西,并因此期待 PDF 也具有和后者相似的功能和特征。

事实并非如此。尽管 PDF 格式和 Word 格式在实际用途上有诸多重叠之处,但那只是表面现象。从技术角度看,两种格式之间的差异要远远大于 Word 文档和网页的差异,甚至也大于 Word 文档和 Excel 表格的差异。

但这并不意味着 PDF 就是一种难以理解的格式。恰恰相反,对大多数用户来说,PDF 可能是他们接触到的格式中最「接地气」、与现实生活最接近的。因为,PDF 与其说是一种数字文档,不如说是实体文档在数字世界中的倒影。对 PDF 的操作,很大程度上可以看成对真实纸张的操作,只是操作环境从物理世界换到了数字世界而已。PDF 的创建就是一种虚拟的打印

疑难符号使用与输入指南

一、引言

在电脑和手机上,文本输入是我们再熟悉不过的操作。但提到输入,很多人首先想到的只是输入文字,而符号——包括标点符号和特殊字符——的输入则往往不太受到重视。观念上,这似乎是一件非常琐碎而简单的事情,不值得单独讨论和专门学习。

真的是这样吗?请试试看能不能答得出下面几个问题:

英文中的右单引号、缩写词中的撇号和表示英尺的「撇」是一个符号吗?它们是垂直的还是弯曲的?

表示一个范围时,连接前后数字的横线符号是键盘上加号左边的那个吗?这个键是「减号」吗?

外国人名字里的圆点是怎么打出来的?这个圆点到底有多大?

从网上甚至很多印刷品文章中的使用情况看,人们对符号用法和输入方法的掌握程度并没有自己想象的那么乐观。但是,只要掌握少量的基础知识和技巧,正确输入和使用符号是非常轻松的。下文中,我将总结一些容易误用的符号,并说明各平台上输入符号的一般方法。结合我的学习和使用体会,本文将不会按符号的用法来归类,而是按符号的「外形」归类,将几组形态类似而经常被互相混淆的符号放在一起比较说明。

本文涉及的主要符号及其输入方式

二、引号和各种「撇」

引号的弯与直

把引号放在最前面说,不是因为它的使用率最高,而是因为它最容易被用错。众所周知,引号不是一个符号,而是一对符号,有前后之分;它们是双引号 “”(U+201C 和 U+201D Left/Right Double Quotation Mark)或单引号 ‘’(U+2018 和 U+2019 Left/Right Single Quotation Mark),即所谓的「弯引号」。但是,键盘上却只有一个「引号」键,而且输入的也不是「正牌」的、弯曲的引号,而是垂直的 '(U+0027 Apostrophe)和 "(U+0022 Quotation Mark),即所谓的「直引号」。这种违反直觉的安排实际上是打字机时代的遗产:为了节省空间、减少机械结构,打字机的键位安排思路是「能少一个是一个」,而现代键盘则为了迁就习惯而将其原封不动地继承了下来。

两种引号

中文用户可能对这个问题感受不太明显,因为任何中文输入法下的引号键都会输出弯引号。「按一次是前引号,再按一次是后引号」是小学信息课就会教的口诀(尽管显然不严谨)。但对于几乎不需要输入法辅助的英文用户来说,图省事直接用直引号就是再常见不过的做法。因此,引号的「弯」「直」之辨是西文排版的入门课之一。翻开任何一本英文排版书籍,几乎都能找到对于直引号痛心疾首的批判,理由也很明显——太丑。在排版中使用直引号(常常也被嘲讽地称为「打字机引号」或「呆(dumb)引号」)被认为是一种偷懒或业余的行为。

macOS 和 …

译文 | ‘The Developer Migration’

WWDC 每年开场视频的固定主题都是向开发者致敬。相比于几次往年视频以开发者的作品——应用——为主角,今年的视频直接聚焦于这个群体本身,用比喻的手法将全球开发者前来参会的情景描绘为一个「物种」大迁徙的过程,以生物观察的视角和纪录片式的口吻勾勒了 WWDC 会场中的片段。

我个人对这个视频持保留态度。诚然,视频的拍摄手法非常新颖、制作质量一贯地突出;但这个「物种」的比喻未免有些牵强,其中强调的某些特质更像是对开发者的刻板印象——我虽然不是开发者,但也不免怀疑有几位开发者会认同「昼伏夜出」的生活状态是本性使然、而非工作压力所致。另外,旁白虽然文采颇佳,但似乎有些过度渲染,听起来有种「尬聊」的感觉。

尽管如此,这个开场视频也不失为一个值得多看几遍的有趣作品。这里试着将旁白译出,并对涉及的一些梗加以注释。

Northern California’s Bay Area. Here is the stage for a truly remarkable natural occurrence. 北加州的湾区,一场非凡自然景象上演的舞台。

Every year, a great migration is made by one of the world’s most mysterious species. 每年一度,世界上最神秘的物种之一,都在此进行一场宏大的迁徙。

To reach this …

Kobo 系统使用和修改综述

激活

  • Kobo 首次开机需要联机登录账号来激活。
    • Kobo 的激活服务器在中国大陆无法访问,需要连接可以正常访问互联网的电脑,使用 Kobo Desktop 客户端来激活。
    • 大量指南提出通过向 .kobo 目录拷贝其他用户已激活设备中的 KoboReader.sqlite 文件来绕过激活,原理是该文件中的 user 表中存储了用户登录信息。显然,这是极其错误的做法。
  • 登出账号会抹掉 Kobo 上的内容,并且需要重新激活。
    • Kobo 的登出操作实质上是对一系列目录执行 rm -rf 命令,其中包括上述 .kobo 目录。

系统与修改

  • 与 Kindle 等阅读器类似,Kobo 的系统软件是一个高度定制化的 Linux。
    • USB 模式下的根目录挂载在 Kobo 系统的 /mnt/onboard/ 下。
    • 根目录下的 .kobo 目录存储了