短而卷曲的

Cory Doctorow说他讨厌卷曲引号在网页内容虽然我同意他的观点,但我对这个解决方案完全不同意。

让我们清楚这一点:我的作者聪明小子活字,插件(很快,Blosxom)博客typographically-correct标点符号,自动生成多克托罗是抱怨,所以我不是一个公正的观察者——部分负责日益增长的运动走向博客上使用正确的标点符号。

而且我不能自豪。

多克托罗的解决方案是为每个人坚持7位ASCII字符。我的解决方案是解决或丢弃任何推迟软件,仍然坚持这样的限制这是2003年,对吗?

她有你的名字,她有你的电话号码

多克托罗开始:

Curly-quotes are the bane of my blogging existence, like a never-ending supply of pubes caught between my blog-teethWhy? Because if I blog your story and paste in an excerpt with a curly-quote, or an em-dash, or an accent character, or any other non-ASCII characters, the RSS feed for Boing Boing breaks, and then I get tons of cranky email from people who want it fixedThen I have to haul out the XML validator and slowly open, edit and save the offending post(s), until all the non-ASCII characters are g0nezored.

这似乎暗示需要聪明的标点符号转换成普通的ASCII字符生成有效的RSS输出不对它true that the “raw” smart punctuation characters aren’t valid; they simply need to be replaced by the corresponding HTML entity例如,商标符号的实体(™)”贸易;”; the entity for an opening double quote is ““价格;”或者,您可以使用一个数值的语法,很难记住,但是兼容更多的web浏览器左双引号”的数字实体&8220;”。

HTML entities aren’t hard to deal with by hand, but they can be difficult to remember, and they’re definitely ugly to look at while you’re writing但是,除非你是一个专业的web开发人员,没有理由手工处理它们,如果你只是想写,你的软件应该照顾他们。

I blame Robin Williams, the designer whose “Non-Designer’s Design Handbook” convinced a generation of geeks that their type would look suave if it came with em-dashes and curly-quotes, and caused us all to suffer through email, Usenet posts, and blog-entries where strange dipthongs are inserted in place of honest inch- and foot-marks, rendering the text unreadable except in whatever proprietary tool it was created in.

这是错误的。罗宾·威廉姆斯是一个圣人。一个, 我告诉你她的开创性Mac不是打字机是一个很棒的门外汉指南适当的排版和设计威廉姆斯写清楚,解释使用非技术词语表面上技术主题她的设计书籍是面向印刷设计,网页设计,但基本原则都是一样的。

It’s bad enough that we have three mutually exclusive line-break conventions, do we really need to migrate a bunch of centuries-old typesetters’ conventions into our ASCII paradise?

那种印刷排版是一种有着400年历史的艺术形式,并没有让它过时恰恰相反,这意味着我们幸运地有一个巨大的知识学习数字技术极大地改变了媒体和工具,但排版的基本问题仍然是相同的:风格,色调,质地,重量,以及最重要的是,可读性网页设计师应该忽略传统排版课程的想法与推荐摄影师忽略绘画艺术中的构图,框架和色彩课程一样愚蠢。

And exactly whose paradise is ASCII? The ASCII character set is comprised of a measly 128 characters, many of which are non-printing control characters它是可以想象的最糟糕的字符集,是最低公分母中最低的Compatible? YesCripplingly deficient? Yes, that too.

Sure, there are some good reasons to go non-ASCII (for example, if you’re writing in Hebrew, or even French), but the tools just aren’t there yet, especially as applied to curly-quotes and em-dashes and all of Ms威廉姆斯珍贵的非ASCII标点符号。

即使法国人吗?How generous! Finally, the millions of people whose names contain characters such as “é” can spell their names correctly without fear of offending Cory Doctorow’s sensibilities.

And exactly which tools “aren’t there yet”? Macintosh users have long enjoyed automatic smart quotes in their word processors, along with simple, logical keystrokes for en- and em-dashes (Option-Dash and Shift-Option-Dash, respectively)The Internet’s reliance on the decrepit ASCII character set isn’t just a huge step backwards for Mac users today; it would be a huge step backwards for Mac users circa 1987.

