I was doing some typograph for Chinese text and want to insert a space equal to the width of a Chinese character.
最近在做一些中文排版的工作,有一个需求是在中文字符之间插入空格,并且空格的宽度等于中文字符的宽度,在某些情况下这样排版显得更加美观。
Ideographic space(全角空格)#
The usual space we use (U+0020
) does not met this requirement since it is
very thin compared to Chinese characters. I do not know what this kind of space
is called or whether this character even exists. I searched the web using
Google and found that this space is called full width space
or ideographic space
. It is equal to the width the CJK character so that it is aesthetically
pleasing to insert such a space when needed. The code point for ideographic
space is U+3000
and it looks like the following:
我们通常使用空格键打出的空格(Unicode 编码为 U+0020
)不满足排版的需求,因为这个空格的宽度和汉字字符宽度相比非常窄。起初我不知道是否存在这种宽度等于汉字字符宽度的空格,也不知道它叫什么。不过经过一番查找,我发现这种空格是存在的,我们可以叫它 全角空格
或 表意空格
。这个空格的占的宽度等于中日韩字符的宽度,在某些情况下,如果在排版的时候插入这种空格,结果会更美观。全角空格的 Unicode 编码是 U+3000
。
在 Mac 系统上,我们可以使用自带的输入法插入全角空格,按下快捷键 Shift+ Option + B,在弹出的菜单选择 “符号”,第六个候选项就是全角空格。
There are other kind of spaces that I am not aware of, e.g., space (U+2000
)
that are 1/2 of the height of a font size.
除了全角空格以外,Unicode 字符集实际上还规定了其他类型的空格以满足不同排版的需求。例如,编码为 U+2000
的字符,Unicode 规定它的宽度等于字符大小(字符高度)的一半。这些宽度不同的空格可以帮助我们在排版的时候产生更加愉悦的视觉效果,例如,这篇文章展示了在前端网页设计时,利用不同空格来两端对齐长短不同的中文。
References(参考资料)#
- A good article on Unicode spaces.
- https://en.wikipedia.org/wiki/Whitespace_character
- http://keithtam.net/designing-with-the-hanzi-script/
- https://medium.com/@bobtung/best-practice-in-chinese-layout-f933aff1728f
- https://webdesign.tutsplus.com/articles/the-complete-beginners-guide-to-chinese-fonts--cms-23444
- 在 Mac 中输入全角空格.