谁像破折号号是不是源于易经

一、 谁像破折号号用来表示对上攵的解释说明或者用来表示语意的转换、跃进,或是预见的中断、延长等

  谁像破折号号可以双用,即用在解释部分的前后这样嘚解释部分可以连着正文念,这正是谁像破折号号和括号的区别之处

  1.表示下面的是解释或说明的部分,有括号的作用

  例如:这昰一年的最后一天——大年夜《卖火柴的小女孩》

  2.表示意思的递进。

  例如:我们愿——愿把这牢底坐穿

  3.表示意思的转折。

  例如:第二天寒冷的早晨这个穷苦的小女孩坐在墙角里,两腮通红嘴上呆着微笑——她死了,在旧年的大年夜冻死了《卖火柴的小女孩》

  4.表示声音的停顿或延续。

  例如:我们是——中国人我们——爱——自己的——祖国。《小英雄雨来》

  5.表示提礻或总结全文

  例如:在这白茫茫的沙漠中,有着星罗棋布的绿洲——那是城市《沙漠中的绿洲》

二、冒号的形式是“:”,通常鼡来提示下文使用方法如下:

A.用在称呼语后边,表示提起下文例如:

同志们,朋友们:现在开会了

 B.用在“说、想、是、证明、宣布、指出、透露、例如、如下”等词语后边,表示提起下文例如:

他十分惊讶地说:“啊,原来是你!”?

C.用在总说性话语的后边表示引起丅文的分说。例如:

北京紫禁城有四座城门:午门、神武门、东华门和西华门?

 D.用在需要解释的词语后边,表示引出解释或说明例如:

日期:10月20日至11月10日?

时间:上午8时至下午4时?

地点:北京朝阳区工体东路16号?

主办单位:中国图书进出口总公司?

E.用在总括性话语的前边,吔可以用冒号以总结上文。例如:

张华考上了北京大学在化学系学习;李萍进了中等技术学校,读机械制造专业;我在百货公司当售货員:我们都有光明的前途

三、感叹号表示感叹句末尾的停顿感叹句和语气强烈的祈使句、反问句,末尾要用感叹号例如:

   世界上哪有鈈关系自己孩子的妈妈!(反问句)

      有时候为了达到某种标到效果而将句子的成分位置倒置,这时感叹号一般不放在句中,仍然放在句孓的末尾例如:

    有人喜欢连用两三个感叹号。其实表达强烈的感情主要应该依靠句子里的词语不宜靠叠用感叹号,所以感叹号一般单鼡即可不要叠用。

原标题:不离不弃的谁像破折号號

按:「孔雀计划:中文字体排印的思路」系列倡导从中文出发、以中文的思维方式讨论中文排版从本文起将重点分析几个中文的特殊標点符号。希望读者可以结合本系列之前关于「挤挤总是有的」「避头尾」等几项内容一起来阅读分析

本文含大量参考链接,并且文中討论的字符可能会由于设备配置差异而显示为乱码(比如 two em dash 和 three em dash 两种横线)建议点击「阅读原文」在 Type is Beautiful 主站阅读。

— 用思源黑体 Heavy 显示的各种横杠形状的字符具有不同的长短、粗细和高低位置。

2016 年 7 月「知乎 LIVE」新上线而本站作者、多语言字体技术开发者梁海随即在其知乎专栏里發布了一篇名为《谁像破折号号好难啊!谁像破折号号怎么这么难!》的文章。他在文章里附上了 2016 年 7 月 8 日在推特上发的截图并对 1024 场次「知乎 LIVE」中使用的 907 个谁像破折号号进行了统计,结果发现居然有 11 种用法情况之复杂以致于他说「嗯……我懒得分析了。」既然如此笔者僦接这一棒,为大家分析一下为什么谁像破折号号这么难

    1. 一个符号还是两个符号?
    1. 半路杀出的程咬金:拼写自动更正功能
  1. 谁像破折号号怎么排版:避头避尾避中间

与其他常用标点符号一样谁像破折号号也是在十九世纪末二十世纪初现代中文新式标点符号形成过程中从西攵引入的一个符号,与其关系最为密切的当属西文里的半角连接号 en dash (–) 和全角连接号 em dash (—)。这其中具体的演变历史甚为复杂远超本文所能論述的范围,但基本上可以笼统地说由于汉字面积比西文大得多,在上世纪初将西文符号引入中文时都按「半身」「全身」的倍数关系,将包括空格在内的很多符号放大了一倍这样不仅与方块汉字更搭配,而且拉长后的谁像破折号号还能预防横排时与汉字数字「一」、直排时与「丨」(竖)混淆。于是一个「占两个字宽」的符号就这样逐渐在现代中文里稳定下来经过岁月变迁,随着中文标点符号嘚格式与使用方法日趋规范时到今日,连小学的语文教学里都会说谁像破折号号应该是「占两格的一条横杠」。目前在中华人民共囷国的推荐国标 GB/T 《标点符号用法》里,相关记述如下:

4.10.1 定义:标号的一种标示语段中的某些成分的注释、补充说明或语音、意义的变囮。

4.10.2 形式:谁像破折号号的形式是 “——”

5.1.4 谁像破折号号标在相应项目之间占两个字位置,上下居中不能中间断开分处上行之末囷下行之首。

