Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

建議增加刪節號(省略號)使用範例 #58

Open
uranusjr opened this issue Jan 3, 2018 · 13 comments
Open

建議增加刪節號(省略號)使用範例 #58

uranusjr opened this issue Jan 3, 2018 · 13 comments
Labels
enhancement New feature or request

Comments

@uranusjr
Copy link

uranusjr commented Jan 3, 2018

在處理 microsoft/vscode-python#496 時發現中文界並沒有普遍被接受的刪節號用法。或許應該解釋刪節號有自己的字元,不要使用三個句點 ... 甚至有人會用 。。。

台灣標準規範刪節號應居格中,一格三點,共兩格六點。在 Unicode 定義中,由於一般字型的刪節號(U+2026 horizontal ellipsis)採用西式標準置底,許多軟體、文本改用 U+22EF midline horizontal ellipsis,如 Apple 所有軟體均使用此字元,但亦有聲音認為此為錯誤用法,應使用 U+2026。另外由於六點佔的空間略大,許多軟體只使用一格三點,以維持選單排版緊湊。由於目前沒有普遍被接受的使用慣例,我個人對於應使用一或兩個,以及應該使用哪個字元並沒有特別意見(或許可以在爭議部分建議個人偏好)。

@WenryXu
Copy link

WenryXu commented Jan 8, 2018

我觉得这是一个很有意思的讨论,很明显使用 ...。。。 是不被接受的。

  1. 使用 U+22EF 还是 U+2026

    我使用 https://unicode-table.com/en/ 来查找 Unicode 相关的问题,这个网站上指出,U+2026 是属于 General Punctuation 这个集里的,而 U+22EF 属于 Mathematical Operators,因此我个人倾向于使用 U+2026 是正确的。

  2. 使用 一格三点 还是 两格六点

    我个人支持使用规范的两格六点。我印象中仿佛还见过一格六点的处理方式。

@winduser
Copy link

winduser commented Jan 8, 2018

为了达到样式上的一致,我觉得沉底的省略号是不应当在输入中文时出现的。既然 U+22EF(⋯⋯)能够满足我们的需求,窃以为不应拘泥于它作为数学符号的初衷。

@uranusjr
Copy link
Author

uranusjr commented Jan 9, 2018

@winduser 雖然我沒有特別偏好,但是既然中國習慣將標點符號置左下,反而 U+2026 似乎在樣式上更一致?若依台港習慣標點符號置格中,倒是確實 U+22EF 在樣式上更美觀。

@winduser
Copy link

winduser commented Jan 10, 2018

@uranusjr 一般来说,大陆标点符号确实置于左下居多。但是破折号、省略号是例外。根据中国教育部标点符号用法 4.11.2 的范例,大陆的省略号也是居中、六点、占两个全角空格的──这也符号普通人上小学以来一贯的书写习惯。^ 默认映射为「……」,导致了很多年来沉底的省略号渐渐流行起来。从规范上讲,居中的省略号更为合适。

@catscarlet
Copy link

catscarlet commented Jan 10, 2018

观点同@winduser
大陆省略号本来就是 居中、六点、占两个全角空格 ,不少人也是一直遵守着这个规定书写的。

但是我发现了个问题,即 微软雅黑 这个字体的省略号就是下沉式的,也就是说在视觉效果上与六个半角点号看不出差别:

(省略号为使用搜狗输入法 Shift+6v1第二页g 输入)

snap039

横排时很难区分雅黑的省略号和六个点的区别,所以我再贴个同字体纵版比对:

snap040

很明显宋体的半角点号和省略号不是一个玩意,但是雅黑可以说除了点点之间的间距不一样,根本没有明确办法直观确认到底是省略号还是六个点。

鉴于雅黑字体自XP时代就有了,而微软操作系统在大陆桌面占有率远超90%,操作系统自XP到Win10都是默认字体,且根据维基百科来看,雅黑则最早出现于1997年,而且维基百科上也标有问题五:

常用的中文标点符号除句号、顿号及部分中文括号以外都居中偏下显示,这不匹配中华人民共和国关于标点符号的国家标准。该问题在6.25版中已得到修正。