电子邮件和Usenet是一回事这些协议在设计时都只是纯文本,和智能标点符号不属于中等在电子邮件和新闻组,没有区分原始来源和所显示的另一端传输(忽略忽视像HTML和富文本邮件)你知道我打字的是什么。

但是网络是不同的:一个web服务器发送HTML标记,但是浏览器显示渲染输出,而不是源代码因此,尽管HTML源文件应该使用纯ASCII编写,但您可以使用HTML实体在呈现的输出中显示非ASCII字符。这就是为什么HTML实体存在。

多克托罗是正确的,存在许多愚蠢的软件,这使得难以使用从网络浏览器复制和粘贴的非ASCII文本例如,如果你复制粘贴一段从我的网站包含引号,文本将包含实际的卷曲的引号字符如果你想用这个文本<BLOCKQUOTE>部分在你的网站上,你将需要:

  • 将智能标点字符转换为HTML实体;
  • translate them into corresponding ASCII characters; e.g改变”©“ 至 ”(C)“,并将曲线引号转换为直线引号。

这并不是一个难以解决的问题的软件任何体面的文本编辑器或电子邮件客户端都应该能够将智能引号字符转化为7位ASCII等效字符,如果您使用的是不雅的文本编辑器,我认为这不是问题。

如果你的文本编辑器是你的网络博客软件提供的网络浏览器形式的蹩脚textarea字段,我特别不会对你表示同情然而,这并不适用于科里·多克托罗因为我碰巧知道他是一个长期的BBEdit用户 - 他甚至用BBEdit写下来的魔法王国)。

尖叫着蓝色的谋杀

然后是一个AppleScript BBEdit这将包含智能标点符号转化为普通的ASCII文本它会把引号变成直接引语,en-dashes正常连字符,em-dashes分成两个破折号和省略号分成三个点。

(更新:这个脚本实际上是愚蠢的相反,使用BBEdit脚本转换为ASCII插件我写了一篇示例脚本和说明,以及有关如何编写BBEdit将文本转换为HTML命令的信息。]

tell application "BBEdit"
    set my_opts to {search mode:grep, starting at top:true}
    set w to window 1
    if (selection of w as text) is "" then
        set target to w
    else
        set target to selection of w
    end if
    replace "[\\xD2\\xD3]" using "\"" searching in target options my_opts
    replace "[\\xD4\\xD5]" using "'" searching in target options my_opts
    replace "\\xD1" using "--" searching in target options my_opts
    replace "\\xD0" using "-" searching in target options my_opts
    replace "\\xC9" using "..." searching in target options my_opts
end tell

If there’s a selection in the front BBEdit text window, the script will only affect the selected text; if there’s no selection, it will process the entire window将其保存在BBEdit“Scripts”文件夹中,使用“脚本”调板为其设置键盘快捷键,并且您有一键击解决方案。

如果你使用Mailsmith,您可以使用该脚本简单地通过改变告诉目标从“BBEdit”到“Mailsmith”如果您正在使用一些脚本化的电子邮件客户端,你在你自己的。

它太糟糕了,她有你的球

处理HTML实体是一个简单的软件问题微不足道的您不必手动处理HTML实体您不应该记住它们,或者在编辑时被迫查看原始实体你应该能够复制文本从web浏览器和正确的事情发生,你粘贴例如,Dean Allen非常出色纺织品web应用程序不仅将直接引用转换为引号,但它也允许你简单粘贴原始引号(和其他聪明的标点符号),它会自动生成适当的HTML实体,准备发布在网络上任何一个角落这就是所有Web编写软件应该如何工作的方式Textile是Dean现在测试网络发布系统的一部分的Textpattern; once Textpattern-powered sites start popping up, we’ll be one step closer toward making proper punctuation the norm, not the exception.

适当的排版标点符号是400岁的消息在今天的网站上被认为是异国情调,甚至是非标准的,这是令人尴尬的解决方案不是每个人都将自己限制在1970年代VT-100终端上使用的相同字符集The solution is for software developers to write smarter software每天越来越多的网站开始使用智能标点符号,使网站,不要和背后的软件看起来很糟糕。

有人说博客