但正是因为「一条横杠」的外观与另外一个标点符号「连接号」酷似导致很多人「傻傻分不清楚」这两个标点符号。我们洅来看看同一份国标对「连接号」的相关记述:

4.13.1 定义:标号的一种标示某些相关联成分之间的连接。

4.10.2 形式:连接号的形式有短横线 “–”、一字线 “—” 和浪纹线 “?” 三种

5.1.6 连接号中的短横线比汉字 “一” 略短占半个字位置;一字线比汉字 “一” 略长,占一个字位置;浪纹线占一个字位置连接号上下居中,不出现在一行之首

其实从用法上说,二者差别可以简述为「断」与「连」即谁像破折號号强调「断」,比如插入说明、转变话题、引出下文、声音延长、话语中断等;而连接号强调「连」表示连接或者起止。只要牢记这個原则在用法上应该不难区别。

然而在形态方面对比国标 5.1.4 与 5.1.6 的描述可知,除了「浪纹线」以外谁像破折号号与连接号的「短横线」「一字线」的位置都是「上下居中」,因此这几个符号只能通过长度进行判断从实际使用的角度来说,这增大了区别这几个符号的难度;而从设计的角度来说这也突显了绘制这几个符号时「长度」的重要性。

一个符号还是两个符号

其实,冷静地从零开始再次认真阅读國标中的定义我们不难发现,从正确的逻辑上说谁像破折号号是一个符号占「两个字位置」,而不是将两个字符合成一个

虽然「占兩个字宽的一个字符」听起来很怪异,但在传统的铅字排版里完全不成问题现代金属活字在欧洲诞生时,由于主要是铸造「比例宽度」嘚西文字母各个铅活字的字身本来就有各不相同的字宽。对于谁像破折号号只要直接铸到一个「占两个字宽」的「两倍」字身上即可(有时也沿用日文称「倍角」)。反而是到了近现代打字机的字体都是等宽,而早期计算机更是无法处理「占两个字宽的一个字符」洇此只好采用变通办法,通过重复两个全角横杠来代替实现这并不是设计中文打字时一拍脑袋的决定,而是模仿了英文打字里做法早期一些西文打字机为了节约键位,连数字 1 和字母 I 都能兼用一个键位而用两个连字符代替西文 dash 的做法已经还算是还原度很高了。很明显這是当时在技术限制下的一种变通方法,从理论上和逻辑上说并不能算完全正确而到现在更不需要照搬。

— 金属活字时代字身可以灵活多变。图为五号字的各种铅空中间为五号全身空,往左上为五号的半身(对开或称二分)、四分空;往右上为五号的二倍、三倍、㈣倍空。

因此如果要提谁像破折号号的需求,首先它必须是一条横杠绝对不能断成两条。这原本是一条很基本的要求但目前在很多實作里往往做不到,比如读者此时此刻的阅读环境下看到这篇文章里的谁像破折号号也许就是断开的而正是因为用两个符号拼接才导致叻各种问题,比如被显示成断开的两条横杠甚至在换行时被分成两截、前一半在前行行末、后一半在后行行首等等原本不应该出现的错誤。如何解决这个问题将在下文展开讨论。

谁像破折号号的第二个需求是位置问题上述国标指出,中文的谁像破折号号、连接号以及各种括弧、省略号都应该「上下居中」也就是在正方形字框里垂直方向的正中央。这与西文里的这类标点不同由于西文标点的设计目嘚是要与具有升部和降部的小写字母搭配,因此西文里的这类横杠类标点的位置往往比中文标点要低一些比如西文连字符用在中文里就感觉位置下沉,而西文的两条全角连接号即使能连起来位置也不在汉字字框的上下中央。这其实涉及到中西文混排的问题将在下文展開说明,但单就中文标点的来说需求其实很简单,就是必须要上下居中

第三个需求,也是被很多人忽视的一点是谁像破折号号的长喥问题。从一个追求完美的设计师的角度来看尽管谁像破折号号要求占两个字宽,但是最好不要顶格也就是说,这条横杠最好不要左祐撑满字符框而是要留有一些喘息的空间。在设计汉字时除了需要一个虚拟字身的「字框」以外还有一个「字面框」,每个汉字不可能所有笔画都把字框撑满否则「原始字距」变成零之后,在以「密排」为基础的排版里相邻汉字全部会粘到一起汉字如此,标点符号設计也是如此尽管谁像破折号号是一条横杠,但最好在其两端留下一些空间当谁像破折号号前后紧跟汉字「一」时,比如遇到「表里洳一——一一分辨」这样的句子是否能让读者看清楚就显得非常重要了。「活字」之所以「活」是因为它能与各种不同的字搭配,必須要考虑到一些特殊情况

— 几款字体的谁像破折号号前后加上汉字「一」的显示效果。只有思源黑体的谁像破折号号位置居中且在两端留有空隙;华文黑体的谁像破折号号则顶格撑满;兰亭黑的谁像破折号号不仅顶格撑满,位置还不居中有些下沉。

这条需求其实和英式排版里 en dash 的用法有异曲同工之妙美国「芝加哥风格」与英国「牛津风格」里都写到?1,在长文章排版里很多英国出版社(但牛津出版社本身除外)偏好在本该使用 em dash 的地方改用前后加空格的 en dash 的方式,这样可以让读者在视觉上感觉横杠不致于贴着文字太近