来自 维基百科:微软雅黑

6.25版还没找到具体的发布信息,好像是去年?也就是说这破玩意已经坑害国人有20年之久了。

至于很多人打一堆半角点号的习惯,原本出自于前几年(也可能是前十几年),在网络上互相沟通但是尴尬无语时,随便按住一个键的习惯,并不是六个点,而是不定数量的任意字符,至于最终变成点号,是因为其他字符都是有发音或感情传递的,唯独.什么意义都没有。这肯定不是书面用法。

所以对于@uranusjr 的说法而言,大陆对省略号其实并没有放在下边的习惯,从小到大的教育,省略号都是居中六点占两全角空格。之所以出现了大量6个点和偏下的问题,大陆用户完全是被逼迫的。

我不了解非大陆地区和非简体中文使用区域,操作系统的默认字体以及显示效果。希望大家也能提供一些截图来讨论这个问题。

另外目前在公司,使用的不是个人电脑,所以不方便测试 文泉驿字体思源字体,手机和其他操作系统目前手头也没有,所以希望有条件的朋友们也能方便在 Mac 和 iOS 等其他设备上,截个图提供一些讨论依据。

@uranusjr
Copy link
Author

uranusjr commented Jan 10, 2018

了解。我對各政府規範的狀況不清楚,受教。字體而言,微軟正黑(繁體中文的預設 Windows 字型)同樣是置底,思源黑體就我的了解不論 variant 也都是置底。我倒是可以理解它們,尤其思源黑體這麼做的理由。如果你用這些字體輸入英語(或其他拉丁語系語言),同樣會用到 U+2026 字元;將這個字元置格中造成的影響遠比置底大。思源黑體的初始目標就是能夠顯示所有的語言,如果在這裡使用中文標準,其他語言的顯示就會完全不合理;讓它置底的影響相對小很多。

如果要從根本解決這個問題,唯一的方法是向 Unicode Consortium 提案加入 CJK 專用的刪節號/省略號字元,考量到 Unicode 已經收錄如「蒙古文刪節號」之類的語言專用標點符號,這是完全合理的請求。但在這件事情發生之前,以 U+2026 是置底的前提進行取捨,應該才是較好的方向。

@WenryXu
Copy link

WenryXu commented Jan 10, 2018

macOS 10.13.2 中文系统

Pages

image

我记得现在 macOS 默认使用的中文字体是「苹方」,反而是更旧版本的系统中使用的「黑体-简」是居中的。

iOS 11.2.1 iPhone 7P

不知道默认字体是什么,但也是置底的。

@WenryXu
Copy link

WenryXu commented Jan 10, 2018

来自 https://typekit.com/

image

来自 http://www.fonts.net.cn/

image

@catscarlet
Copy link

正常来讲,中文,不论简繁,省略号均应为高度居中,而西文的省略号则是沉底的。

在维基百科上发现了一些奇妙的内容:Ellipsis inn Japanese

日文的省略号规定和中文一样,是居中的,并且在浏览器中也可实现,效果和代码:

snap042

        <p>日文:<span lang="ja" xml:lang="ja">…</span></p>
        <p>简中:<span lang="zh-Hans" xml:lang="zh-Hans">…</span></p>
        <p>繁中:<span lang="zh-Hant" xml:lang="zh-Hant">…</span></p>

Win7 日文的字体应该是 Meiryo ,而中文是雅黑。

维基英文版关于中文省略号的内容几乎是空的。


网传有一说是指当时由于考虑中西文混排出现混乱,所以中文字体中的省略号,在字体库中,其实不存在,我们现在看到的沉底三个点,其实是西文省略号。

所有系统宋体字体都是正确的居中显示,但宋体并不适合在显示器上展示,所以很少有人关注。(在我印象里只在Win98上见过宋体)

鉴于微软本身就在雅黑上做了大量的敷衍,而苹果则曾使用的(U+22EF)作为省略号,传闻以前多种系统无法正确显示此符号(我的这个调研结果与题主相同),我认为 (HORIZONTAL ELLIPSIS, U+2026) 理论上的确应为首选,但现实情况种 U+2026 多数情况显示却是不正常的沉底。

