文心雕虫 | 标点符号:横线那些事儿

  • 作者:王绎心
  • 来源/出处:雨心亭 微信公众号
  • 发布时间:2023-01-29
  • 访问量:1295

此前,我在《我们可能都不会打破折号》中已经介绍了破折号的尴尬境地:无论怎么打,都不太对。

破折号中间不能断开。“——”[两个 U+2014(Em Dash)]是通行的输入方法,但中间经常会断开;“──”[两个 U+2500(制表符细横线)]虽然断开的概率小很多,但语义不合适;“⸺”[U+2E3A(Two-Em Dash)]虽然理论上可行,但很难输入,且往往无法正常显示。(最终的推荐方案请查看文章内容

今天我想再说说其他横线形式的标点──它们的情况也没比破折号强多少。

中文标点符号中,连接号有一字线(—)、短横线(-)、浪纹线(~)三种形式。其中,浪纹线“~”一般不会打错,只需注意不要打成半角的“~”即可。

形式上,一字线应当比汉字“一”略长,占一个字位置;短横线应当比汉字“一”略短,占半个字位置。这个要求很明确,在手写时不会出现问题;问题在于,在屏幕显示或打印时,一个标点符号长什么样会受到选定的字符编码和字体对该字符编码的显示效果等各种因素影响。而字符编码可以说本来是针对西文的,中文字体在很多细节上又没有一致的规范。

说到这里,就不得不提一下西文标点里的横线。主要是 Em Dash(一个“M”的宽度)、En Dash(一个“N”的宽度)和 Hyphen(连字符,最短),具体用法就不谈了。通行的输入方法是用 U+2014“—”(字符编码名称就是“Em Dash”)表示 Em Dash,用 U+2013“–”(字符编码名称就是“En Dash”)表示 En Dash,用 U+002D“-”(字符编码名称是“Hyphen-Minus”)表示 Hyphen。

理论上,一字线(比汉字“一”略长)和 Em Dash(一个“M”的宽度)并不等宽。但绝大多数中文字体甚至一些西文字体对 U+2014“—”(Em Dash)的显示效果比西文标点 Em Dash 应有的宽度宽一些,基本符合一字线的形式要求。因此,通常可以用 U+2014“—”表示中文标点一字线(通常的输入方法:按通行的输入破折号的方法,同时按“Shift”键和“0”右边的键,打出“——”,再删掉一半)

但是,中文标点短横线(比汉字“一”略短,占半个字位置)应当用 U+2013“–”(En Dash)还是 U+002D“-”(Hyphen-Minus)表示就存在争议了。实际上,不同字体对这个问题的认识和处理是不同的。这就使得在一些字体下,U+002D“-”是西文标点 Hyphen(连字符)宽度,比短横线应有的宽度明显更窄,此时可使用 U+2013“–”表示短横线(如微软雅黑、等线等字体);而在另一些字体下,U+002D“-”约占半个汉字宽度,基本符合短横线的形式要求,而 U+2013“–”显示效果反而不合适,此时则应使用U+002D“-”表示短横线(如 Windows 自带的中易宋体、黑体、仿宋、楷体,方正字体等)。

由于西文标点 Hyphen(连字符)和中文标点短横线宽度差异明显,个人认为在设计字体时比较好的方案是用 U+2013“–”(En Dash)表示中文标点短横线和西文标点 En Dash(虽然二者也不等宽,一如一字线和 Em Dash 不等宽)。然而,当前很多常用字体(比如前面提到的 Windows 自带的宋体、黑体、仿宋、楷体和方正字体等)并没有使用这种方案,而是用了 U+002D“-”(Hyphen-Minus)表示短横线。

综上,考虑到人们出于 U+2013“–”不方便直接输入等原因通常使用容易从键盘上打出的 U+002D“-”表示短横线,且中文常用字体也较多以 U+002D“-”表示短横线,通常可以选用 U+002D“-”表示短横线(虽然 U+002D“-”在微软雅黑、等线以及很多手机字体下的显示效果与短横线的形式要求相差较大)(通常的输入方法:在键盘上按“0”右边的键)

顺便提一下减号。虽然 U+002D“-”的名称是“Hyphen-Minus”(连字符-减号),用它表示减号有时也并无不可;但是,建议使用 U+2212“−”(Minus Sign,减号)表示减号。

其实 Unicode 里有一大堆各种各样的横线,只要字体显示效果或者经过缩放等调整后的形式符合一字线、短横线、减号、Em Dash、En Dash、Hyphen 等符号的形式要求,用哪种字符都可以。只不过,对于绝大多数非专业人士来说,提供一种相对保险的通行做法更实用。


最后再简单介绍一下一字线(—)、短横线(-)、浪纹线(~)三种连接号的使用规范

以下均为常见的错误(或不规范)用法:

2016-2020年 (应使用一字线“—”)

10月1日~7日 (应使用一字线“—”)

鲁迅(1881~1936) (应使用一字线“—”)

010—88842603 (应使用短横线“-”)

6%-8% (应使用浪纹线“~”)

25-30 g (应使用浪纹线“~”)

北京-上海特快列车 (应使用一字线“—”)

安宁里东路26号院3—2—11室 (应使用短横线“-”)

GB/T 15834-2011 (应使用一字线“—”)

盎格鲁—撒克逊人 (应使用短横线“-”)

标示时间、空间、序数等项目的起止,连接相关名词表示走向,在标准编号中连接顺序号与年号等情况下,应当使用一字线(—);标示数值范围时应当使用浪纹线(~);在电话号码、门牌号、图表编号、阿拉伯数字年月日等各种复合名词及外来语内部分合中起连接作用时,应当使用短横线(-)。例如:

时间起止(一字线):鲁迅(1881—1936) 2016—2020年 1—3月 10月1日—7日 上午8:00—12:00

空间起止、走向(一字线):北京—上海特快列车 秦岭—淮河线

序数起止(一字线):1—5号楼 第21—30条 [时空、序数起止表示的是数值范围时,有时也可用浪纹线;数值范围有时也用一字线。]

标准编号(一字线):GB/T 15834—2011《标点符号用法》

数值范围(浪纹线):25~30 g 6%~8% 3~5年内

电话号码、门牌号、图表编号、阿拉伯数字年月日等各种复合名词(短横线):010-88842603 安宁里东路26号院3-2-11室 图2-1 表2-8 2019-10-01 吐鲁番-哈密盆地 杨-张定理 应力-应变曲线 铜-铁合金

外来语内部分合(短横线):盎格鲁-撒克逊人 让-雅克·卢梭 E-mail

总结来说,可以这样粗略记忆:表示起止用一字线(—),表示范围用浪纹线(~),复合名词用短横线(-)。


链接:https://mp.weixin.qq.com/s/77iGA_NWjsp8UKRMMPa6Xg

编辑|人格与社会课题组 钟笑宇