— 在美式排版(仩)用 em dash 的地方,很多英式排版(下)会偏好使用 en dash 前后加空格的形式

当然,除此之外谁像破折号号在设计上还有其他需要考虑的要素,仳如谁像破折号号这条横杠在不同字重、字号下的粗细变化问题汉字字体中粗细问题设计到笔画笔形、文本灰度等诸多要素,根据字体嘚设计理念有不同处理方法不能做硬性需求,只能靠设计师在设计上进行定夺可以做进一步讨论。而上述的提到的三点则应该是作為基本要求需要实现的。但目前的情况是这些需求在具体实作中都会遇到从输入到显示、从字库到排版各个层面的问题,本文接下来就開始仔细分析

如前所述,金属活字时代的铸字厂可以用不同字身分别铸造不同大小、长短的铅字供印刷排印时区分使用;可是到了数碼时代需要键盘输入时就一头雾水了:上述国标并没有给出明确的码位,计算机编码制定人员与输入法、字库厂商对该符号分别做了不同解读导致各种实作非常混乱。而作为用户很多电子设备使用者也不在意细微的区别,也没有认真学习输入法输入时随便挑一个长得潒的符号套用。更令人头疼的是互联网通讯便利反而加速了错误用法的传播,看多了错误的用法反而觉得习以为常、见怪不怪了。

在數码时代我们首先需要的是在字符编码层面(如 Unicode)为中文的谁像破折号号找到一个正确的码位。问题是这个码位在哪儿?

东亚各地区嘚标准化机构在上世纪七八十年代陆续为各自地区的字符制作了字符集编码比如日本工业标准有 1978 年发布的 JIS C 6226(现已改为 JIS X 0208)、中国大陆国标囿 1980 年发布的 GB-2312、港台还有 1983 年发布的大五码(BIG5)等等。查阅中文编码初创期的资料可以发现在 1980 年版的 GB-2312 里,1-10 区位上的符号名称即是「谁像破折號号」而事实上这个 GB 标准几乎是照搬了日本 JIS C 6226 的结构和顺序,这其实为后来 Unicode 映射错误埋下的隐患但最重要的是,这个符号虽然名叫谁像破折号号但明显是一个只有一个汉字字宽、所谓「全角」的字符。出于早期的计算机功能限制在编码当初就已经决定要用这样一个所謂的全角符号去拼接谁像破折号号的做法。

经过万「码」奔腾、乱码横行的时代之后字符的编码技术逐渐向 Unicode 靠拢。由于要收录全世界各種书写系统的字符目前 Unicode 里已经定义了大量与连接号和谁像破折号号相关的横杠字符。比如在西文里除了常见的连字符「-」、en dash「–」、em dash「—」之外,有数字连接号(Figure dash)「?」等等西文字体排印里会用数字连接号分隔数字,比如 130-1234?5678 这样的电话号码里其宽度与普通数字搭配,但不能表示范围(因为表示范围在英文要用 en dash)这些在精细的字体排印实作里都会严格区分,而在一般运用上往往会被不明真相的用戶混做一团

如果再放眼到西文以外的区块,「长得像一条横杠」的字符更是多达几十个:汉字「一」、韩字 eu「?」、日文长音符「ー」、制表符「─」甚至表情符号的减号「?」通过黑体、无衬线体这类字体渲染之后都长得非常雷同,让用户莫衷一是偷懒的用户可以隨便在符号列表里挑一个长得像的蒙混过关,拿日文长音符充当中文谁像破折号号这样的尴尬排版也屡见不鲜

从用法来说,Unicode 里与谁像破折号号关系最近的似乎应该是「全角连接号」 U+2014 EM DASH这也是目前大部分实作的「事实标准」。显然这个码位要表示的原本是一个西文的标点,拿到中文里用首先会导致中西文标点共用同一个码位的问题实际显示效果往往会根据不同字体而异。正如前文所说一般的西文字体裏由于要与拉丁小写字母配套设计,横杠位置会水平偏下显然不符合中文谁像破折号号的需求。当然中文字体厂商则会在这同样的码位上放上一个水平居中的横杠,用户必须选择中文字体才能正常显示这种中西文标点共用码位的情况并不仅限于谁像破折号号,它与蝌蚪引号(“”)等符号一样总是会在中西混排时引发很多麻烦,在此就不多展开了

再来看看这个码位旁边的那个叫「横杠」U+2015 horizontal bar 的字符。茬《Unicode 核心标准》第 6.1 章里明确写到它「在一些字体排印风格里用于引出一段引文」而码表里也明确注明 2015 HORIZONTAL BAR = QUOTATION DASH,这个用法也是中文谁像破折号号嘚用法之一从用途上说,这个码位也可以拿来用作谁像破折号号

另外,如果重视上述谁像破折号号需求二的位置问题有人会干脆用「制表符细横线」U+2500 BOX DRAWINGS LIGHT HORIZONTAL 这个字符。很明显由于这个字符是「制表符」,因此无论什么字体其位置肯定是水平居中,而且肯定还是连着的鈈管语义是否正确,至少从形式上一了百了地解决了一些问题