总结一下:

  • 日文有相应规范,也有相应字体,可以正确显示高度居中的日语省略号
  • 中文也有相应规范,但是多数字体无法正确显示高度居中的日语省略号

也就是说我们目前面临的并不是书写规范问题,而是操作系统和字体库的问题。

所以我建议,优先参考国家规范,并参考最新兴的思源字体和文泉驿字体(文泉驿等宽微米黑仍在开发阶段,不可作为参考)。

至于最终怎么实现,可能是一条极为漫长的道路。(之前一个朋友给某国际化游戏做中文化的时候就用思源的源码把整个游戏重新编译了一遍,效果极棒,但是完全没有通用参考价值。目前作为 Web开发 的我完全不知道该怎么解决这个问题,总不能在网页里嵌入个字体吧……好像也不是不行……看着这下沉的省略号真难受)

@NatsuArashi
Copy link

借串問一下,有人在使用破折號嗎?
個人目前是用這個——在很多網頁上好像連不起來,想請問這是不是正確的……

@catscarlet
Copy link

文泉驿等宽微米黑 在其官网上找不到了,现在文泉驿主推的是 文泉驿微米黑,根据其 测试版(远古大爆炸--v0.2 beta) 的说明可见,文泉驿微米黑中现在包含文泉驿等宽微米黑,也就是说,其等宽字体现在是其文泉驿微米黑的子集,所以文泉驿等宽微米黑的单独测试结果没有参考意义了。

@HumJ0218
Copy link

HumJ0218 commented Aug 26, 2019

CSS 里面的 text-overflow: ellipsis 生成的省略号是 U+2026

https://developer.mozilla.org/zh-CN/docs/Web/CSS/text-overflow

text-overflow CSS 属性确定如何向用户发出未显示的溢出内容信号。它可以被剪切,显示一个省略号('...',U + 2026 HORIZONTAL ELLIPSIS)或显示一个自定义字符串。

然后,CSS 标准支持自定义省略号(见链接页面示例节结尾)但貌似并没有浏览器进行了实现

@xslidian
Copy link

xslidian commented Apr 1, 2020

U+2026 没有问题,符合各地规范的字体都会居中显示。
为了强制居中而用 U+22EF 也可以接受,因为它更 𝖘𝖕𝖊𝖈𝖎𝖋𝖎𝖈,但印刷时不一定美观。
2112年9月3日2112 年 9 月 3 日 一样,不建议规范化,自我保持一致就好。

操作系统的默认字体属于 UI 字体,它们为了东西方文字混排效果会做一些取舍,除了「……」以外,「~」「·」的显示方式都是设计师们的主观选择。

微软雅黑是 Windows 平台的首款非衬线(sans-serif)简体中文 UI 字体,正式发行是在2007年
在这之前大陆的 Windows 用户只有点阵宋体(SimSun 中的小号点阵字型)可选,其他用起来更丑(渲染技术所致)。

点阵宋体丑到了什么程度呢?连微软自己都嫌弃。

  • 为了美观,所有 UI 文本中的全角括号 () 都用空格+半角符号代替 ()
  • 省略号 …… 也因为居中显示而被弃用,所有系统界面中的省略号其实是三个小数点 ...

正是这一丝对美的追求,造就了今天 UI 字体偏爱沉底省略号的时尚。

时至今日,很多人依然偏爱用空格手动排版(比如这篇回复,以及楼主的习惯),都是微软一手培养出来的审美。

显示器与印刷之间存在巨大差别,以地方标准来约束 UI 字体实在很过分。
对宋体的本能厌恶,不是一朝一夕养成的。
这根本不是「随便按住一个键的习惯」,而是不厌其烦特意为之,其中的乐趣是手持一族难以理解的。

2017年微软雅黑更新,按大陆标准调整标点符号位置,其实是把曾经为了区分全角/半角而特意制造的显示器版标点改回了印刷版本——今天的普通人已经不懂角了。
2019年苹果也开始增加东西方文字之间的间隙。一旦普及,我们为了「增强气质」而添加的盘古之白也会成为小众文化。
这些都是时代的潮流,不要太拘泥于规章制度。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

8 participants