本文是万维网联盟(World Wide Web Consortium,简称 W3C)国际化工作组(i18n WG)组长 Richard Ishida 先生在 2017 年 3 月 17 日在日本电子出版协会(JEPA)举办的讲座「《日文排版需求》的今天和明天,以及 CSS 日文排版」上通过 Skype 用英文发表的演讲。虽然此演讲是面向日本听众讲解关于《日文排版需求》的内容,但考虑到该文档在 W3C 国际化工作中的重要地位,并且对《中文排版需求》有重要影响,这场讲座的内容对于中文社区也非常有意义。正如日本电子出版协会 CTO 村田真先生所说:「W3C 标准不是坐等着让谁做给我们的,而是靠大家的力量一起做出来的!」作为《中文排版需求》编辑之一,笔者经授权在此提供翻译版本,目的是希望让中文社区了解日文以及其他文种国际化工作的动态,认识到中文排版需求与日文工作的差距,呼吁中文社区有所思考并积极行动起来,为更丰富的中文电子环境做出贡献。
作者 / Author: Richard Ishida
原题 / Original Title: Next steps for Japanese script support
授权翻译 / Translation with permission: Eric LiuOriginal English Text Copyright © 2017 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply. This translation has not been reviewed by W3C.
正如大家所知,作为日本多名字体排印专家多年来活动的成果,《日文排版需求》(Requirements for Japanese Text Layout, JLReq)文档最新版已于 2012 年 4 月发布。虽然其中的很多需求最初均来自书籍出版的使用案例,但大多数需求仍然与 Web 网页,尤其是网络上的电子书和其他分页格式密切相关。这份文档一直是 W3C 标准、网页以及电子书开发者非常有用的需求来源。
因为与技术非相关,《日文排版需求》为大家提供了一个非常有用的基础,用来评估 Web 平台的状态是否能满足日本出版物的需求,而这份文档在未来也应该会继续发挥作用。最近,《日文排版需求》文档(英文和日文)被移植成 ReSpec 格式并添加到 GitHub 库上,这样不仅可以方便后续工作,而且还可以更简单地抓取并管理文档中的各种问题。
一旦我们对「需求」有了一个很好的描述,那么下一步就应该运用这些需求,去评估其与特定技术的特性集之间的差距。最常见的情况下,这是由浏览器、电子书阅读器的实现者,或者由规范的开发人员针对性地去完成的。但在其他情况下,会采用一些更富有协作的方式进行。
例如,2013 年在东京举办了一场题为「电子书与 i18n:电子书更为丰富的国际化」的研讨会,会上有大量的日本观众参与。会议报告中的「优先问题列表」指出,研讨会参与者关注度最高的两个问题是对「竖排」和「注音假名」(ruby)的支持。其他受关注点还包括,针对其他文字编撰类似《日文排版需求》那样的需求文档,以及对换行规则、强制换行(泣き別れ/nakiwakare)1、纵中横(縦中横/tate-chu-yoko)更好的支持等等。
目前,我们正在开展针对其他文种的需求撰写工作。以《日文排版需求》这样的标杆文档类似,现在已经发布了 CLReq 即《中文排版需求》、KLReq 即《韩文排版需求》、ALReq 即《阿拉伯系文字排版需求》、ELReq 即《埃塞俄比亚文排版需求》、ILReq 即《印度系文字排版需求》、TLReq 即《藏文排版需求》(这份文件仅是一份初期草案),而 HLReq《希伯来文排版需求》马上就要问世。
在那次会议之后,针对「竖排」和「注音假名」的标准化工作也一直在进行。尽管还需要继续完善,但是这些特性在浏览器方面已经出现了令人鼓舞的一些进步。《CSS 书写模式(第三级)》规范目前已处于「备选推荐」(CR, Candidate Recommendation)状态2。这份文档和《CSS 文字模块(第三级)》《CSS 注音排版模块(第一级)》 等等其他文档一样,都从《日文排版需求》提供的信息里获得了极大益处。
今年 1 月,日本一些组织的代表向 W3C 提交了一份名为《使用网页技术进行日文字体排印的当前状态》的「成员提交」件,其中研究了 CSS 和 HTML 针对日本的分页文档排版是否足够。他们具体分析了两份文档提出的需求:一份是 W3C 的《日文排版需求》,另一份是日本电子书籍出版社协会(The Electronic Book Publishers Association of Japan, EBPAJ/電書協)的《EPUB3 日文排版要求表》。这份提交报告显示了哪些需求已经由哪些 CSS 规范所覆盖并为主流浏览器所支持。报告的结论是,现在的 CSS 对日本分页文档的支持还是相当不错的,如果有更多的模块(尤其是对分页媒体)能被完全开发并实现,则会更好。
以上提到的这些发现,对于纵观整个形势非常有用。而且经过长时间不断维护,并与「特性优先度」和详细研究等工作相结合,则会有更大的价值。W3C 最近的一些开发工作能助此一臂之力。
今年 3 月 13 日,W3C 国际化工作组发表了一篇题为《中日韩蒙竖排风格化》的文档。这份文档可以帮助内容创作者们利用 CSS 去创建中文、日文、韩文和蒙古文的竖排文本。不仅如此,文档里还详细描述了在主流浏览器里哪些特性可以实现、哪些不行,并提供了一些测试,让用户在自己的浏览器中运行。这其实是提供了非常有用的下一步工作,从用户的角度总结了当前状态下浏览器对竖排文本支持的情况。而实际上,编译这篇文章初期素材的过程也同时影响了《CSS 书写模式》规范的开发。
现在我将列出 W3C 国际化工作组最近所做工作的一些进展,其中也包括支持日文字体排印相关特性的部署。
- 《注音标记》一文最近已经由国际化工作组发布。此文告诉内容创作者如何为注音(ruby)做标记。和前面提到的关于竖排的文档一样,这份文档也带有示例,读者可以用来测试他们的浏览器的行为;同那份文档一样,这份文档的撰写同样影响了 CSS 规范的开发。
- 《注音风格化》正在筹备中,这份类似的文档将会根据 CSS 注音规范讲述注音的位置属性。和竖排那篇文章一样,这篇文章也将提供「哪些浏览器支持哪些特性」的详细信息,并附有测试文件的链接。
- 为「网页平台测试库」(Web Platform Test Repository)开发了一套范围更广的测试。这些测试也是国际化测试套件的一部分,除了测试链接还会显示主流浏览器的实际效果。相关测试包括:
- 国际化工作组刚刚发布了一份《国际文字排版与字体排印索引》文档的「首次公开工作草案」(FPWD)。这份文档针对的是浏览器实现者和规范开发人员,为他们提供了有关如何支持来自世界各地的各个文种、书写系统的字体排印特性,并且还提供了相关规范信息、测试以及有用的文档和论文。今后还将 CSS 规范链接到这份文档里,以便让实现者可以找到有关文字如何工作的详细信息。预计这份《索引》文档将会持续更新。
这份文档不仅可以帮助人们找到针对某个文种(比如用于日文)的需求信息,而且还可以(向文字需求的提供者)指出当前使用某个文种时存在的问题,(向规范和浏览器实现者)提出在规范和浏览器中实现某些特性的要求。例如,目前就有人在询问
text-decoration-skip:ink
应该如何用于表意/CJK 文字,还有的人在问在「自动隐藏注音」中强调标记应该有什么样的行为。这是我们首次提供了这样一种方式,针对某个特定文种如何运作,以及针对该文种的各种实现请求的进展,都可以对当前存在的问题进行追踪。 - 刚刚提到的《字体排印索引》还为一个全新的「字体样本 GitHub 库」提供了索引。这个库收集了许多字体排印的用例图片,可用于示例、测试或插图。例如里面有图像在解释日文的「翻转列表式样」特性,还有解释「行内注」(割注/warichu)的插图等等。
- 上述这些材料和索引,对于最近一些 CSS 和 HTML 之外涉及日文字体排印的新标准化工作也很有作用。去年,国际化工作组审查了 WebVTT 规范,我们目前正在与 TTML2(时序文本标记语言第二版)的创建者进行讨论。这两个规范都在为日本市场准备支持竖排和注音假名,但他们都需要帮助以确保指定的特性能够满足日本用户的实际要求。
- 我们预计在未来,其他规范也会需要类似的建议,并且国际化工作组目前正在考虑为「注音标记」编辑定义一个内容模块,将《注音标注》(Ruby Annotation)规范和「HTML 注音内容模块」之间的差异联系起来。
支持竖排、注音假名和日语的其他功能的工作一直在前进,但仍有一些功能需要浏览器厂商的承诺来完成所需的支持。例如,虽然竖排文本大多数都已经实现,但对于优秀的日文竖排来说,text-orientation
(文本方向)中 upright
(直立)值是必须的,但目前浏览器的支持还很不好。同样,支持 text-combine-upright
(纵中横)的 digits
(位数)值也可以让内容创作者变得更轻松,但依然没有得到浏览器的广泛支持。目前大多数浏览器对「双边注音假名」的支持都需要使用 HTML5 嵌套 ruby 语法,而不是采用更直接、可扩展的 ruby 内容「表格模块」。而 ruby-position
(注音位置)也需要更好的支持,更不用说「注音文字对齐」、「注音文字层叠处理」等更高级的技术了。其他特性也是如此。
但是请注意,目前的一个主要障碍是浏览器、阅读器的实现者有太多的事情要做,我们需要说服他们去填补这些差距。通常来说,说服他们最好、也是唯一的方式,是让那些受影响的用户社区为实现提出一个强有力的理由。单靠逻辑参数是不够的。浏览器实现的工作人员需要认识到,不支持这些特性的确会对应用软件的使用造成明显的困难。
因此我建议,在日文特性支持方面,我们要继续分析的差距在哪里,但是要从一个更细致的层面去做;然后我们还要为处理这些差距进行优先度处理并创建专案,还要比以前更有规律地定时去做,这样我们才能找到一些方法,向他们展示用户、内容创作者和开发者的痛点在何处,这样才可以说服实现者在浏览器和电子阅读器中加入那些缺失但却需要的特性。
日本的字体排印专家也可以考虑根据 W3C 国际化兴趣组(现在针对这样的小组我们已经有一个标准框架)对「日文排版工作任务组」进行重组,以便开展《日文排版需求》的各种编辑、勘误或者可能是一些实质性修改。
而且,与《中文排版需求》(还可能包括韩文,如果还有活跃的专家)协调工作也非常有价值,这对于诸如竖排文本、注音、换行、文本装饰等特性应该如何工作会有一个更为清晰的认知。在标准化过程中,也有一些微小的差异需要权衡。
主要建议
- W3C 国际化工作组针对使用日文(和其他)文种特性提供详细指南方面的工作应该继续,除此之外还包括配套的索引、库和测试工作。这是非常有意义的。
- 其他文种(不仅是中文和韩文)「需求文档」的编撰工作都从《日文排版需求》工作里得到了很多重要的相关益处,我们应该继续支持并监管那些工作。
- 日文社区应考虑重新建立《日文排版需求》工作组,由 W3C 国际化兴趣组对文档进行维护。
- 日本社区越来越多地参与支持日文特性相关的 W3C 和 WhatWG 标准的评审,这将对改进这些特性在规范和实现中的应用有极大帮助。
- 日文社区应该看一下已支持的特性方面的当前差距,以「实现的紧迫程度」进行优先度排序,但要做得比先前更为详细。
- 在这个优先级排序工作之后,日文社区应制定一份路线图,加上用例和指示说明为什么这些特性是必须的,这样才能向实现者展示这些特性的实例,以确保被它们被采纳。日文社区应该提出存在的问题,并与实现者合作去推进实现。
注:
- 「泣き別れ」直译是「挥泪分开」的意思,在日文排版里指「被迫强制换行」,比如长达两行的一个小标题被硬生生地拆开放到两栏或者两页,或者夹杂在日文里的一个西文长单词不按分音节原则的「连字处理」(hyphenation)而是硬生生地按照日文的行长换行。根据版式的具体情况,这样的特殊处理有时候应该避免,但有时候又是必要的。比如根据日文的需求,Adobe InDesign 从 CS4 版本起就针对西文增加了此项功能,该功能在中文版里被翻译做「任意连字」。
- 根据《W3C 流程文档》的规定,一份正式的 W3C 推荐标准的状态分为:「首次公开工作草案」(FDWD, First Public Working Draft)、「公开工作草案」(PWD, Public Working Draft)、「备选推荐」(CR, Candidate Recommendation)、「提案推荐」(PR, Proposed Recommendation)直至成为最后的「推荐」(W3C Recommendation);另一方面,包括《中文排版需求》在内的「需求文档」不属于 W3C 推荐标准,而是属于「工作组笔记」(Working Group Note),目的是为推荐标准制定提供参考,这类文档只有「首次公开工作草案」(FDWD)、「工作草案」(WD,比如目前《中文排版需求》2015 年 7 月 30 日正式发布的状态)和正式发布的「笔记」(Note,比如目前《日文排版需求》2012 年 4 月 3 日正式发布的状态)这两种状态,另外还有若干未经正式发布的「编辑者草案」(Editor’s Draft)。