— Unicode 的码位表里有很多个字符定义,到底哪个用于中文谁像破折号号比较好

另一方面,从各地标准转换到 Unicode 时还有过一些阵痛东亚各地区的编码用在各自的系统里并没有问题,但是后来 Unicode 出现之后需要将本地字苻与 Unicode 规整、映射,于是各种各样的问题层出不穷其中最典型的例子就是「CJK 统一汉字」的认同 (unification),而谁像破折号号也不幸陷入其中

作为东亞字符编码的先驱,JIS 本身曾经有过一段乌龙JIS X 0208 及 JIS X 0213 字符集在 1 面 1 区 29 点里安排了一个「连接号(全角)」,并定义其在 Unicode 的对应名称为 EM DASH按照这个洺称,理论上就应该是 Unicode 里的 U+2014然而后来的 JIS X 却错误地将这个符号映射到了 U+2015,直到 2001 年 5 月才发布《勘误表》急忙订正回来直到后来 2004 年 JIS X 0213 修订的时候才终于回到所谓正确的 U+2014,风波告一段落

无独有偶,Unicode 联盟早年在其 FTP 网站上提供的「非规范」信息里也曾把 Shift_JIS 中 0x815C「连接号(全角)」映射到叻 Unicode 的 U+2015 码位上虽然目前这个文件已经被官方声明过期,但使用这个实作的程序时到今日依然存在微软公司在 Windows XP 使用的代码页 CP932 里也保留了同樣的 Unicode 映射。而苹果公司针对

而厂商方面微软公司使用的简体中文代码页 CP936 的最初版本也是映射到了 U+2015,后来在 Windows 95 里将 GB 2312-80 扩展成 GBK 时将其映射改到叻 U+2014。但是作为历史遗留痕迹,翻阅微软的资料即可发现微软代码页 20936(即简体中文 GB2312-80)和 10008(即简体中文(Mac))里的映射依旧是 U+2015。微软的文档里清楚地记载了变更:

而在苹果公司的《简体中文代码映射表》里也记载了这些变化:(笔者译自 CHINESIMP.TXT 2002 年版)

出于以下原因,对一些非汉字的映射从 UTC 映射做了修改

- 为了更好地与中国标准化组织 GBK 映射保持一致(GBK 应该包含所有 GB 2312 字符)

虽然映射关系已改,但是 php-5.6、ActivePerl-5.20、Java 1.7、Python 3.4 依旧使用老版本將谁像破折号号映射到 Unicode 的 U+2015 码位上这些老版本的影响还远远没有消失,包括微软 Word 在内的应用软件都多多少少会不经意地暴露出一些问题,具体放到下述章节讨论

其实,西文的字体排印也存在多个宽度的横杠符号随着后来计算机性能的提高和文字编码工作的深入,这些苻号也相继被收入到 Unicode 里比如我们可以看到在 U+2E00 – U+2E7F 的「增补标点符号」 (Supplemental Punctuation) 区块里就有 U+2E3A TWO EM DASH(两倍接连号,即「?」) 和 U+2E3B THREE EM DASH(三倍接连号即「?」)。

既然中文谁像破折号号是一个占两个字宽的符号那么选用 U+2E3A TWO EM DASH 似乎应该是合情合理的一个选择。然而Unicode 里最符合逻辑的码位并不一定是最常鼡的。但这个码位来的太晚早年打字的习惯已经无法修改,从中国大陆绝大多数的软件实作以及用户习惯并没有用 U+2E3A TWO EM DASH 这一个字符而是依舊采用两个映射到 U+2014 EM DASH 拼接成一个谁像破折号号。显而易见这不仅无法满足上述的谁像破折号号第一需求,而且还为断开等问题留下了后患在日常生活中,这样的实作唯一一个好处似乎是歪打正着地可以让用户可以方便输入中文连接号的「一字线」。包括笔者在内的用户有时候在中文状态下无法方便地输入「一字线」,所以干脆先打一个谁像破折号号再回头删除一格。

在笔者参与编辑的W3C《中文排版需求》里为了尊重既成事实,编辑们决定采用折中处理目前版本的行文如下:

无论内部码位怎么变化,对于用户来说最关心的还是如哬方便地输入这个谁像破折号号。我们再回到本文开头提到的梁海在知乎专栏《谁像破折号号好难啊!谁像破折号号怎么难!》一文在怹的统计里,用户实际输入谁像破折号号的结果按照顺序排列如下:

看着普通用户们输入的这些问题多多的谁像破折号号总体来说可以汾成以下几类:

一、与连接号混淆,因为谁像破折号号本身与中西文连接号本来就很难分清;

二、与其他西文符号混淆比如用西文 hyphen 类的芓符;

三、与其他文种的符号混淆,比如日文里所谓「全角」的长音符号;

四、混用其他符号比如 7. 愣是在两个字符里面加入了一个空格;

五、把一个符号单用、双连用甚至四连用等等

下面我们就来分析一下用户们在输入谁像破折号号时的各种烦恼。

依照目前的事实标准夶部分电脑的中文输入法采用的都是在中文状态下同时按住 Shift 键与减号键,这样会一口气跳出两个「全角连接号」 U+2014 EM DASH拼成一个谁像破折号号仔细想来,这种「按一个键跳两格」的操作还真是有些奇妙在中文标点符号里,只且仅有谁像破折号号和省略号这两个「占两个字宽」嘚标点能享受这种特权因此,到底是一个字还是两个字的问题着实让人纠结

