The latest update to the Chinese Text Layout Requirements involved a significant structural overhaul. The new version aligns its structure with other language layout requirements, such as those for Arabic. This consistency aims to make it easier for standards and browser developers to understand and use the document, facilitating better cross-referencing and global typography advancements.
Internationalization (i18n) involves designing and developing software, websites, or products to adapt to various languages and regions. Localization (L10n) is the process of customizing an internationalized product for a specific language or region. Understanding this distinction is crucial for creating flexible frameworks that can be easily adapted to different locales, ensuring a better user experience across diverse linguistic and cultural contexts.
Unicode plays a critical role in supporting Chinese text layout by providing a standardized encoding system that ensures consistent representation of characters across different platforms and devices. This is essential for handling the complexity of Chinese characters, including the need for specific punctuation marks and the integration of features like pinyin annotations. Unicode's support for variation sequences also helps in distinguishing between different forms of the same character, which is vital for accurate text rendering.
The W3C’s patent policy ensures that all web standards are royalty-free, meaning any patents essential to implementing a standard must be licensed without charge. This policy promotes widespread adoption and innovation by preventing proprietary control over essential web technologies, ensuring that the web remains accessible and usable for everyone, regardless of their ability to pay for patent licenses.
Developers face several challenges when implementing Chinese text layout, including handling the absence of word spacing, managing vertical text orientation, and dealing with complex punctuation rules. Additionally, the integration of features like pinyin annotations and the need for precise control over character spacing and alignment add to the complexity. These challenges require a deep understanding of both the technical aspects of web development and the specific requirements of Chinese typography.
用听学方式扯视觉艺术如果您可以脑洞打开我们的目的就达到了大家好您现在收听的是 TheTaiQi 下全球首家用华语制作的字体排音主题播客节目《自弹自唱》我们的字是文字的字关于文字的唱弹而不是弹唱我们的播客开播已经第九年了隔周二定期播出从来没有挑过一次票我是你们的主播文川西半东邻居 Eric
我是主播黄虎加冕秦真云虽然在立志 FM 网易云音乐还有小宇宙 SpotifyYouTube 等等这些平台上面都能收听到我们的节目但还是强烈的推荐大家使用泛用型的播客客户端来收听我们的自弹自唱毕竟我们是一档独立的播客而不依赖于任何一家平台
那我们的节目时间比较长是支持这个章节的跳转功能的并配有章节的插图比如如果您觉得我现在说的这个片头比较长的话呢就可以利用这个功能直接跳过那各种泛用型的播客客户端呢都是支持的比如苹果系统自带的这个播客的那个 APP 就可以不过好像那个小宇宙还不完全支持
我们节目的主站的地址是 thetide.com 欢迎大家与我们交流与反馈推荐使用邮件的形式我们节目的联系地址是 podcastatthetide.compodcast 的拼写是 podcastthetide 的拼写是 thetype
我们开播九年了现在我们正在进行一个播客的真文活动题目是我与自弹自唱或者你可以写假如没有自弹自唱欢迎给我们写邮件
如果您喜欢自弹自唱呢也欢迎加入我们的他的会员计划虽然我们这个播客只有声音没有图像但是如果您加入我们这个的他的会员呢每个月可以收到我精心制作的一份这个会员通讯啊里面有我们这个播客的扩展阅读这样的您就可以一边听播客啊一边看这个通讯里面的图文那
那有关这个会员的详情呢请登陆我们网站的 tai.com slash members 请注意是个复数的 s 那会员的费用呢是每个月的四英镑相当于 35 块钱人民币吧给我们主播一杯咖啡的价格那年付会员呢还有两个月的优惠
那今天呢是我们常规节目的第 247 期也是我们 2025 年的第一期节目啊大家新年好那我们一月份的这个会员通讯呢将在 1 月 21 号的那个礼拜二呢发给大家啊到时候呢会有我们前面这几期的这个颇展阅读啊到时候呢请我们这个会员呢注意查收
那么今天在我们这个训练演播室里面还是请来的一位嘉宾按照老习惯我们请嘉宾做下自我介绍 Eric 好 真宇好各位自弹自唱的听众朋友们大家好我是薛富乔
我现在是在 W3C 工作,是 W3C 的战略团队成员同时也是国际化标准工作的负责人也是中文排版需求的编辑之一很高兴今天能来自弹自唱和大家聊一聊国际化中文排版等等这些话题吧
好 欢迎傅乔 真的是其实咱们认识好多年了我都想不起来咱们是什么时候认识的 17 年吧但是在具体见面的话都是在北京见面但是你现在在外面出差是吗对对 我这两天在深圳出差感谢傅乔在百忙之中其实年底大家都挺忙的年底 新年年头春节的话就按春节话叫年底啊
在百忙之中参加我们的节目我一直都在想就应该叫什么时候叫傅乔来参加节目然后刚好呢其实在新年 2025 年的 1 月 7 号呢傅乔写了一篇文章也发表在我们这个主站 The Type 上面这篇文章呢叫新版中文排版需求结构的统一与未来的可能性因此呢傅乔呢也成为我们 The Type 最新的一个作者
我是他这篇文章的编辑嘛感谢感谢然后呢我就把你登记成我们新的作者然后抬头啊 W3C 国际化专家听起来很高级的样子不过我觉得好像还是要和大家解释一下吧其实很多人听说过 W3C 这个名字可是可能
大家就觉得很模糊到底是什么样一个组织你们现在是公司制还是是什么样的你跟大家介绍一下吧 W3C 对 W3C 从组织结构上其实我们有一个比较小的一个全职团队大概有 50 多个人分布在全球各地
从管理上来说我们是曾经由四个签署联合协议的总部机构共同运营包括美国的 MIT 欧洲的心机学和数学研究联盟日本的清雲艺术大学还有中国的北京航空航天大学
这四个机构但是从 2023 年 1 月起 W3C 成立了一个独立的反人实体就是正式的转型成了一个公益性非盈利组织就是不再是由这四个
机构联合运营了这是组织机构上来讲嗯我觉得最主要是要先把这个中文名字介绍给大家嗯对对对对应该先说的中文名叫万维网联盟 W3C 或者说万维网联盟的创始人是 web 支付 Tim Berners-Lee 爵士嗯
他在 2017 年获得了图灵奖好厉害就是名字带爵士的都是高级人物 The World Wide Web 这个我觉得这个中文名字翻的特别好万维网然后呢我们是这个万维网最后这个 consulting 我们是翻译成联盟是吧就是万维网联盟 consultingUnico 的也叫 Unico Consulting 是吧
对 这个三井这个词挺难翻的其实其实和我们大家想象的那个联盟还不大一样啊原来什么财团啊像那种那种组织感觉一开始是觉得那刚才你也说了嘛就是原来是在这四个地方嘛然后原来是就我一直印象中就是在中国的话就是有一个
北航团队就 W3C 有个北航团队对那你现在就是 W3C 是在中国还是你们有办公室是吧对我们的办公室目前还是在北航北航从 W3C 总部机构现在转型成了我们叫这个 partner
其实日常的工作没有太大的影响只不过是法律上的一些变化不过反正 W3C 嘛是所有几乎基于这个 web 的技术都管是吧对主要是比如说呃
格式类的像 HTML CSS 这些都属于格式还有比如说 API 这些都属于 W3C 管网络协议的话有一部分但是不太多协议主要是其他的别人组织来做对通信这方面
因为其实现在就是因为 web 技术不仅是 web 技术有好多其他的就相关的技术也挂在也是由 W3C 来管的像就因为像比如说那个电子书的那个规范嘛对吧原来有另外一个联盟嘛对吧然后呢又改做改做了现在反正现在是挂在这个 W3C 底下对吧嗯是的像那天我得查那个什么各种各样的一些什么图形格式啊
也是挂在 W3C 底下对 PNG SVG 这两个是在 W3C 然后 JPEG 的话不在 JPEG 专家组他们本来是专家组还有其他的像 W3C 的无障碍标准应该是很多国家的国标都是基于 W3C 的无障碍标准去
去支电的对因为有些东西也是转化成 IC 的和 ISO 的那些东西对吧所以就是在国际标准方面也是在做的所以其实可以简单一句话就是只要你上跟 web 有关的其实 W3C 都是有非常密切的关系的对
可以这么说那接下来呢就是国际化了我觉得很多朋友一直分不清楚国际化和本地化当然这是在软件工程上面我们是严格区分的对国际化我们一般叫它这个 I18N 因为这个 I 和 N 之间有 18 个字母
国际化我们指的是比如说我们在设计或者开发软件网站或者是产品的时候让它能够去适应不同的语言和地区的一系列技术还有指南我们还是挺认真区分国际化和本地化包括翻译这些词的国际化它是一系列的技术和指南
而本地化是那个适配的过程是把一个已经国际化的产品针对特定的语言或者地区进行定制来满足这个语言或者地区的特定的需求而翻译呢是把这个文本从一种语言转换成另一种语言它是本地化的一部分大概是这样的一个关系也就是说国际化是为了本地化和翻译
提供了一个框架和架构让他们更容易进行比如说我们设计网站的时候要考虑到不同语言的阅读习惯中文从左往右或者是从上往下阅读阿拉伯字母从右往左阅读可能还有不同地区的用户有不同的日期时间格式等等这些是国际化要考虑的问题
而我们把网站的界面翻译成其他语言这就是本地化要做的工作这里面有好几个关键词一个是全球化一个是国际化
然后本地化 localization 还有一个翻译 translation 这四个生然后这几个英文单词都是巨长无比的所以国际化是 I18N 对吧就是然后本地化是 L
十恩嗯我就这哎呦这种缩写方式啊真的是这个没文化的缩写方式这什么鬼吧就连连那个词根都不找到直接数字母嗯服了他们了这件事嗯
确实所以不过正如刚才富乔说的这一点很重要其实是两个方面对吧如果你先说软件产品的话你做国际化的话就是要让你这个软件产品能够适用于任何地方的要提供这样一个潜力
从某种意义上说是提供一个框架要和特定的语言地区是脱钩的以便于它去进行不同的移植那反过来另外一个方面本地化就是你针对一个地方你要做一次本地化对吧针对中文你要针对中文
甚至呢然后在中文地区里面中国大陆啊新加坡的中文台湾的中文香港的中文对吧你各个地方各个地方你都要做做本地化就是要做好多次的这样一个事情
现在 W3C 的国际化团队的话实际上你是负责人吗对我现在我是从这个 24 年的 1 月份开始整体负责 W3C 的国际化工作嗯
因为之前就是一直是那个 Richard 在做很长时间吧,对吧?对,他从 2002 年到 2023 年,其实等于 21 年的时间。好厉害,Richard 好厉害。对,他从 24 年开始转为半退休状态,就是没有完全退,但是工作时间比较少,对。
休息为主嗯不过的确以前那些就是整体那个架构啊都是 Richard 他们建立起来的嘛嗯 Richard 他本人他是住在英国对对他是在英国离伦敦不算太远啊不在伦敦以前就是早期的时候嘛对吧那时候还听 Richard 给来来来做些演讲啊然后什么东西啊嗯
嗯那所以现在就是相当于他属于开始慢慢的退居二线然后呢就全部提大部分事情就开始你来接管了对吧嗯
对所以我觉得你很忙因为像平时我们具体做的话因为我们都是那个中文拍板需求的那个编辑嘛所以我们会开篇集会然后有些东西的话这个是我们分内工作的事情但是呢除此之外的话你还要去跟其他所有其他各种各样的吧对吧像日文拍板需求像日本人开会你也要参加对吧你也在听是吧对日文拍板需求的会反正我也听了一些
没有每次都去吧但是也参加过很多次他们那些那帮人而且很能扯我觉得就是要能跟上他们的话题都很不容易然后我们想这些国际化专家是不是会各种文字
你是不是日语也挺好的日语的话对学过日语其实我可能认认真真学过时间比较久的可能就是英语日语对其他的有很多虽然也学过吧但是就是比较基础啊
我感觉肯定会多种语言文字对国际化的工作还是有帮助像 Richard 他会的比较多他会法语、西班牙语、意大利语、德语、俄语当然这个肯定有帮助
另一方面其实更重要的我觉得是能够理解和尊重这个不同语言之间的差异文化之间的差异要把能把这些差异去考虑到这个对对对标准还有产品的设计当中所以其实语言说实话语言只是一个工具嘛对吧但是语言通通过语言这个工具和桥梁嗯
因为你最后在做所有的产品还做这些服务的话最后你是要面对的是用户啊然后呢要有这个要面对的一个不同的文化啊所以呢这个掌握这个思路还是非常关键的嗯我的印象就是你平时一天到晚在开会然后呢是的就是各种时间的开会你们打
而且你在北你平时是住在北京是吗对对平时在北京那你你跟我们家真鱼一样到处也是到处一天到晚导师插的
对晚上开会确实比较多其实我很少在节目里面说真云的工作情况其实真云也是一天到晚在到时差跟他们国际团队在开会我就觉得大家的安排时间的能力非常强有时候也是被逼的
我很好奇你是什么教育背景啊我是计算机科学对计算机背景所以还是理工科类出身对不过这也是很胜利胜章的事情现在来做 web 技术
好吧,那其实呢,我觉得这样的话,可能大家呢,对薛富乔,然后对富乔的平时的一个工作可能有一些初步的了解了。当然了,今天我们播客是自弹自唱嘛,我们讲的是字体排音。其实我们播客开播九年了嘛,然后在很长时间内我们多次提到了这个中文排版需求这个文档。
是不是要稍微跟大家讲一下这个中文排版需求文档的一些历史啊简单讲一下对这份文档简称 CLREC 它是大家都知道是 W3C 发布的文档
最早的一份草案应该是 2015 年发布的之前我记得 Bobby 对 Ethan 应该都在节目上讲到过一些历史总的来说这份文档我们的目标读者包括外部标准的开发者比如说早期可能开发 CSS 甚至是像 XSL FO 等等
这些排版引擎外部标准的开发者他们可能不一定理解中文包括一些其他文种的一些排版的细节
那么我们就开发了排版需求文档最早是日文后来也开始慢慢有其他的去让这些开发者去了解中文排版有什么需求除了标准和排版引擎的开发者也包括比如说普通的 web 开发者他们可能也能去获得一些信息比如说中文排版需求里我们指定了一些这个标点的码位等等他们也可以做一些参考
简单来说,这份文档就是告诉大家一个合格的中文排版系统应该是什么样的,需要支持哪些特性。尤其是中文排版和西文排版有很多不同,我们没有空格分词,我们有这个直排,有很多这个标点符号特殊的处理。开发这份文档,我们就是要把中文排版的特点和要求系统的整理出来。
给开发者一些参考和指导能够希望让中文在 web 上得到尽可能完美的呈现吧让用户有更好的阅读体验嗯
的确是的我现在在翻我们自弹自唱的这个秘密节目我们提到几次这个中文排序曲我现在跟大家在上面翻一下我们 2015 年开播的我们 2015 年开播的时候 11 月份的第七期节目
当时我就把那个 Bobby 叫过来了我们老听众可能知道我们说的 Bobby 是谁董福新先生当时他还是就是我们这个中文排版需求特别任务组的这个连职主席嘛当时主席是他嘛我们自弹自唱的第七期节目名字叫通极中文字体排印事业的贡献者
但是和大家介绍一下最基本的我们中文排版需求的任务团然后我们在做这样的一个文档
之后其实在后来比如说我们自弹自创的第 143 和 144 期也是叫 Bobby 一起过来讨论一下中文的电子书为什么中文电子书还这么差然后 CSS 中文排版的十年魁部但是也聊了一些
就是在我们自弹自唱的第 143 期和 144 期之后呢我们自弹自唱的第 186 期呢是真宇当时在 2022 年在 W3C 的这个全球技术大会上为大家那时候是在杭州是吗真宇对是我不知道那个算分柜场还是什么这个还要傅乔介绍一下傅乔要我去
对当时因为是新冠期间中国这边的会员基本上都就是 W3C 会员基本上都没有办法出国开会最后我们就想了个办法在中国办了一个分会场就是每年的我们叫 TPAC 会议是这个 W3C 每年的最大的年度大会
本来是只有一个会场那一年比较特殊我们在中国办了一个分会场所以就是在 2022 年啊然后在这个杭州的分会场呢我们正于啊应 W3C 的邀请呢就分享了这整个呃我们当时啊中文排行需求的呃工作进展啊
所以我们自弹自唱的第 186 期呢就是当时在杭州这个现场的一个录音啊真于给大家讲的在 2022 年为止的一些新的进展
那么刚才也提到的富乔在我们的 type 上面发表一篇新的文章就是在 2024 年底为止我们又发布了新版的中文版版需求这一次其实是一个非常大的变动对吧所以我觉得非常有必要花一点时间和大家讲一下我们这次变动主要是有什么样的一个
内容对这次更新最大的变化是这个结构上的调整新发布的这个版本我们在结构上和其他的排版需求保持一致比如说这个阿拉伯字母的排版需求这个是我们比较早期开始调整的这个文档我们把这个结构一致化了之后是希望让
这些排版需求包括中文排版需求对标准和浏览器的开发者更加容易理解和使用
就是通过这次更新我们希望 CLREC 能够更好的和其他语言的排版需求相互参照一起推动全球各地排版技术的进步虽然我在之前的节目讲过很多遍但是我觉得还是要再和大家说一遍就是我们这个中文排版需求它的文档它并不算是 W3C 的规范
它的这个地位叫 Note 是吧就是一个笔记对这个 Note 和这个正式标准的其实最主要的区别是这个专利政策因为正式标准它是受这个 W3C 专利政策保护的也就是我们每一份正式标准都要遵循这个 W3C 的 Royalty Free 的
也就是说如果你是 W3C 小组的成员,这个小组在制定一个 web 标准,而你拥有该标准所必须的专利,那么你必须要以免版税的方式把它许可给所有人,也就是所有人在实现这个标准的时候使用你的专利技术,不需要向你付任何的费用。
这是为了确保 web 的基础设施能够让所有人去使用,而不是那些只是有能力支付专利费的人去使用这一点其实是 W3C 和很多其他标准化组织的不一样的地方很多标准化组织都没有这种专利保护
这其实是最大的区别为什么真实标准要专利保护呢因为他们是真正的关于这些技术细节那么就有可能有专利相关的内容而 Note 的话一般不会有这种技术细节如果有的话我们一般也不推荐发布成 Note
而且其实就是规范的话 specification 还有像什么推荐推荐规范吧叫 recommendation 啊那就当然了这个具体的名字会不一样了这个从实作者的角度来讲的话那个规范就必须遵守嘛嗯对吧对那 note 的话因为这个中文叫什么叫什么参考笔记还是叫小组备忘嗯
小手被忘这个东西就是给参考用的嘛就 reference 嘛对吧那在实作的时候呢给予参考然后呢有的时候呢就它本身的内容也是嗯
我们专家在写 specification 在写规范时候的参考我们先把这个需求写出来然后为了实现这个需求比如说才会有一些 CSS 的这样的属性然后你去看这个 CSS 属性的时候他说我在里面具体的属性然后有这个值为什么要设这样的可持那是因为比如说
日文它有这样的需求中文有这样的需求然后几天大家可以去看需求文档
是这样的一个关系所以像很多 CSS 是规范所以很多开发者我们在做 web 的朋友他们肯定是那个都是像法律一样的东西对吧必须要去遵守的对吧瀏覽器他们要去实现的但是我们写的这个需求是一个参考但是是先有需求然后才有实现这个逻辑关系是这个样子对对
然后刚才呢就是傅乔也其实轻而易举带过了说我们 W3C 现在有一个统一的一个全球化的框架但是我觉得还是要跟大家介绍一下这个框架是什么因为背后其实仔细打开看还是蛮复杂的对吧后面就有什么矩阵啊有什么什么差距分析啊这个东西可能一般的朋友并不太知道对
这个框架其实是我们在国际化方面工作的一部分国际化其实还有其他的很多工作比如和开发者相关的一些而这个框架更多的是和分析这些语言书写系统
的差距需求这么一个框架就是我们要了解不同的语言在 web 上的知识情况找出里面存在哪些问题有哪些差距我们才能更有针对性的去制定标准
来解决这些问题为了去做这些分析早期像 Richard 他制定了很多的相关的辅助的工具比如说刚才 Eric 提到的语言文字的矩阵它其实是一个不同的语言跟数学系统有不同的排版惯例这个矩阵就是像一个热图一个 heatmap
它里面有很多不同的颜色来表明缺少这个特性的支持对外部使用有多大影响
里面深绿色的就表示没有问题而红色就表示就是这个功能存在的问题就让 web 上使用这个语言非常困难那么颜色越浅表示状态越好对这是一个整体的框架在此基础上我们可能有这个需求文档去描述需求有差距分析文档去
去分析这门语言它的每个排版特性的支持情况怎么样如果支持的不好,具体的问题在哪可以把这个链接到相关的需求文档我们会去编写一些测试样例去链接到相关的测试
如果找到问题,比如说是标准的问题,那么我们去和相关的标准工作组谈。如果是实现的问题,我们去和比如说浏览器厂商去谈,或者是跟自己厂商去谈,或者是跟 Unicode 去谈等等,去找有什么问题。这是差距分析,大概就是这样一个框架。
所以我觉得就是现在虽然表面上体现出来是一个 metrics 就是一个矩阵你说是矩阵也好说表格也好但是事实上呢我觉得就是做这个矩阵更难因为做这个一个表格嘛就可能大家当然我们会把这些今天讲的这些
具体的页面我们会放到我们 show notes 我们节目简介里面去大家都可以点去来看我们 W3C 的这些内容都是公开的大家可以想象一个表格的话肯定就是有行有列对吧那行横行的话就是有这么多的语言这么多的文字比如说有中文英文各种各样的语言和文字那么列
其实要做多少个项目对吧其实就是你要在网页上去实现那它有各种各样的问题嘛对吧比如说竖排和双向那它的字体 OK 不 OK 因为不同的语言和文字啊它们所面临的这个问题啊其实重点不一样嘛其实
其实刚才还是在那个文章也稍微提到了就是像我们中文中文排版的话就是最重要的总是在讲这个标点的事情对吧
然后就总觉得这个什么标点挤压这个东西对我们中文排版非常非常重要可是对于阿文排版的话他们首先就是那个左右方向都搞不清楚的话这个对于他们来讲就非常难用对吧连字都排不那个顺序都不对对像对于东南亚的一些语言文字来讲他们连那个字都显示不对
他们会有那个 shaping 的问题对吧那个字他们是按那个音节搞一团一团的对吧有的时候上下左右然后还要结合还要变形像他们连字都显示不对
更不要就是后期那些牌吧就在大家想就是各个言文字他们虽然现在大家都要在 web 这个平台上面啊进行显示可是大家的需求不一样然后大家的难点也不一样所以啊我觉得就是一开始 Richard 他想做这样的一个指正啊这其实是一个非常 ambitious 就是一个有非常
非常大一个野心的这样的一个东西往往是非常难的就是说你如果要让所有的语言文字都按照同一个这个结构和项目来走的话往往要让就变成这个项目要非常多然后呢有的语言呢这个项目根本就没有问题像比如说你对于拉丁来讲的话这个字母就根本就一点问题都没有
但是呢对吧像有一些使用阿拉伯字母的那些然后再比如说在东南亚的那些像高明文啊他们连字母就显示都有问题反而后面的那些什么行距啊什么排版啊标点对那些对他们来讲可能不太
太有很多的问题或者甚至说有些问题还没有露出水面不为或他们只是觉得也就勉勉强强能用可能是那个样子因为事实上很多就是大家就觉得反正在电脑屏幕上面电脑没办法用的那就就这样吧就是忍了
很多情况是这个样子的吧对吧包括中文其实很多人也是这么觉得对大家想想在当年用电脑的时候好多人那个生僻字人的姓名打不出来电脑打不出来那时候大家就算了那我换一个名字其实逻辑上来讲的话是并不是我起这个名字有错而是你电脑没有办法显示是电脑的错嘛嗯
本来是应该是这个样子的这是有这个问题但当然了我们从技术方面来讲我们是希望说能从技术上去支持然后让这些各种各样的语言文字来做当然了大家从历史上面来看
如果单从语言文字来讲这个是一个非常不幸的历史就是说我们现在所有的这个电脑和这个 web 的这整个架构是从美国开始的而美国人用的是英语然后他们用的这语言文字作为相对来讲是相当简单的
所以他们一开始用的那个架构要移植到去表现复杂的东西就非常难是这个这是一个逻辑问题嘛像比如说大家也知道日文排版很难但是日文排版很难但是如果他能
处理很多各种不同的情况所以呢你拿日本白板的引擎去做一个相对简单的的东西的话就比较容易你一开始事先拿了一个简单的东西要去套要去实现男的东西的话这个变成叠床架屋嘛对吧就是说也有各种历史包袱
对吧就想大家如果对这个中文信息化有稍微一点历史的话就会想到当年会有什么全脚半脚的问题然后会各种的问题其实都是因为他们的起点太简单了现在呢我们要进行复杂的变化要不然的话对于像阿拉伯世界人他们来讲他们的文字本身就是从右往左写的
但是偏偏你这个系统一开始他建立的就是从左往右的对跟他们讲是相反的我们觉得是他们是反的他们还觉得我们是反的呢对吧这个看每个人的这个文化背景和这个立场不一样但是
我们现在是一个对吧全球化的一个世界我们而且 web 是世人平等的我们希望能建立起这样的一个公共的平等的这样一个平台的话那必须要让各种各样的语言文字呢都能在 web 上能进行良好的实现所以呢这个工作呢就非常非常复杂
所以这又涉及到我们在新的这个排版需求的时候中文排版需求这个文档的时候我们要改那个架构嘛我们当时一开始就讲嘛这个架构其实是一个所谓的当时 Rachel 她对吧讨论以后建立起来一个所谓的公共的架构这个架构要套到中文上的时候其实我们在讨论的时候
也说过一些事情像有些章节好像跟中文就没太多关系啊我们还是先和大家先把这个七个章节的名字先跟大家说一下吧好的那第一个章节是文本方向比如说有横排有直排有可能有从右往左从左往右这是最基本的
第二个章节是字型的变形与定位对这个形是那个形状的形对字型这个播客节目就这个比较讨厌看不见那个字对这个名字写的字型是那个形状的形对文字的文字畅谈的畅嗯
对,字形这一块就是比如说和字体和字体的分隔和包括刚才提到的像南亚东南亚的这种字的变形定位相关的包括大写小写等等这些日语的这个评价名评价名转换等等这些都属于这个这一章的内容
然后接下来第三个大章节就是排版单元,就是怎么样去区分在排版中的每一个或大或小的单元,比如说一个字符是一个单元,一个
单词有可能是一个单元一个句子有可能是一个单元那么我们在编码的时候在删除的时候比如说南亚文字你敲了很多然后你删除一下它到底是删多少你在选择的时候在搜索的时候
在断行的时候等等包括在大小写转换的时候他们的单元都该怎么样去区分和处理这是这一章的内容
第四个章节是关于标点符号和其他的行内特性背面符号这个就不用过多的介绍除了标点符号之外我们还有一些其他的行内的特性比如说中文我们有拼音注音符号拼音它虽然在两行之间但是也我们把它归为这个一个广义的一种行内那么它也算是一种行内特性
包括我们的着重号可以把它看成一种标点也可以看成一种行内的特性我们的下滑线等等这些
接下来第五章是行语段落版式那么就是我们怎么样处理行语段落的排版比如说我们在断行的时候中文有这个标点符号 B 头尾西文我们可能有这个 hyphenation 连字断词对对
我们可能有对齐是行首对齐行尾对齐还是两端对齐我们可能有 spacing 每个字符或者是单词之间的空各种各样的字句词句的调整对可能有这个基线的问题这些都属于第五章
接下来是第六章 Layout and Pages 就是页面和书籍的版式那么我们在排版比如说电子书的时候我们怎么去定义这个页面的设计我们怎么处理孤行孤字怎么处理标题等等还有最后我们还有表单和用户交互啊
这个就是和数字时代相关的只有数字时代才有的一个新的领域比如说我们在从右往左的文字中表单它能不能去修改表单里的文字的排版方向比如说滚动条会不会要镜像等等这些都属于这一章节对就是这几大章节
对啊所以这样是看下来的话这是一个公共的一个框架嘛对吧所以一开始我就在想嘛在这套上中文的时候像那个第二个章节关于一个字型的变形与定位那个我们汉字就没有那个这个变形的那个事情嘛对吧所以
虽然汉字我们占用了好多好多 unical 的那个编码但是呢我们字数比较多但是呢我们字就是方块字就定好了就不会有那么多复杂的问题但是比如说如果你要处理泰文对吧你要处理藏文啊
然后要处理高明文有的时候你显示的顺序和这个逻辑顺序都不是一样的就刚才比如说你还涉及到那个什么删除嘛你稍微提的可能有些朋友根本可能是跟不上他可能没听懂你要讲的是什么意思就是因为像有些他们那些原文字的话他们一个音节是做了一团的嘛所以呢在一个机字上面的他可能会上下左右会添加
有些东西必须加在这个机字的左边的时候编码的序列呢是后面的对吗所以但是它它的显现起来这个字必须要显在机字的左边那么你删除的时候你
应该把左边那个是删除还是要怎么删除就是有一个行为的问题就是有时候跟用户直觉想的会不一样之类之类的有时候挺麻烦的一件事情对像有的可能有一些听众遇到过的
比如说 emoji 一个 emoji 它可能有好几个马尾那么删除的时候有的时候它是一个一个马尾删那个 emoji 就会你会看到它在变化但是一直没删掉有时候它会整体删这其实也是一种情况
对的像所有的国旗的那个 emoji 都是背后至少是有三两个或者三个马尾的吧对吧它是一个序列组合起来的对所以就是你看到的跟你跟你实际想象的其实并不一样对这个如果听众有兴趣的话可以翻回我们关于这个 emoji 的那个文章那期节目我们讲了非常非常多啊
所以呢就是像字型的变形与定位线这个东西的话对于我们中文汉字的这个部分呢就相对来讲会好一点就几乎没有什么太大的问题嗯啊然后呢排版单元这个事情的话对于汉字来讲似乎呢也没有太大的问题对吧其他的像比如说英文的话它至少后面是有单词然后词与词之间呢是有那个词制的嘛然后英文是硬敲一个空格的对吧嗯
但是汉字就没有这个问题啊而且这个还涉及到我们经常把什么中日韩中日韩就所谓的东亚排版就放在一起嘛 CG 可以放在一起谈但是呢日文和中文是没有这个分词的就是我们没有什么词和词之间加空的这样的这样一个写法但是韩文是有的对
韩文的这个空格他们是证书法层面的事情如果这个加空或者不加空或者是否加错是写错字的程度所以这个你说吧就哪怕在中日韩就是大家外人看起来好像是一家子的但是事实上就里面也是不一样的啊
所以事实情况就是现在的韩文排版的话整个韩文排版正在西化因为它就是有这个词间距嘛所以它排版的话它那个算法它可以用西文算法进行两段对比的可以的
因为他有词简句他可以调的嘛就我们就不行嘛所以呢这个排版单元的话就是也是对于其他语言文字来讲会差很多可是对于中文来讲的话就没有什么东西可以写啊就是不是太特别非常大的问题但是呢我们中文的话就是像后面的什么标点符号啊这个行内特性啊我们就就非常非常的复杂对吧
像那个行内注行间注的童话当然了原来那个中文拍板需求的那个版本呢是参照那个老的那个日文拍板需求文档写的嘛对吧然后日文拍板需求他们对那个 Ruby 就是那个注音假名的那个需求也非常非常的复杂然后在我们中文这边呢像中国大陆我们拼音汉语拼音是肯定重要肯定需要的
而且我们汉语拼呢可以写在字的上面啊就是行与行之间啊有的时候呢又会一块活的形式夹在行中啊对我们这个位置还可以不一样对吧那台湾那边他们还用这个注音符号注音符号其实
横排的注音符号其实也是等于夹在行中间的这个事情吧对吧嗯是这个也是非常复杂的一个事情还好现在 Safari 支持了对 Bobby 他说了居然在有生之年能看到他的实现是不是要哭一把又要哭一把再哭一把那个是最新的
Safari 是哪个版本啊去年的 11 还是 12 月来着我一点记不清了啊是的嗯就最新版嘛所以那个新的 Safari 啊那个版本在系统一起发的嗯嗯终于支持了嗯
所以就是这个行间柱的事情对于标题符号和其他行内特性对于我们来讲对于中文排版学来讲是一个非常重要的一个的重点可能我们就会写得非常非常长而后面像那个什么行与段落版是这个内容才是所谓的我觉得是一般大众觉得一说到排版这两个词的时候想到的往往尤其仅有这个
这个章节就是所谓的段落呀航马呀是这些东西像左对齐右对齐呀像这些东西才是一般大众想的排版的内容但是事实上我们说了嘛这排版其实我们涉及到很多很多的内容
后面呢像有这个页面及是那个书籍版式的话这个事情呢就是因为我们还涉及到电子书大家千万不要忘记电子书的整个结构其实是我们 web 的结构对对
它其实是 HTML 加 CSS 很多人不知道这一点他们觉得电子书就是电子书不是的其实电子书对它其实就是一个网页是最后刚才傅乔也提到表单语用户交互这个是非常有 digital native 的这样的一个数码内容本身特有的一个特性对吧以前都没有写
我们今天讲这个新版的这个结构其实就是要和旧版的结构进行互相比较可能才能比较出来它为什么新嘛对吧因为旧版的那个结构其实刚才我也提到了就是从这个我们中文排版需求是参照那个日本排版需求做的嘛然后日本排版需求当年他做的时候啊
他们就是那专家组人我都很熟啊我也听他们说了就是他们其实一开始就是想把纸质书能实现的东西先写出来就是说你 web 能做新的东西是 OK 的没有关系那是第二步但是你至少要把原来纸质是能做到的东西先做出来
而不应该丢掉就是因为有些东西只至本来可以实现你现在反而在电脑平台没有办法实现对于一些用户来讲是非常没有办法接受的
所以当时老版的日文排版师球也是我们中文排版师球结构是一样的其实他这个思路是按整个是按照纸质书的一个形式所以他一开始就会讲排版有横排有竖排然后要先做基本版面其实就是在我们在书籍排版的时候先要做版式要画网格其实是这样一个东西的
当时的他们的思路是这样的当然那些东西也非常重要了他们想那么写的话其实是这个思路也是非常情有可原的就是因为当时做的这样的一个架构非常有助于比如说懂 DTP 的人就是桌面排版的人去理解 web 的架构然后让他们去做电子书
因为一开始其实写这个排版需求的话很多是做那个电子书的嘛那做电子书的话很多人一开始他们就是先用桌面排版从这个纸质排版的人
他们要去学 web 的东西所以呢他用了这样的一个架构就非常有助于纸质排版排版的人来去看这个东西他可以就是对去进行一一对照然后他就可以知道这怎么用了
这个就很像查字典嘛查字典就有像日文字典有顺查和反查嘛你知道一个功能然后是怎么操作和你知道一个操作想知道它后面会实现什么样的功能嘛就是对就有顺查反查事情嘛
那我们现在这个新的一个结构的话这个新的结构的话往往我们可以像这样就像我刚才说的是一个 digital native 就是像所谓的数码本位的就是一开始就大家都觉得我们数码电脑时代它就必须要有这些东西然后从这些需求里面讲然后就像一个所谓的从顺差变成了反差
然后这个新的这样一个叫更好的一点呢是有助于不懂中文的其他的语言文中熟悉其他语言文字的那些实现的技术人员呢来有助于这个参照因为架构是一样的他就比较容易对比比如说他才发现哦原来这个部分对于中文来架构是一样的他才发现哦
这个部分在我的语言文字里要写了这么多但是在中文里面是这么简单的然后有些东西对在我的语言文字这么简单在中文里面写了这么多会有这么复杂
这是一个会比较从新的那个技术源的实现的角度来讲会比较容易理解的一个架构我觉得其实当时包括我们在中文排版需求的例会的过程当中也反复讨论就是为什么或者说我们要不要去更改原来中文排版需求的整个编辑架构来适应这样一套新的架构但最终我们还是决定应该往这个新的方向去走然后我记得其实我当时
也算是比较开始就相对比较支持去调整这个架构了因为在这个新的架构下从我个人的视角来说第一感受到它的一个优势就是我们在今天节目比较开始的时候提到的 W3C 的一组工具主要就是这个所谓的语言矩阵和这个差距分析的这样一组工具
那么在这个新的架构之下我们会发现这套工具能够跟我们的需求文档有一个比较直观的匹配理想情况下我们甚至可以认为就是未来需求文档的变化或者说一个编辑上的迭代更改都有一种接近自动或者是半自动的方式能够体现到这个矩阵或者是差距分析上一些结果的变化
那么它的好处就在于我们也知道其实就像我们今天这个节目最开始说的我们现在去做软件或者去做拍摆引擎首先用的思路都是一种国际化的思路
换句话说就是我们在实现一种机制的时候往往先考虑它是不是一种可以站在整个我们说的大一点就在整个地球范围内常用的或者是甚至是一些不常用的语言文字所需要的一些呈现需求他们能不能提取出一些通用的部分我们把这个通用的部分先实现好然后再去看这个通用的部分能不能灵活的
去扩展来适应那些特殊的或者是专用的需求所以在这个视角上我们往往会发现无论是软件的实现还是我们去做一些更底层的算法或者是策略设计的时候都是先去找它的这个共性也就是所谓的求同存异嗯
所以这也是我们所谓的这个呃语言矩阵啊或者是差距分析这样的文档和这样的工具所体现出来的一种特点又或者是优势就我们就拿这个差距文档来说吧就是差
差距文档它描述的实际上是一个差异化的部分换句话说它并不关注那些通用的东西因为通用的东西我们有很好的基础又或者说我们默认所有的未来开发的或者是过去开发的东西它的整个基础是站在一个通用的基础之上的所以我们最终只需要是关注那些特殊的部分而这个特殊的部分就会通过一个差异化的东西
换句话说叫做一个差距就是 gap 这个东西来体现出来那么如果中文排版需求的文档本身它不太能够融入到这样一种分析框架或者说这样一种叙述的方式中去就会使得未来的无论是新的特性或者是新的排版引擎的开发者比较难以去入手去整理和归纳怎样去实现一些中文的排版特性但如果反过来如果我们的
需求文档本身能够融入到这样一个框架中去实际上我们就有利于未来全球化的开发者或者说国际化的开发者更快速的去定位到中文排版本身需求的差异或者是不足发生在什么地方那么他们也就能更加具体的又或者是更加有计划性的去填补这样一些不足的地方所以这也是我觉得目前中文排版需求
他朝着一个从我的角度来看就是更利于开发者去迭代和去完善他的这样一个方向去发展简单来讲的话就是让大家更容易的了解如何支持中文对就是有些难的难点和容易的地方都让让
这样大家更容易的来做然后最终的效果就是让更多的人来支持中文对因为其实我们知道在这个我们往前推一点比如说在这个纸质印刷甚至是到更早的这种活字或者是活版的印刷时代不
不同地区不同语言文字的那些印刷品又或者是早期的一些出版工具他们可能采取的整个底层的架构和设计思想都是差异非常大的比如说我们看中国早年的活版印刷和古腾堡的活字印刷术他们显然底层的思路和架构是有一些差异的而且这个差异是一种
非常底层的架构性的差异而我们今天我们不可能再是走这样一条路就是说我们说为中国或者说为中文地区去开发一套跟这个西文或者是英语世界完全不一样的底层架构来分别去攀这个科技树而我们今天更推崇的一种方式是大家都能有一套共用的基础而这个基础是尽可能的能够适应各方的需求的
所以我们今天做很多事情都会调转这个思路就是我们先去寻找跟其他语言文字的一些共性然后再去看自己能否解决这个差异化的部分嗯
这个思路其实也就是国际化和本地化的思路嘛,对吧,你一开始在做国际化的时候,你必须要有,就抛开这个就所谓的语言文字的特性,你要能,你做出来的这个架构能够容纳或者接纳各个地方的各种文字的需求嘛。
那当然了这后面就适配的话是后期的问题但是你一开始的架构你是要 open 而且是要人够灵活的来找使用的对有点像 unicode 之前的编码和 unicode 哈哈哈哈
不过说到 Unico 对刚好我就要来讲这个问题了我觉得最近我觉得你的工作里面有一两项工作就是一直都在跟 Unico 打交道我觉得这个工作非常重要
就是大家都在各自为政知道吗然后呢就自己能先解决自己内部的问题先解决掉然后剩下的解决不了问题完蛋就开始各个层级开始踢皮球了你想在那边你想在你的层级解决还是我想在大家都不解决的最后的这个东西就没办法解决
所以我觉得 W3C 呢在这一点的话还是非常好的一点就是因为你这是一个实现的一个链条对吧文字首先你要有编码编码完了然后你要有字体字体公司有设计然后有 open type 特性对吧
然后能够给它正实性然后渲染出来然后再进行排版的渲染这是一整个系列的中间这个链条不能断开只要有一个掉链则最后显示就是不正常的用户看起来就是不对的
事实上呢就是有很多排版的特性大家就其实都在在讲有些东西像大家一直在讨论像比如说我们中文排版不是一直都在想这个标点挤压的问题吗那你标点挤压应该在怎么样用什么样的这个机制去实现的时候是有些东西是放在字体里面还是放在这个排版引擎方面
举一个非常简单的例子像之前像比如说在印刷时代我们还没有在没有 web 出现的时候像比如说在中国的话厂商的话像比如说方正方正他自己也做字然后他自己也有排版系统所以呢这是他自己一个公司内部可以协调的事情然后事实上呢他的一个思路就是字体文件就所谓的 font 这个字体文件它
它尽量做成一个比较单纯的就简单的字体编码和字型的一个映射的这样的一个软件而复杂的东西做到排版引擎里面去所以方正的排版系统它也可以实现标点挤压但是它那些功能是放在了排版引擎里面去做的
这是一种思路啊我并不是说正确和不对啊这错误的这只是这是一种思路而且这种思路也是非常正常的啊但是呢我们现在的实现的这个架构像比如说 open type 字体它其实现在也是 ISO 了它也是国际标准了那在这个 open type 现在呢是一个潮流嘛就是在网里面加不断它本来是一个字体啊
它本来是一个字体的规则但是它现在在一个字体的规范里面加了很多的 layout feature 我们经常说是特性特性就 feature 但是大家不要忘记这有很多那种特性这有一大部分特性它都是 layout feature 它是排版特性我们需要的是排版的这个功能但是这个排版特性呢是加在了字体里面而不是加放到那个排版引擎里面去
当然啊这有两方面吧你字体里面要先要有加上个信息然后再让引擎去调用所以呢这个时候现在呢更多的一方面呢那你做字体你要做 feature 的话就变成是字体厂商的责任要去做这个事情
然后另外一方面呢那个那引擎你能不能调的调得到还是调不到的东西像方正的他的解决方案呢这个东西是坐在字体里面还是坐在排版里面的话他自己内部公司的话他自己可以来掌握和调控但是现在呢是一个开放的这样一个平台有些东西的话那是字体
公司来做这个事情还是排版引擎来做这个事情那排版引擎具体的排版引擎是什么那对吧我们比如说我们在 web 的话那那是浏览器来实现这个事情那还是你必须得退回到你去找那个 open type 他们那专家在做事情还是说你要再退倒回去你要找那个文字编码的那就找 unicode 去做这个事情
对吧有很多事情就非常复杂觉得傅乔可以跟大家介绍就之前我们在讲那个中文标点符号的那个遍体选择器的这个事情
对对这个事情其实 CSS 工作组也讨论过就到底谁来做这事情对对在哪个层级来做这个事情比如说有很多标点比如说这个蝌蚪引号但也不只是蝌蚪引号有一些中西文公用马威的标点包括还有一些可能是捡起和繁体公用马威但是字型不一样的标点
因为字型不一样所以我们要去做比如说标点挤呀或者是
不做任何标准解码,我们只是显示它的时候也会有区别它是显示成全角的引号还是半角还是比例字型的引号这个是我们是通过字体来区分还是通过编码层面我们使用一些我们叫变体序列标准化变体序列 SVS
我们在引号后面加一个看不见的字符来区分中西文的引号等等包括之前 CSS 讨论标点挤压的时候也讨论过有一些标点字型可能和其他的标点不一样我们挤的时候有可能会
会挤坏我们如果不知道这个它的一些 matrix 数据的话那么就是它的那个亮度信息对对那么我们需不需要在字体里加这些信息还是我们该怎么做等等这些其实都和这个有关和这个层级层级有关可能在不同层级都能实现但是
究竟我们需要在哪一层实现还是说各层级都可以同时有这个是一个挺有意思的问题这个需要要协调嘛对所以我觉得就是 W3C 就刚才你说的嘛就是在你的工作范围之内呢能来做能站出来做这个协调工作是非常不容易的一件事情啊
你要拉这么多专家组出来因为大家 OpenType 可能因为他们在 OpenType 在想他们的事情对吧因为后面有其实 OpenType 其实一开始都是厂商来推动的对吧你一旦写进去了那厂商必须得做对吧那 Unicode 的 Unicode 说实话 Unicode 背后也是厂商
然后但是他出于他这一个所谓的 infrastructure 对吧这个叫什么基础设施的这样的一个地位对吧他如果 unico 改了的话那说实话大家还必都必须得跟进那大家做这个事情都是非常谨慎的最后排版这个像有氧气啊他们最大家其实很简单希望的就是能做出这个效果来
但是你要做同样的效果的话就是你这一连串的东西必须来大家方向一致的一起来努力来做这个效果就跟我刚才说的一个链条里面中间有一个断了最后造出来的东西就是很难看就是不对
我们上次在节目里面跟大家说哦好不容易了 chrome 啊在谷歌在他的浏览器里面实现标点挤压了但是呢呃你字体不支持然后呢嗯或者你的字嗯你的字体如果没有那个 open type 特性或者你有那个有那个特性但是你的字体标点的摆位不对
我即使有这个功能也有挤压的功能我会把你这个挤坏了就是就变得挤压过度了嘛嗯用户看起来也是不对的呀
当然了我们以前纸质出版不会有这个问题对吧 Indesign 有 Indesign 它自己一套东西但是问题是像 Indesign 是 Adobe 的 Adobe 用它自己出的字体然后用它自己的软件然后它用它自己一套处理方式它能做好刚才我也说了方正用方正的字体用方正的拍拍软件他们自己也能做出一个东西
那如果你是用不同的机制老不用不同的大家互相你就可能你就没有办法实现那么高级别的那么漂亮的东西但是呢那你至少能做出一个兜底基本上能达到及格线的一个东西要还是在 web 说上至少要努力的
所以这个东西的话很多与其说是这个技术方面的东西的话更多的是有这个协调的能力我觉得这个协调的角色由谁来做其实是很难很难的一个事情大家不要觉得说这个东西很难是技术上很难有时候就是你得要有人去推动因为事情都是人做出来的然后呢必须要有人有钱花时间去做这个事情的
对这是 W3C 做的一个花很多时间做的一个事情就是协调这个技术包括组内的协调主席成员还有不同工作组之间等等这些
都是而且之前那个共用标点符号的话重灾区是那个磕头引号嘛因为磕头引号它就是我们所谓的那个中心共用马尾嘛对吧像那个豆号就不会有这个问题嘛因为中文的豆号和西文的豆号它是两个不同的马尾嘛所以就不会有这个问题所以呢我们后来就现在呢是努力的啊那现在那个方案好像是已经
通过了那 unicode 已经是没有问题了对那接下来的话你还是要和字体厂商要说这个事情啊你自己厂商不实做的话用户还是就是看不到啊你字体厂商要支持然后呢接下来还要比如说排版引擎对吧你接下来比如说 web 的话浏览器厂商啊在接着做的话嗯后面的话应该是比较容易但是
对啊你一条线从头走从头到尾一个一步步走下来支持的话这个也要花好多年时间等你跟进几个版本的话估计又是要等到我们有生之年才能看到的事情了等一下
而且你们之前另外的那个提案我觉得也是蛮好的就是为了中西文混牌加那个间隙而特地让 Unicode 去增加了一个新的那个 property 对吧那个叫 property 他们叫是的属性那个提案就说加了一个属性是专门为了
让中西混排之间加的那个间隙我们经常会说要加什么四分控加八分控嘛对吧就为了这一个特性希望 Unicode 给所有的字符都先加一个属性要给它分类对吧
对的这还是蛮多工作的去筛选这些马尾对而且有很多这模糊的马尾对吧我们一口口头说是中西混排那好中文和西文这个是很简单的可是大家要想想 Unicode 是全世界的所有的这个点的马尾有些就很复杂的对
这个提案一开始是 Cogi 提出来的吗提出要做的还是说你抓 Cogi 出来是 Cogi 找到我 Cogi 是谷歌的技术员我们先跟大家说一下对 Cogi 找到我他说想跟我一起提这个事情
然后我们就开始写确实就是怎么样定义比如说我们中文和西文之间的这个空那怎么样定义中文怎么样定义西文这个事情很有意思比如说所谓的中文其实我们是指这种类汉字的这种文字包括汉字包括假名甚至包括这个燕文
那么西文我们有这个拉丁字母我们有这个阿拉伯数字这是最基本的可能还有一些符号比如说 ASCII 里的这些什么侃单号呀百分号呀那这些他们在遇到中文的时候怎么办再比如说我们内汉字的还有像注音符号
古代使用的比如说奇丹小字比如说有女书等等等等这些他们在混排的时候怎么处理这些包括日语还有半角假名
反正就有很多很神奇的情况而且还有一点就是日文和中文的对默认行为的想法有可能还不一样我们现在的起案例其实是区分了中文和日文的就是
就是某些情况下是不想加空的但是我们中文想加空的就有这样的情况是吧对对对日本那边他们是想默认不加这个空有这样的情况我们就在这个属性里做了一个区分
还能有挺多神奇的地方我个人好奇的是后来我看这个提案你们的确你们也提到就是一开始可以直接用那个标准标准附录第 11 号就是那个东亚宽度的那个东西然后发现那单有那个东西是不够用的所以才觉得要另外再加一个这个东西对对因为它不能覆盖所有的情况嗯嗯嗯
因为东亚宽度的那个文档的那个属性那个是非常早了小林建博士也最早开始写的时候当然这个其实在这个汉字加入 unicode 的时候他就开始写这个东西了然后那个属性其实也是相其实也蛮类似的嘛就是这个因为然后
就所谓的东亚有所谓的全宽半宽然后对吧那那些什么激励而自我怎么办的问题对吧这个是要做成全宽还是做成半宽还有模糊属性啊怎么怎么样的就是有这样的一个东西嗯就你要把它当成细文还是要你要把它当成中文就应该怎么看的这样的一个属性嗯
我觉得那个也是蛮有意思的是的但是呢当他的那个分类没有办法玩就各种各样的分类是为了实现他的东西嘛那他的那个分类还是没有办法完整的实现就我们要做的这个中西文混排这个间隙的这个分类的所以我们需要一个新的分类所以才会有这个新的提案对吧
对而且有了这种分类其实我们不只是在 web 上我们在各种能用到 unicode 的地方有可能都可以通过这个分类去实现中西文混排当然大家没有这个也可能能实现一些比较简单的不考虑整个 unicode 的中西文混排当然也可以但是你加到这个 unicode 的话这个就比较彻底嘛
对这是一个不仅治标还治本的一样一个东西因为它是放在这个标准这个属性里面去了
然后这个提案现在是什么状态现在是 Unicode 已经通过了这个提案应该会在明年的 Unicode 不是 2025 年对 2025 年的现在已经是 2025 年了对对 2025 年的 9 月份吧对第 17 版 17 版本应该会正
真实的发出来那就是作为一个新的标准附录了对的所以像这样的工作就是你虽然我们副桥是 W3C 的但是呢也做这个 unicode 提案事情都是各种各样纠缠在一起真不容易
但是我觉得你现在平时工作中在就是给这个中文排版做的相对来讲时间并不是非常多我不知道就是因为还有其他的国际化工作要做吗对
对就是中文排版这个肯定是一个方面嘛这属于我们这个语言支持框架下的一个工作其实在 W3C 内部起到国际化最大家第一个想到的不是这个语言支持而是
国际化审阅在 W3C 国际化我们属于是一个横向领域就是我们需要审阅所有的 W3C 标准另外也除了 W3C 标准有时候也审阅一些其他标准组织的一些文档
所以每一份这个 W3C 标准在开发的过程中都会找我们去审阅所以各个工作组都认识我们然后都很烦你们你每天到晚给他提建议要让他们改得给他们提建议对另外还要写一些这个最佳实践这个也是占用时间比较多的一块工作
另外就是写一系列文章面向普通的 web 开发者让他们更加了解如何使用一些和排版编码和文字方向等等这些相关的特性
让他们能够更好地用自己的语言来创建内容另外我们还会写一些测试帮助 web 开发者用户能够理解和使用国际化相关的功能就这些都属于我们的工作或者说我的工作的一部分对呀就是一边自己要做东西然后一边还要科普
不过在节目的最后的话我觉得还是要和任希望你来看
看一下我们今后未来一些展望吧对吧因为中文排行需求这个文档的话现在我们此时此刻只是做了一个大手术嘛把它结构全部换掉了但是呢事实上呢我们只是把原来一些内容先掐到这个之后呢我们就要用以这样的一个结构要修改好多内容嘛对吧然后因为有些东西是强行拼拼剪剪贴贴欠到这个新的结构里面有些东西
还是需要要修改蛮多的对吧然后另外还有一个很大的工作就是要补充好多好多图对吧不好意思我一直说要做要做一直都没画图
确实就这份文档本身的话那我们肯定还是有很多工作可以做的比如说之前我们一直讨论的这个双行夹住那么我们一直还没有写进去我们有一些新的内容可以写像刚才提到的这个 SVS
这个标点符号的 SVS 我们也可以考虑写进去包括这个表单交互这些内容都可以写
这是这个需求文档的这一块另外就是从实现上那么中文排版其实也还是有一些问题可以推动的比如我们从很多年前就开始讨论的像这个开题仿送题的这个 Generic Fund Family
我们写到标准里了但是还没有实现再比如说我们中文字体太大了我们要用 web font 那么可能会加载时间很长怎么解决这个问题再扩展到更多的场景比如说这个移动互联网我们怎么样针对小屏幕进行优化排版甚至是如何利用 AI 能够进行更加智能化的排版等等都是可以探索的一些方向吧嗯
是的 像大家也都在努力在做这个东西但是呢 还有很长很长的路要走不过我觉得今天是难得能把富乔请过来然后和大家解释平时我们 W3CR 在这么努力的在做这么多东西嘛
因为我和郑云也是这个中排版需求的这个工作组的成员嘛我们三个人平时是就是每个月都开会嘛所以我们是知道的但是呢我觉得就很有必要就有时候要把这些东西啊告诉给我们的听众朋友然后告诉给大家因为正如我们说的我们现在很多东西都是 infrastructure 对吧是这个基础设施大家就觉得天生下就应该是有的
好像我们的生平存在太多理所当然的东西可是并不是理所当然的是后面是有人在做的
汉字并不是自然而然的就可以在电脑上显示的这个字体后面是有自己设计师要在做的排版也是有人在做的然后我们也知道今后可能会有各种各样的人工智能也会来参与各种各样的工作但是现在人工智能也是要人去训练的
对吧大家都知道做人工智能要需要模型那你要告诉人工智能好的中文排版模型之后他才能帮你做出好的中文排版此时此刻你现在没有好的中文排版的话那人工智能学的都是都是
糟糕的排版那到时候他学出来他帮你做的也都是糟糕的中文排版这个是非常要命的事实上其实大家现在已经可以知道了因为中文的内容和英文的内容它本身你喂养的东西就不一样所以他训练出来的人工智能就不一样
所以当然我们大家也知道人工智能是之后我们技术发展的一个方向但是可能现在呢我们还在之前还有很多很多事情要做而这些事情呢都需要我们需要你们需要大家一起来做是的这个也希望呼吁大家继续参与到这个
我们的工作以来吧因为 W3C 的工作其实是很开放透明的任何人都可以有通过很多种方式吧参与标准的制定可以关注 W3C 的网站可以关注那个 GitHub 仓库可以提议室提意见建议都可以对对啊我们那个对啊 GitHub 这页面对吧大家都可以提议室的对
然后富乔的邮件地址是公开的大家可以直接和 W3C 国际化专家直接探讨技术问题欢迎欢迎希望不会有太多的骚扰没事我们一直欢迎更多的人来参与提建议可以轻量参与也可以更多的重量级参与像二位一样
我觉得可以拉更多的厂商进来出钱就可以了他们可以不要出人但是他们要出钱也可以都出对出人出利有钱捧个钱场没钱捧个人场
好了那差不多就这样真云你还有什么补充的吗倒没什么补充我其实也是就是怎么说呢是参与了中文排版需求的一些编辑性的工作之后才跟傅乔认识然后
我就好像刚进入编辑组之后的某个冬天我就正好去北京还跟傅乔见了一下然后其实在这个过程当中我也通过傅乔比如说跟傅乔聊天或者是跟傅乔一起工作其实了解到了非常多曾经我在外部的视角没办法理解的或者说没办法感受到的一些像 W3C 这样的组织机构的
工作的模式以及它们实际上起到的一个作用如果从我今天的视角来看其实我觉得我会以这样一个方式来理解 W3C 的一个工作
可能大家今天都应该能体会到就整个由人构成的这样一个社会的一个你可以把它看成一个整体的机构或者是一种形态吧就他们运转起来最困难的一点是你让这些这个群体当中的每一个人能够形成一种共识是的或者是他们能够达成一种一致嗯
而这种一致或者说这种共识的形成模式或者说他们背后的运作机制是极其复杂的甚至你可以说是没有什么绝对可以遵循的规则的
W3C 我觉得在整个技术方面特别是 web 技术方面所起到的一个最重要的作用就是它在不断地试图去推动并且也已经形成了一些能够让这么多人让整个社会的各部分形成共识的一些方法并且产出了一些确定性的共识的结果
而我们可以看到其实傅乔刚才也给我们介绍了很多自己的日常的工作可能你初听起来会觉得这些工作相当的琐碎甚至你觉得这工作中有非常大量的时间都花在一些所谓的并没有什么技术含量的部分但这个其实恰恰是我觉得整个社会运作当中最为复杂而且最为怎么说最为精细的那一个部分
所以从我参与到 WCC 的一些工作之后其实我在这方面有了更多的一些直观的感受也有更多的一些怎么说呢就是学习到人类社会是怎么样去协调和达成一些共识的这样一些方法和模式的所以其实我从这个角度我也觉得富侨的工作其实非常非常的重要而且在整个工作进行当中也
其实每天都会遇到我们可能在这个工作之外所没有办法想象到的一些困难和需要去协调的问题有点让我想到了因为去年 24 年刚好是 W3C 成立 30 周年
我们在那个 30 周年的有一个晚会上还有一个演讲就是关于 W3C 怎么样做好 web 的基础设施的这个事我觉得这个专于刚才讲的事情我觉得和这个演讲内容也挺契合的挺不错的没有啊就是大家都是技术员啊就大家都会和机器比知道吗因为机器是机器所以呢你给他下个指令他就是给你回复嘛
对吧它不会多不会少机器就是应该怎么样就怎么样但是人不是这样子的你跟人工作的话人有脾气人是有性格然后还有各种各样时机对吧在国际化的在各种国际合作处理的你有时候往往需要
我需要实现一个人我只要在一个合适的时机找到一个合适的人就能实现但是这个往往就非常难跟人打交道很不容易但是也有更多的乐趣
就人和机器还是不一样的嘛好了那就差不多这样傅强还有没有什么想说的没有什么特别的就是非常感谢自弹自唱的邀请让我有机会和大家分享一些关于中文排版国际化方面的内容然后也欢迎大家积极参与或者是提出大家的意见建议吧
因为我们两位主播都是内部人员其实是对所以呢其实在一直都在节目这么长时间哈在也不断的跟他在更新然后我们具体在做什么事情一部分也是在科普嘛对吧跟富桥一样的我们也是一边在做事情一边在科普那么我们听众朋友有什么建议和意见都可以跟我们联系嗯嗯
然后那这就是我们这个会员抽奖的事情我们一月份给大家准备的是准备的这个抽奖的奖品啊正于是那个汉语提供的一个一个年历是吗你说呀那个事情是什么东西对对对是一个它的具体的功能是一个月历嘛
我看是按月编制的对好像是一个月历对但是它是制作的一个非常精巧的一个工艺品我很难用语言形无法用语言描述您这什么东西对对如果大家之前有见过或者是甚至我记得看以往年有一些这个年历或者是月历型的这个纪念品是可以购买到的如果大家有购买到应该能够体会就是
汉语字库近年来每年都会做一些这样子的出版物字体和这个工艺品的一些结合然后它也会有这种年历的功能之类的
那我们也非常感谢汉语字库提供了这样一个礼品刚才也说了我们一月份的会员通讯将在 1 月 21 号发给会员所以在那之前也就是 1 月 20 号所有在籍的会员都有机会参与会员的抽奖那郑云你说下为
好那我们今天节目就差不多到这里结束我们也非常感谢薛富乔 W3C 的国际化方面的专家来我们今天的节目给大家介绍了自己的日常工作同时也让我们更深入的了解到 W3C 以及我们中文排版需求日常的一些工作细节
那么如果我们的听众有什么意见或者是反馈都可以写邮件告诉我们我们的邮箱地址是 podcastatthetype.com
同时大家也可以在各种社交网站上关注我们我们在微博在推特像叫 X 在微信的 ID 都是 thetype 在 Facebook 可以搜索 the type 或者 typeisbeautiful 然后在 Instagram 可以搜索我们的 ID 叫 thetype 下滑线 com
同时我们最近应该也开通了这个小红书的账号大家可以在上面搜索我们的名字然后来找到我们对我们小红书上的那个系列和另外一个的另外一个名字就有个中文名字叫文社就文字设计的文社啊那是我们哈那不是山寨哈好的
那本期节目由 Eric 和郑宇主持我们请到的嘉宾是薛福乔我们讨论的是 W3C 以及我们最新版的中文拍拍视觉的文档本期节目由 Eric 在 MacOS 上剪辑制作完成感谢大家收听我们下期节目再见拜拜拜拜拜拜