自由软件世界的怪异简中排版规则

2015-11-22 01:51:49 +08:00
 Arthur2e5

以下内容来自自由软件中文化工作指南:

标点的使用

[...]

  1. 英文中的 ( ) 应该保持不变。由于全角小括号 ( ) 很难看,也占地方,所以一律使用半角小括号 ( )
  2. 英文中的 ... 应该保持不变。由于翻译的时候常常难以分清哪些条目是菜单项,哪些条目是一般语句,而后者才能使用中文的省略号 ……,所以现在统一翻译为 ...
  3. 英文中的 -- 应该保持不变。由于全角破折号 —— 兼容性不好,有时显示为两个方格,所以不再使用。

关于空格

[...] 对于 CLI 程序,因为文本界面字体显示的原因,一般推荐汉字后接英文时不留空格,英文后接汉字时留一个空格,在显示的时候不会因为英文前后都有空格而造成英文前面的空余空间远大于后面造成的不美观

好像听起来除了不知道说的是哪来的难看之外都很有道理啊。好啊,我们来看个例子:

GNOME 3 的英语原文里面所有的省略号都用了 ,这是顺了 HIG 的要求——嗯,说到这里你就该知道没有菜单项和普通省略号的区别了。结果翻译到中文呢?全给我变成清一色的 ... 了。这群人甚至还搞出了这样的 commit: GTK+3 commit 2d1a793。是不是蠢爆了?

然后 CLI 的空格和括号的「很难看」我大概也不用吐槽了吧。这些选择我真不知道是哪来的难看和哪来的兼容性。

接着你肯定要问我有没有跟这群人讲了。当然有啊:

  1. 我一看到这玩意,就在 i18n-zh Google Group 上向作者提了意见,然而作者什么都没说。
  2. 然后我就 fork 了一个版本,当时还没注意到省略号。
  3. 后来我注意到大家(BLUGBGUG,甚至这群渣渣管理的 GNOME Damned Lies 上也有人推荐我的 fork )好像都很喜欢我的 fork ,就去 Group 上发了 1.3 版本的 fork 。
    1. 接着这原作者就来抬杠了,摆明了不想改嘛,居然还用上了“不是字体问题,是 Linux 渲染不如 OS X 、 Windows 中的任意一个”什么的借口。拜托,要是人们都觉得 FreeType 表现如此不堪,那哪来的 MacType ?后来我发了 Linux 上的屏幕截图让指南原作者自己瞧瞧 ugly 的是哪个。
    2. 顺便,这家伙即使管翻译也就是个不点不亮的蜡烛,要不是我这封邮件估计这群人都不会出来干活……各种借口我就不说了。
  4. 于是我就去 GNOME Bugzilla 报了个 Bug 。
  5. 与此同时我看到有不明真相的外国人在 gnome-i18n list 上也注意到了这堆 commit,然后那群家伙的回复自然还是不知哪来的 ugly 。
    1. 所以我就骂回去了,结果一群人提醒我社区礼仪……
    2. 结果另一边还在问,于是我就再喷了一次

总而言之,有人愿意在上面的 Bugzilla 链接这里一起稍微多施加一点压力吗?我实在看不惯一个有 HIG 的自由软件被糟蹋成这样……

另外,指南的 1.4 版本在 https://mirrors.ustc.edu.cn/anthon/misc/l10n/ ,如果可以的话也希望大家会提一些建议什么的。顺便, V2EX 的自动加空格规则有问题,居然在 MacType 和中文问号之间加了个空格。与其这样乱加,还不如修一下在单词内折行的问题呢。<s>话说我现在好想 Cross-Post 到 Linux 版,毕竟那边人多并且这省略号问题大家都看得出不对……</s>