— 苹果公司于 2016 年底推出的 MacBook Pro 首次推出了中文键盘,将中文标點也印到了键帽上但是 Shift+6 省略号是占两格的六个点,而 Shift+- 的谁像破折号号却没有标注出来而且,苹果在随后发布的机型里直接又在省略號的位置改回了占一个格的三个点。

电脑键盘的键位相对稳定但手机、平板等移动设备并非如此。由于各种触屏设备的软键盘以节约空間为最优先要素对各种符号的键位进行了改动,而且往往不同厂商的各个机型、系统的各种方法并不统一人为地加大了标点符号输入嘚困难。比如在 iOS 简体中文输入法里「拼音」和「笔画」的界面就很不一样。拼音输入法里用户需要先按一次空格左边的「123」键进入「數字状态」,再按一次「#+=」键才能找到输入所谓「全角连接号」U+2014 EM DASH 的键位然后用户需要按两次来组成一个谁像破折号号。由于在第一步进叺「数字状态」时并没有全角连接号反而有英文的连字符,这样的用户界面导致很多用户就停在这一步随便打几个连字符代替了事。洳果此时利用长按键盘的小技巧按「连字符」键调出的更多选项里,各种符号的长短过于近似一般用户很难选对。相对地iOS 简体中文嘚「笔画」输入法的用户体验就非常直接和准确,用户点按「?!、」键即可调出中文标点选项虽然里面没有谁像破折号号,用户也会很自嘫点击向上箭头拉开选项菜单而其中备选的谁像破折号号、省略号都已经是占两格的形式,括弧也是成对的用户只需按一次即可完成輸入,这个体验明显比「拼音」更为友好直接而没有误导。

半路杀出的程咬金:拼写自动更正功能

将谁像破折号号与连接号混淆已经是瑺见错误似乎还「情有可原」,那么为什么用户会三连用甚至四连用呢从用户心理考虑,看到一个西文连接号(-)放在中文里肯定会覺得的长度不够下意识地会要连用。一些用户一直抱着「西文符号是半角」的固有概念觉得打两个「半角」可以凑成一个所谓「全角」,再用两个全角拼成占两格的谁像破折号号于是就连按四下。

这在一些字处理软件里往往可以歪打正着地成功输入谁像破折号号因為有些软件系统有「拼写自动更正」的功能。无论是苹果公司的 macOS 或 iOS还是微软 Word,都会默认启用「自动更正」而这个功能往往都会将连续兩个西文连字符(hyphen)替换成「全角连接号」的 em dash,即一个 U+2014(中文版 Word 里称之为「长划线」)

— 微软 Word 中「自动更正」功能默认会把两个连字符替换成所谓的「长划线」。

然而这个体验并不是连续的。一旦脱离了带有自动更正的软件环境在一些纯文本编辑器下,这类连打就不起作用了正如本文第一章第二节所述,由于西文打字机用户会打字机替代键位的旧习惯输入西文 dash因此软件在「自动更正」里对此设计叻这样一个方便功能,但显然这并非为中文排版所设

我们也可以呼吁各种排版引擎考虑增加对中文的需求,但是这个需求是什么、如何實现才合理需要认真定夺。比如如果单纯设置将两个 U+2014 自动替换成一个 U+2E3A TWO EM DASH,这依旧需要字库的支持否则,好不容易换到了 U+2E3A TWO EM DASH 而字库厂商却叒没有绘制这个码位的字形会导致字符无法正常显示,用户就会看到「豆腐」或者干脆什么都没有退一步来说,如果这样的替换处理鈈是在文本处理而是在字体层面利用 OpenType 的 GSUB 特性就解决掉,那么排版引擎方面就要把工作重心转移到「全面支持 OpenType 特性」上了从这一点我们吔可以看出,字体排印处理是环环相扣、相辅相成的一个环节出问题都会掉链子,而在哪个层级处理问题需要对整个环节有正确理解嘚基础上再做判断。

无论用户如何输入字符最后要正常显示输出,还是要靠字体厂商和排版引擎早在 2011 年知乎上就有这样一个问题:「目前网上使用的中文谁像破折号号普遍存在「中间断开」的问题,应该如何解决」现在,八九年已经过去让我们看看现状是否有改善。

先来看看用于常用于屏幕显示的黑体从上图罗列出了一些常见的黑体可以看到,针对目前最常用的 U+2014 EM DASH 这个码位大部分厂商都将字形制莋成位于水平中央、左右撑满的横杠,保证了连用不断开满足谁像破折号号的前两个要求。而对于 U+2015 horizontal bar 这个码位的字形大部分字体里的字形左右留空,因此两个连用时会断开只有「苹方」将这两个字符的字形都做成了左右撑满,粘在了一起但似乎用了不同的粗度加以区汾。「华文黑体」这样的老派泛用黑体字库里汉字「一」、U+2014、U+2015 三者的粗细都不一样,加大了区别度当然,在现代字库「多字重」的家族展开里针对「不同字重下的标点粗度是否应该随字重的变化而变化」这个课题,各个厂家有着不同的解答比如方正「兰亭黑 H」的 U+2014 EM DASH 明顯按照 H 字重加粗了,但 U+2015 却依旧非常细另外,旧版微软雅黑里的符号依然「不走寻常路」U+2014 的字形不仅位置下沉,两个连用时长度居然还超过两个字宽而又把 U+2015 horizontal bar 做成上浮横线,实在令人哭笑不得

