醉人的句号

原创
2015/04/23 18:59
阅读数 459

伟大的 Unicode 编码力图在视觉上减少冗余. 把中日韩越的字符集进行统一表意文字处理. 这方案很合理. 但这不是万能的, 某些方面会有争议, 最近笔者就遇到一个, 句号:

 ..。。

上面四个符号都是句号(STOP), 两个全角, 两个半角. 如果你的浏览器显示不了四个, 那是字库造成的. 以前不知道句号还有半角的圈圈表示, 当然那是因为那是日文中采用的. 中文是全角的圈圈. 产生的问题很明显, 当要对标点符号进行转换时, 中文和日文的句号编码不同. 请看连接

Halfwidth and Fullwidth

文中使用的词汇是 "Halfwidth" 和 "Fullwidth", 而不是用 "中文","日文" 来表述. 再看 wiki 中相关连接.

全形和半形

其中使用了词汇 "日文"(省略了中文). 这两个连接的内容其实是一致的. 而产生的问题也很明显. 标准中使用的词汇是 "Halfwidth" 和 "Fullwidth", 那么表中每个半角符号都对应有全角的表示. 你也许发现了, 中文习惯把全角的句号和英文标点(半角)的点号"."对应. 可是在上述对应表中的关系并非如此. 中文的句号 "。" 对应的半角是 "。" . 如果你用中文输入法, 仔细看选项你会发现, 除了全半角切换, 还有中英文符号切换. 这是从两个角度来进行符号转换. 很明显, 中文更习惯使用中文句号 "。", 而非全角句号 ".". 对于程序员来说, 如果你写代码进行转换, 那么就要处理这两种句号情况. 如果你知道其他的类似情况, 请告诉我吧.

Ambiguous 特性字符, 下面的字符到底是 Halfwidth 还是 Fullwidth?

‘’“”

它们的 Unicode 值为 0x2018, 0x2019, 0x201C, 0x201D, 他们的显示宽度受上下文影响(字库也会影响). 因此具有不确定性. 相关连接 n_2000

展开阅读全文
加载中

作者的其它热门文章

打赏
0
1 收藏
分享
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部