V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Arthur2e5
V2EX  ›  字体排印

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

  •  1
     
  •   Arthur2e5 · 2015-11-22 01:51:49 +08:00 · 8132 次点击
    这是一个创建于 3324 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    标点的使用

    [...]

    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>

    第 1 条附言  ·  2016-01-12 10:34:47 +08:00

    UbuntuCN 看到的稍微新一点的版本算是修了空格不对称的扯淡了。虽然说很奇怪地可能是为了原作者的面子还放着维基系统的历史功能不去用,写什么新意见旧意见……

    不过省略号还是没改嘿嘿嘿。

    在 TW 那邊的變更倒是基本都套用了。

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

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

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

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

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

    这算是个通行习惯了,平衡了好打和能用。要硬扯语义上的道理的话,也算是分开词边界了。
    Arthur2e5
        15
    Arthur2e5  
    OP
       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
        16
    JackBlack2006  
       2015-11-22 12:31:03 +08:00
    那些外国人也是够了

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

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

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

    这个问题其实跟一个开发团队中用什么样的 Coding Standard 是一样的问题,永远不会有所谓“最好”或“正确”的规则,所以“一致”就是相对来说“最好”的规则。
    Quaintjade
        19
    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
        20
    Arthur2e5  
    OP
       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 界的元老,前者更是很多自由软件中文化社群一直以来的老管理者。贡献放在那里,你也不能人身攻击……(虽然就连我就事论事对于某一物体的具体方面骂都会有人提礼仪我也觉得很有趣)
    Arthur2e5
        21
    Arthur2e5  
    OP
       2015-11-22 14:13:59 +08:00
    @Arthur2e5 啊当然, Aron 本身在 Canonical 就职之类的也该提一下。政治上的话 C 社和 G 之类的开源社区走得很近,要翘得动他们也是很难。
    Arthur2e5
        22
    Arthur2e5  
    OP
       2015-11-22 14:16:45 +08:00
    @Arthur2e5 @Quaintjade 啊,然后 harfbuzz 之类的显示也会更倾向于忠实显示,除非必要不做处理……总之程序 UI 库不是 LibreOffice 没有也或许不该有那层处理,该自己干的都要自己干。
    Arthur2e5
        23
    Arthur2e5  
    OP
       2015-11-22 14:22:07 +08:00
    @lifanxi 顺便一提,我实在想不出有什么能在中国大陆拿出来卖的(也就是得遵循 GB2312 或其超集)中文字体会不支持破折号( GB2312 A1A9 )的。我还尝试着重现过稍微古老一点的时代的字体渲染(例如那个教程所在的那个以文泉驿微米黑为主流的时候),也没发现他们的解决方案能提供任何一丁点的改善。总之是他们的审美有问题。
    Elethom
        24
    Elethom  
       2015-11-22 15:08:45 +08:00
    @Arthur2e5
    Just give it up.
    V69EX
        25
    V69EX  
       2015-11-22 15:16:27 +08:00
    如果经常看国外的开源软件邮件列表,发现老外们真的要比国人严谨些,有人居然为一 patch 中的路由器型号名称字母排序问题发了好几封邮件,其实那用起来并不会有什么影响。
    orzfly
        26
    orzfly  
       2015-11-22 15:17:13 +08:00
    A2 早点睡,晚安 >3<
    Elethom
        27
    Elethom  
       2015-11-22 15:18:11 +08:00
    從業這四五年來我學到了一件很重要的事情。

    和不同人合作的差別就是:優秀的人來徵詢意見時,我最喜歡說的一句話是「 Surprise me 」,因為比起做決定,我更希望他能不受影響地發揮,給一個驚艷到我的結果;而蠢貨,就算我事無巨細地安排好,他總覺得自己很有想法,擅自做愚蠢的改動,最終做出個垃圾。很不幸,絕大多數人都是後者。
    hosiet
        28
    hosiet  
       2015-11-22 15:40:25 +08:00 via Android
    尚且不论对与错,个人感觉因为提出的排版规则的修正没被接受,就从邮件列表到 IRC 再到 V2 一路说过来,给人的观感很糟糕。

    现在负责各大项目 l10n 的负责人总是会换的,只是时间早晚的问题。
    Quaintjade
        29
    Quaintjade  
       2015-11-22 15:54:25 +08:00 via Android
    @Arthur2e5
    事实上汉字之间本来并没有空格这东西,中西文之间即使不加空格也不影响语义,加间距只是为排版。内容编者只需要注明哪些地方不应该加空格(比如“ X 染色体”)。

    Serif 虚或者细还是 dpi 和类似 cleartype 技术的问题。其实 dpi 上 300 ,不开平滑边缘, serif 应该会不错。当然字体应当以适合打印的形式显示。
    Arthur2e5
        30
    Arthur2e5  
    OP
       2015-11-22 16:38:40 +08:00   ❤️ 1
    @hosiet 我就是想让这样的人要么知道自己的责任在哪里要么赶紧下去呀。况且不论排版,这群人的效率也是堪忧,不能完成 Coordinator Responsibilities 就赶快 Resign when it's time 啊!是 C 社员工又不是说你必须守护全 GNOME 的母语翻译,况且即使是 C 社员工我也看得到社区和组织工作做得更好的。从 inactive 那封邮件开始我就觉得很有意思,名字都进 inactive members 里面了还真能被一封邮件叫起来然后说 actually I am active I am just slow 。然后挤牙膏一样碰个几下,我一封邮件表示“啊原来你真的回来了真好”就被气着了——什么鬼东西。

    是的,我就是不开心,我就是得理不饶人。我就是觉得他们扯的每一个解释都是自带 https://theonion.github.io/fartscroll.js 的东西,从“非常忙”到“怎样长得丑”。我就是感觉“ If people get offended by accurate portrayals of the current state of their translation teams, that's their problem.”。我就是相信 people who get offended should be offended 。

    不要跟我讲总有一天,按照这个鬼趋势我还真不信呢。

    @Quaintjade 那个语义我前面也说了,“要硬扯语义上的道理的话”。

    @orzfly 我现在也不知道自己是什么睡眠时相模式,反正精神很好啦。

    @Elethom 呐,呐……
    mengzhuo
        31
    mengzhuo  
       2015-11-22 21:04:12 +08:00
    你们这吵的啥啊,做个 GUI 对比截图看看啊。
    汉字和英文之间没有空格,是 08 年左右就定下了标准
    至于...我同意楼主
    不过,楼主在线上也不必太较真,因为你可以在线下找他们 pk
    tt7
        32
    tt7  
       2015-11-23 01:14:26 +08:00
    @Elethom
    @Arthur2e5
    很赞同你们说的道理, 但是…
    路怒症并不能让别的司机让路,也不能助你提前到达目的地。
    Arthur2e5
        33
    Arthur2e5  
    OP
       2015-11-23 03:40:36 +08:00
    @tt7 所以我才会叫人 Bugzilla 加 CC (抄送)啊。加 CC 施压是能够帮助达到目的地的。

    @mengzhuo 至少 CLI 截图我是发了,另外我都叫人你自己显示个用 CSS Magic 指定本地系统字体的 HTML 片段了,况且 HTML 我在 msg00056 那个里面都贴上去了……

    @Quaintjade 没看到你第二段,我开一下 fontforge 拿 FandolSong 试一下哈……嗯, Anti-Alias 的确因为中间灰度的存在部分造成了这个问题,但是别怪那个用 RGBA 提高横向分辨率好提高 AA 质量的 ClearType 喵。(并且的确还是开 AA 感觉精细一点……)

    另外某些 Serif 太细看上去照样是 AA 观感糟糕的原因。渲染结果在 https://img.vim-cn.com/16/568d2feee672b611cd7f83c4c8a6b479844bf3.png https://img.vim-cn.com/e3/727560103f79cc75575f57793f1b854c41c9d9.png
    royink94
        34
    royink94  
       2015-12-05 13:26:36 +08:00
    @Arthur2e5 想起了前几天的 VB 课 VB6.0 里界面默认字体和编辑器的字体就是宋体
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2552 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 04:25 · PVG 12:25 · LAX 20:25 · JFK 23:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.