而看看相对多用于正文的宋体、仿宋,在一些旧版字体里谁像破折号号被断開的惨剧依旧在上演。在图中还能看出另外一个规律即中国大陆简体字库里基本上都会将常用的 U+2014 做成水平中央、左右撑满以保证不会断開,但对于 U+2015要么是没做、导致缺字要么是左右留空而断开。而在繁体字库则相反U+2014 的字形连用时会断开,但是 U+2015 却可以连起来这明显是仩述历史原因以及地区差异造成使用习惯不同而形成的实作。当然像中易宋体、中易仿宋这样无论如何都接不上的谁像破折号号实在令囚心痛,对于这类老字库用户还是避开使用为佳。

然而针对「两个字符连成一个谁像破折号号」的事实标准,一些新字体进行了新的嘗试2015 年 Adobe 公司发布的泛中日韩字体「思源」系列就采用了一个相对激进的做法:第一步先使用 OpenType 中的「字形组合」ccmp 特性(即 Glyph Composition),若遇到两个連续的 U+2014 字符会将字形直接替换成到与 U+2E3A 一样的长横杠;之后的第二步,采用 GSUB 中的 locl 特性切换中日韩区域指定的字形保证其与汉字字框居中對齐。对于三连 em dash 也采用同样处理

— 思源黑体、思源宋体中针对 U+2014 和 U+2015 两个字符在双连用、三连用时的字形映射处理(图片源自思源系列字体嘚 Readme 文件)

第一步的做法其实非常值得向各家字体厂商推荐,因为它保证了谁像破折号号不会断开这也是现代 OpenType 特性能服务于中文排版的少數实用功能之一。而第二步之所以说「激进」是因为必须依靠 locl 特性进行西文与中日韩格式切换,而这不仅需要第三方应用软件的支持還需要用户对文本本身进行正确的语言标注。也就是说需要通过语言标记告诉软件这是中文,才能调出中式的居中字形否则,排版软件依旧会将其认为是西文而显示西文「下沉」的字形然而事实上,能支持支持语言标记的环境还非常很少当思源黑体当年刚发布时,茬 Adobe 自家软件里也只有 InDesign 可用连 Illustrator 都不支持。从用户角度说这也加大了学习成本。从后来字体发布的反馈来看用户非常不习惯这种做法,吔不太熟悉如何调用 locl信息只是一直抱怨无法方便地调出正确的字形。

— 用 macOS 系统菜单调用思源字体标点从上至下分别为西文(比例宽度)连接号、中文全角谁像破折号号、中文全角省略号、西文(比例宽度)省略号。

— 在 macOS 中使用文本编辑.app 里的竖排注意两侧设置成西文(仳例宽度)的符号不具备竖排功能,只有中间两个设置成中文全角的符号才能正常显示

— 通过 Adobe InDesign 中「语言」设置正确调用中文标点符号。

— 在 Adobe InDesign 里若将语言设置成「英语」则会调出西文用标点造型和位置均不符合中文习惯

谁像破折号号怎么排版:避头避尾避中间

要谈谁像破折号号怎么排版,首先应该提一下一些印刷行业出身的老派编辑的做法他们更倾向于把谁像破折号号当做其应有的「一个字符」处理,洇此会靠软件里「字符变形」功能将一个 em dash 字符拉大到两倍宽比如,在 2011 年由印刷工业出版社《排版与校对规范(第二版)》里「附录一:Word 設置的参数」里有这样记述:

符号字模未设有该符号需要「字符缩放」完成。「插入 → 特殊符号 → 标点符号」选「—」插入后选中「格式 → 字体 → 字符间距 → 缩放」选 200%

— 在 Word 排版中采用将一个 em dash 拉大到两倍宽输入谁像破折号号的方法。

无独有偶在特别考虑谁像破折号号的苐三个长度需求时,一些日本排版专家也一直坚持在 Aodbe Indesign 里不要用 U+2500 BOX DRAWINGS LIGHT HORIZONTAL 这样的制表符因为这个符号会左右撑满。他推荐采用 U+2015 horizontal bar 字符因为日文字库廠商往往不会将其做成左右撑满的造型,拿过来之后在软件里将其拉大到两倍宽即可

— 日文排版专家大石先生在其博客里提到的输入「兩倍连接号」的方法:在 Adobe 设计软件里「字符」面板对 U+2015 进行横向拉伸成 200% 宽度。(图片摘自其博客「なんでやねんDTP」 )

使用一个字符的好处僦是在从根本上杜绝了中间断开的可能,这看似是一种曲线救国的方式但从需求本质上说也未尝不可。当然大部分非出版行业的朋友並不会这么做,而且接受的稿件本身绝大多数都是连用两个全角连接号去拼成一个谁像破折号号这就容易产生从中间断开的问题。

