Space as a craft: catch that crafty space(空格控:抓住那个 狡猾的空格)

今天,咱们聊聊space craft。

  (ÒωÓױ)!

Sorry,我是说space as a craft。也就是,把空格(或者说空白)作为一个“手艺”研究一下。

做翻译、做排版,快30年了。我对空格,或者说任何空白,都非常敏感。我从小就知道“白”是紧跟在“穷”后面的,所谓“一穷二白”。所以,小时候过惯了穷苦的日子,落下病根儿了,长大了对啥空白都那么敏感。

好像又扯远了。拉回来,拉回来!

可是,你可能会问:空格(空白)有什么可聊的,不就是你在键盘上按大拇哥低下那个最长的键,出现的那个看不见又摸不着的的空档吗?是,但也不全是。

看到这里,你可能又会说:哈,我知道你说的是什么了,还有那个全角的空格,对不对?对,但还是不全对。还有,我宁愿把它叫做“日本空格”,因为我早年曾通过某日本翻译公司做过N多某日本龙头车企的资料翻译,里面铺天盖地的全角字符。日文,我就不说了。可是英文,干嘛用那么多全角字符呢,英文、数字,还有空格,那么多全角,看着别扭不别扭呀(至今我也没弄明白个中原因,有知道的,请不吝赐教。)好像又扯远,哈。

在专业排版软件Adobe Indesign中,你可以输入10几种不同宽窄的空格

作为空格强迫症晚期患者,普通空格,要显示出来(通常显示为一个句中的小黑点),而其他空白,即便无法显示可见的字符,也要发出灵魂拷问:它从哪来(为什么会在哪里)?译文中要不要保留?

首先,看看在计算机辅助翻译软件memoQ,怎么把空白都显示出来。那就是用正则:

\s 这个正则表达式意思是任何单个空白字符(我猜,那个s意思就是space,哈)。在上面原文截屏可以看到,所以空白字符都高亮显示出来,其中大多数是普通空格(高亮黑点就是)。普通空格不是我关心的,我关心的其他空白。所以把正则细化一下,加上“除空格外”,变成了 [\s-[ ]]:

 这下清爽多了!下面分别说说各种空格是啥意思

985行中那种“细空格”(Thin Space),是专门用在脚注标号(开头两个标记就是)后面,将其与后面的脚注文字分隔开,这样比较美观。

983行那个小圆圈,可不是表示度数的。这个学名叫“不间断空格”(Nonbreaking Space),在网页源码和专业排版软件里很常用(用于避免文字意外折行)

455行那种带叉子的方框(因为字体不支持这个字符,所以才这样显示),其实是“固定宽度不间断空格”(Nonbreaking Space (Fixed Width)),作用和上面那个相同,另外一个作用就是保持固定宽度,通常用在排版软件中。比如这里用在省略号(三个英文句号)中间,为其增加一点固定的宽度(好看一些),但又避免其意外折行。这种空格,中文一般很少用到。

中文中很少用到不间断空格(从上面的中文译文列就可以看出来),所以继续对正则进行细化:[\s-[ ]] ​​​​​

 这回在630等行中看到一个“宽空格”(Em Space),这个通常用在专业排版中,用于分隔段落标号和后面的正文。这个空格一般对应于“窄空格”(En Space)。这些说法看起来可能比较奇怪,Em和En其实就是指英文字母m和n,表示不同宽度(m比n要宽很多。)

我稍微浏览了一下这个正则所筛选出来的句段,发现我感兴趣的就是“细空格”和“宽空格”,因为这两种空格与排版直接相关。为了将中文(右列)中缺失这两种空格的句段晒出来,用正则:^[^\s-[ ]]*$

可以看出来,前6行中文中丢了宽空格,但这是有意为之。这些行都来自目录,英文太长,需要换行(宽空格前面的那个标记就是换行符),所以在换行之后加个宽空格,让第二行的文字缩进一些,以便与第一行的文字对齐。但中文较短,没有换行,所以也就把换行符和宽空格一同省略了。

第7行(756行)的中文丢了宽空格,所以得补上。后面其他行,是小标题,译者把宽空格都换成了全角连字符“-”。这个字符在英文中不会用到,而用在中文里,其宽窄和粗细,可能也会随着所用字体的不同而不同,所以是否留用,或者说,是否恢复英文的宽空格,或者改成英文常用的其他横线,比如“宽横线”(Em Dash),待定。

说到这里,其实有个问题,那就是,如果你真的复制上面列出的正则表达式,其实得到的 表达式是无效的,这是因为其中包含的那些特殊空格,在我从memoQ复制粘贴到本博文时就丢掉了。所以,最后那两个正则表达式,如果完全采用转义符的话,就是:
[\s-[\u0020\u202F\u00A0]]
^[^\s-[\u0020\u202F\u00A0]]*$

这里顺便推荐一个我最长用的工具,那就是Okapiframework套件中的 Rainbow工具,里面有个功能就是通过粘贴字符,查找这个字符的Unicode编码

 当然,你可以直接Windows操作系统中自带的“字符映射表”(Character Map),定位某些特殊字符:

看到没,从\u2000 到 \u200D,14种空格都在这里了。哈,我知道空格有14种写法!我是翻译和排版界的“孔乙己”!!

2022年11月3日又及:其实,还有更多风格的空格呢,这里有个英文帖子,讲述的更全面:

Regular and Unusual Space Characters - Unicode Explorer

总结一下,下面这个正则算是将所有空格一网打尽了:
[\u0020\u2000-\u200D\u3000\u202F\u205F\u00A0\u3164\u2800\u180E\uFEFF\u2060]

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值