7843 次点击
所在节点    字体排印
34 条回复
emric
2015-11-22 03:48:17 +08:00
赞同部分.
全角中文标点, 在没有标点挤压的情况下, 标点与标点之间的间距确实很难看.
那个点点点, 我是赞同楼主的.
Arthur2e5
2015-11-22 07:09:35 +08:00
@emric 然而这群家伙不是没有标点挤压的时候用西文括号,而是处处用、往死里面去用,况且左右两端还不加空格。并且还是那句话, HIG 指明了“需要正确性”的方针……
Arthur2e5
2015-11-22 07:11:51 +08:00
考虑到 HIG 着重的(字体排印上的)正确性,标点挤压这种问题也不该在会长期存在的翻译中去 workaround ,而是应该用 kerning 实现。以前读 http://www.w3.org/TR/clreq/ 的时候找到过要求例子,现在不知为何找不到了。
Arthur2e5
2015-11-22 07:17:05 +08:00
Elethom
2015-11-22 07:34:14 +08:00
竟然還在爭這個。我覺得這都算不上是 bloody programmer aesthetics 的問題了,根本就是智商問題。這麼下去開源社區要被這樣的猴子玩完。
StarBrilliant
2015-11-22 10:37:34 +08:00
> 所以我就骂回去了,结果一群人提醒我社区礼仪……

我也必须提醒你注意社区礼仪。
你在一篇帖子里面用了 7 个脏字。
可能在用英语骂脏字的时候并不会觉得不妥,但是如果你在中文论坛当中连续用 7 个脏字你会被怎么看?
Arthur2e5
2015-11-22 10:55:02 +08:00
@StarBrilliant
我觉得还行啊。就像这样:

你写的这玩意从 XXX 上来说简直就是狗屎……你们他妈的垃圾 XXX 审美……而换到对于 XXX 来说简直就是放屁……破字体出破输出。
Arthur2e5
2015-11-22 10:58:33 +08:00
@StarBrilliant 哦,还有 Nonsense (如果你也把那个和 silly 一样当脏字的话),按照中文说的话我会用”放***的狗*“。
Arthur2e5
2015-11-22 11:21:40 +08:00
@Arthur2e5 当然,中心思想是某一特定的方面有问题,而不是整个人有问题,这就够了……
Quaintjade
2015-11-22 11:34:24 +08:00
还是 GUI CLI IDE 的锅,比如用非 unicode 字符集,比如用糟糕的字体。
空格是很麻烦的东西, unicode 虽然有各种间距的空格,但大部分人还是用半角或全角空格。软件自动 kerning 才是出路。

如果是文字排版软件就没那么多问题了,像我公司使用 word ,规定所有报告统一用半角括号,而且必须是 Arial (宋体太尖)。因为 word 会自动在中英文间增加间距。
Quaintjade
2015-11-22 11:37:17 +08:00
另外,宋体的标点和数字很难看。
Arthur2e5
2015-11-22 11:38:36 +08:00
@Quaintjade Arial 不是中文字体( Arial Unicode MS 那部分中文要用的话我只能说壮士),另外“统一用半角括号”经常会遇到中文和括号比太高的问题( bugzilla 更新里面我昨天就提到了)。
Arthur2e5
2015-11-22 11:40:21 +08:00
@Quaintjade 然而没有人[谁?](这是伪基百科哏)会在 UI 里面用宋体,所以无需讨论。使用任何 Serif 作 UI 主要字体都是严重反 GNOME 风格的行为,甚至是反一切现代 UI 风格的行为。
Arthur2e5
2015-11-22 11:43:21 +08:00
@Quaintjade 然后空格…… W3C CLREQ 有云:

> 原則上,漢字與西文字母、數字間使用四分之一個漢字寬的字距或空白。但西文出現在行頭或行尾時,則毋須加入空白。
>
> 注:或可使用西文詞間空格( U+0020 SPACE [ ],其寬度隨不同字體有所變化)。

这算是个通行习惯了,平衡了好打和能用。要硬扯语义上的道理的话,也算是分开词边界了。
Arthur2e5
2015-11-22 11:49:28 +08:00
@Quaintjade 另外这个虽然也算是字距调整,但一般不说 kerning 啊,说的是 auto-spacing ,如 https://msdn.microsoft.com/en-us/library/ms531164(v=vs.85).aspx 的 -ms-text-autospace 。从这个名字看人们还是愿意把这个看作加空格的。

> unicode 虽然有各种间距的空格,但大部分人还是用半角或全角空格。

因为用 0+0020 空格是在大部分人所学的外语中正确的(当然也是好打), 0+3000 全角空格又是我们知道能保持比 TAB 更精细的对齐的那个呀(自然还是好打)。需要用更窄的空格的地方自然也有(并且会有人去考虑),例如 https://inkscape.org/en/contribute/translations/ 提到的“ z.  B.”( U+202F )。
JackBlack2006
2015-11-22 12:31:03 +08:00
那些外国人也是够了