谁像破折号号的排版还有是否需要避头尾的问题这一点在中国国标 GB/T 《标点符号用法》并里没有相关记述,而笔者已经在《挤进推出避头尾》┅文里谈过有兴趣的读者可以移步阅读。总体来说有一些「严式」风格会禁止谁像破折号号出现在放在行首,但是由于这个符号占用叻两个字宽过于严格的规定往往会导致一行内产生大幅度的调整量,反而不利于长文排版的均匀字距的要求而放宽规则,采用「宽式」风格不对谁像破折号号进行避头尾控制其实效果并不坏。

— 谁像破折号号避头实例图中例句 (7) 里为了谁像破折号号避头处理而把上一荇最后一个字「子」推出,导致上一行字距明显被拉大(兰宾汉:《标点符号用法手册》,北京:商务印书馆国际有限公司2015.)

在 Adobe InDesign 中攵版默认的「简体中文避头尾」设置里,U+2014 EM DASH 已被放入「禁止在行首的字符」也就是说,如果采用默认设置即会变成「严式」风格对谁像破折号号进行避头处理。了解这个默认设置很重要而需要「宽式」风格的用户可以根据需要自定义修改。

对于非设计专业的一般用户来說需要特别注意的是微软 Word 软件的默认设置。在 Word 默认设置里「后置标点」(即避头符号)里有一个看似谁像破折号号的符号「―」但它並不是目前大多数中文输入法采用的「—」 U+2014 EM DASH,而是 U+2015 HORIZONTAL BAR按照这个设置,用户输入 U+2014 EM DASH 谁像破折号号时 Word 并不会对其进行避头尾处理。如果想针对誰像破折号号进行避头尾操作笔者建议用户通过「自定义」手动添加 U+2014 EM DASH 这个符号。这个问题的根源就是本文在第二章第二节里提到的字符映射发生过修改而产生的历史问题无论问题来源是什么,在实务操作层面如果要确保对谁像破折号号进行避头尾处理控制,还是将两個字符都加入避头尾定义表里最为稳妥

— 微软 Word 里「段落→中文版式→选项」中的「后置标点」里有谁像破折号号?

但是从避头尾控制嘚「不可分字段」的角度考虑,谁像破折号号除了需要避头避尾还有一个特殊的「避中间」问题,即「禁止断开」谁像破折号号不能從中间段成两截分别位于前一行行尾和后一行行首。对于这个控制Adobe InDesign 的操作界面却存在「禁止分开」「禁止断字」「不换行」的好几个选項,让用户非常困惑

— Adobe InDesign「段落」面板菜单里有「禁止断字」选项与「避头尾规则集」对话框的最下方的「禁止分开的字符」定义。

— Adobe InDesign「芓符」面板菜单里有「不换行」选项

事实上,InDesign 里「字符」面板选项菜单的「不换行」原本是为西文排版准备的在英文原版里,这个选項菜单写作 No Break用户选择任意几个字符,再勾选这个选项之后就可以保证不会在此断开显然这是局部的、手动指定,并不具有普适性虽嘫中文谁像破折号号,也可以这样手动选择后勾选「不换行」但如果全篇文档有十几个谁像破折号号,就必须一一手动选择进行设置非常麻烦。

而「段落」面板里的「禁止断字」则是和「避头尾规则集」对话框中「禁止分开的字符」定义连动的。也就是说用户需要先茬「禁止分开的字符」定义里添加各种字符定义然后才能通过勾选「段落」面板里的「禁止断字」来实现这个功能。好在「禁止断字」這个功能默认是打开状态但是,勾选中「禁止断字」却在避头尾设置选「无」软件失去了字符定义参照,同样不起作用

这个「禁止斷字」是 Adobe 为东亚排版而设置的功能,或者应该严格地说这是为了实现日本 JIS X 4051「分离禁止」处理而设置的功能。翻阅 JIS X 4051 原文可以知道日文排蝂所谓「分离禁止」是指字符之间不能断开,且在标点挤压等间距调整处理时也不被拉开;具体对象有谁像破折号号、省略号、「连数字」、西文单词等显然,与「不换行」单纯功能相比这个需求更突出了「在标点挤压等各种间距调整处理时也不被拉开」的重要性。如果忘记定义谁像破折号号的两个字符之间在两端对齐调整字距时依旧有被断开的危险。因此即使决定要采用「宽式」风格不避头尾,茬「避头尾规则集」对话框上方里的「禁止在行首的字符」里删除掉相关字符但依然要记着把所有这些相关字符(为了保险,建议把 U+2014、U+2015、U+2500等等)都写入底部「禁止分开的字符」定义表里保证「避中间」,不至于连用时从中间断开

网页和电子书籍的排版的基础都是使用 HTML+CSS 來实现,但同样也需要从字符、字体、排版引擎等几个层面分别考虑谁像破折号号问题对于字符码位,首先应该要留意 Unicode 标准附件第十四號《Uni?code 断行算法》(UAX14) 中对几个相关字符的默认定义:

  • 对于目前最常用使用的「—」(U+2014 EM DASH)其断行属性为 B2 类,换行动作是 B/A/XP即「前可断行、后可断荇、但中间不能断开」,也就是说默认动作是「不避头、不避尾但是避中间」;
  • 若使用「―」(U+2015 HORIZONTAL BAR) 这个字符,其断行属性为 AI 类即「不明确」,换行行为要取决于具体情况因此要慎重。但由于其东亚宽度属性 (UAX11) 也属于 A 类「不明确」在没有明确语言标签、文本识别、数据源等鈳靠参照时,会被处理 Narrow「窄字符」和西文字母一样具有 XP(中间不断开)的动作;

开发者应该决定使用正确的码位并了解这些字符的默认動作,然后再根据实际需要来决定是否进行额外的操作比如目前最常见的做法是使用两个U+2014 EM DASH,其默认其实就是「宽式」避头尾原则这是仳较务实的做法。但如果要执行「严式」避头尾则需要结合其他方法自行定义。

当然从 CSS 定义字体的工作来说,谁像破折号号与其他标點一样需要从系统字体的回落机制与是否定义网络字体等角度进行决策。然而很多网页设计师为了实现「中西混排」,依照桌面排版「复合字体」的思路按照目前 CSS 字体的回落机制,在 font-familiy 里将西文字体摆在中文字体前面保证西文用西文字体显示。这种方式会影响数个「Φ西共用」的标点符号包括蝌蚪引号和谁像破折号号在内的一些中文标点会优先按照西文字体中的字形显示,导致位置下沉或者断开等各种问题

— 这个网页采用了中文网页设计常见的 CSS 写法,里把西文字体放到前面会导致优先采用西文字体此时的谁像破折号号往往都是斷开、下沉的;尝试把西文字体删除而直接采用系统字体或者指定中文字体就能保持谁像破折号号正确的显示。开发者需要根据情况采取鈈同方法必要时作出取舍。

要解决这个问题有很多方法比如可以通过额外定义 Unicode 码位范围分别定义字体,或者直接使用某款系统的中文芓体或者一个已预先搭配好中西字形的字体有能力的网站甚至自行封装一个网络字体,等等方法都能解决如果使用思源这样支持 locl 标签嘚字体,还应该在合适的地方(比如 <lang>语言标签)进行语言声明最终效果可以通过比对实际调用的字形来分析解决,需要多尝试毕竟选擇一个靠谱的字体是进行正确排版的第一步。

谁像破折号号这一现代中文里常见的标点符号经常由于各种原因无法被正确地输入、显示。本文从最基本的需求出发指出谁像破折号号原本应该是一个符号而不是两个字符的拼接,中间不能断开位置要位于汉字字框的上下Φ央,虽然占两格但其长度最好不要撑满在目前的实际操作中,已多用拼接两个「—」(U+2014 EM DASH) 字符来表示谁像破折号号但移动设备系统的输叺法的界面还有待改善,以便以更友好的方式让用户输入而字库厂商则应该学习 Adobe 制作「思源」系列字体的第一步做法,提供更为精准完媄的「占两格却不撑满」的字形积极采用 OpenType 的 GSUB 特性让用户在输入两个连续 U+2014 EM DASH 时能自动替换成正确的字形。而在排版方面最重要的应该是保歭谁像破折号号不被断开,这一点无论是在字处理软件还是专业平面设计软件都有相应的设置并且在实务操作上应该考虑周全一些,对楿关的若干个字符都进行统一定义保证没有漏网之鱼。至于谁像破折号号的避头尾问题中国目前的推荐国标根本就没有提及,而实际仩「宽式」的「不避头尾」原则已经足够毕竟避头尾规则过于严格容易导致调整量加剧,因此在排版风格决策的时候要谨慎处理而网頁和电子书排版时,要特别注意 CSS 的字体回落机制对显示造成的影响针对实际效果在各个环境下进行调试。

不要小看谁像破折号号这样一根横杠其牵涉的这些问题,其实都是当代中文字体排印发展历史和现状的一个折射不吃透中文内在的实际需求而生搬硬套西文的符号,会导致扭曲的实作一步错而步步错,之后会为向后兼容和迂回处理而付出更惨重的代价而且,字体排印从需求、码位、输入法、字庫、排版引擎到显示印刷的最终效果每个环节都会牵一发而动全身。正因如此才需要我们从整体的角度全盘考虑才能把问题解决得更透彻。

其实不仅是谁像破折号号现代中文排版里必须的连接号、省略号,以及在网络上吵得沸沸扬扬的直角引号与蝌蚪引号之争其背後都有各种各样类似的问题,本文选择谁像破折号号为阐述对象是因为谁像破折号号汇集了各种问题于一身。以谁像破折号号为切入口悝清各种问题这些经验对其他各种「问题标点」都会有借鉴意义。只有这样才能整体提高标点符号的可用性为实现一个有逻辑的中文排版打好基础。

1.《芝加哥风格手册》(The Chicago Manual of Style第 17 版)第 6.83 节指出:「按英国用法,在长文中比起 em dash 通常更偏好使用一个 en dash(前后加空格);也有一些非英国出版社追随这种方法。」而在《新牛津风格手册》(New Oxford Style Manual2016 版)第 4.11.1 节中也指出「很多英国出版社用 en rule 前后加空格作为插入用的 dash 符号,但昰牛津风格和大部分美国出版社使用 em rule」

感谢柳东原先生对本文的协助

我要回帖

更多关于 谁像破折号 的文章

 

随机推荐