不是有专门搞 CJK 的团队么,干嘛搞西文的人要掺和 CJK 的事情
Quaintjade
2015-11-22 13:04:31 +08:00
@Arthur2e5
我的意思是,添加间距或空格这种事应该由排版者(显示输出的程序,如浏览器)去操心,内容编辑者不应该去操心。
而且我更倾向于自动调整间距(模拟添加空格),而不是真的添加空格(比如 V2EX ),这样我输入"α{无空格}射线",浏览者复制出来时不会变成"α{空格}射线"或""α{四分之一 em 空格}射线""。

大段内容的地方(比如博客、论坛的正文),理论上用 serif 更易读。用 sans-serif 只是因为低分辨率下 serif 太难看(比如宋体刚达到 serif 的字号时)。
lifanxi
2015-11-22 13:20:09 +08:00
有些规则是在以前特定的环境下制定出来的,现在来看也许不合时宜,但并不表示这些规则就是愚蠢的。就像很早以前做中文 HTML 网页时,需要用半角空格去隔开每一个中文字,这在现在来看一定是很愚蠢的行为。

因为曾经有过规则,所以会有很多的作品已经执行了这个规则,随意改变规则只会带来混乱和不一致。如果规则已经变得陈旧,可以想办法去推动规则的变化,然后再按新的规则来。

这个问题其实跟一个开发团队中用什么样的 Coding Standard 是一样的问题,永远不会有所谓“最好”或“正确”的规则,所以“一致”就是相对来说“最好”的规则。
Quaintjade
2015-11-22 13:32:57 +08:00
@lifanxi
“用半角空格去隔开每一个中文字”,还真的有网页依然在用这种习惯。
http://www.immd.gov.hk/hkt/services/visas/visit-transit/visit-visa-entry-permit.html
Arthur2e5
2015-11-22 14:11:39 +08:00
@lifanxi 在这种时候坚守原先的规则就是愚蠢的。英文原文都那么用了,结果你一个下游的还全都改成三个 U+002E ,真的是很蠢的事情。我已经在推动了,那几封骂人或骂人写出来的东西或人的能力的东西也都放在那里了,也不知道牙膏能不能挤出来就是了。足够愤怒的事情只有一个:人知道错了(我说的够清楚了,除非那些人傻到看不懂——但是既然能用 git 了肯定没那么傻啊)还不想改,接着还说出“账号在手天下我有”之类的话。

这和 Coding standard 有本质的区别。这是上游标准( HIG )定明了下游团队还在按照自己六年前的办法乱搞。要不是存在这种对上游定义的奇怪违背,也不会有外国人注意到感到奇怪而在 list 里面发问啊。

@JackBlack2006 那几个被我吐槽的准则是中国人定的……并且外国人定大概方针要求本地化团队按照自己情况去跑也不奇怪啊(虽然这次就完全没跟着方针)。

@Quaintjade 这样的空格做法有其语义上的正确性,其实让编者操心也没那么大问题。况且很多时候你要 as-is 地显示东西,无论是哪个自动方法都会喂你吃一壶,在软件本地化这种地方更是。举个英语原文中会看到的例子,要是有人把 foo,bar,baz 全都自动更正为后加空格的版本结果发现搞坏了输入格式说明怎么办? V2EX 的强行加入我大概有个为之推脱的理由,那就是兼容性好并且(照样还是语义上)也没什么错。(这个其实可以讨论,例如 span 插一个 spacing 之类的)

Serif 和 Sans 各有各该去的地方,但:
1. SimSun 这种细过一般的 Serif 无论怎么看都没什么会让人舒服的地方:低分屏丑; 150% DPI 虚; Retina 太细;打印出来和 Times 之类的 Serif 粗细区别太大,简直自带英文高亮功能。
1. 然后粗细正常的中文 Serif ——我还真要讲技术问题了——没有什么 hint 好的,所以也一起虚、各种糊。
2. 还是那样,现在没有什么人把 Serif 当作主要 UI 字体。

@Elethom Aron Xu 、 YunQiang Su 等人均为 GNOME 界的元老,前者更是很多自由软件中文化社群一直以来的老管理者。贡献放在那里,你也不能人身攻击……(虽然就连我就事论事对于某一物体的具体方面骂都会有人提礼仪我也觉得很有趣)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/237975

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX