IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

汉字的几何中心

王越 2010-06-22 13:19:03 累计浏览 3,127 次
本机暂存

英文排版靠基线对齐,所以虽然英文字母有不同的高度深度,通过基线的对齐就能让读者感到文字不凌乱。而单词间的空格和单词长度的不同,能够让读者的视线产生错落有致的张弛感。但对于中文排版而言,问题就没有那么复杂。中文排版没有空格,而且都是方块字,所以整体的感觉每行都是一条黑带子,而虽然汉字是方块字,视觉上而言,阅读时仍然可能出现上下左右的波动。这是因为,每个汉字都有视觉中心,而人眼在阅读时,经过每个汉字的时候就会发现视觉中心会上下移动,而且整体上在一行内也会感觉有疏密感,这无论在横排还是竖排中,都是会发生的。

视觉中心是人的主观感受,难以定量化,就好比很难有一个标准来衡量某人到底是漂亮的还是丑陋的一样。在很多字体设计软件中(比如FontLab的东亚语言版本),都会给出一个圆心来辅助设计师设计汉字,这样能够提高字体的重心在设计阶段的质量。不过这还是靠字体设计师的审美,没有定量确定的方法。不过主观感受在某些近似的情况下,依然可以通过某些模型被定量下来,比如说某美女身材很好,可以通过三围来说明;说明传言的真实性有多高,可以援引新华社辟谣的次数来说明。虽然以偏概全,但是定量化的结论依然有参考价值,也为以后更好地修缮评价标准提供帮助。对于汉字的视觉重心,我们可以先用一个最简单的模型来描述,就是把它近似为其几何重心(或者物理重心)。这样,我们可以为每个字体的重心平稳性打分,并且看到很多有趣的结论。

为此,我对目前国内出版业界的常用字体,通过程序设计的途径,获得每个字体的相关参数,并且用现实的文本素材加以测试,归纳汉字字体设计在这方面的大致现状。其实早在三年前我就有用FreeType2库写一个程序做这个实验的打算,当初也和排字工人snl老师说过这件事情,不过由于课业、研究、升学的繁忙给搁置下来了。现在手里有了一台苹果Mac电脑,自然做这样的事情要比裸写FreeType2代码要方便得多。所以昨晚花了一些时间折腾了当然了,单纯的数据分析会比较无聊。本着让本博客文章更无聊的目标,在前半部分,我会介绍如何实现这样的计算。这部分内容对于希望熟悉Mac OS X下字体框架、文本引擎服务、渲染技术的人十非常有帮助的,我会着重讲述一下Mac OS X下的类似NSFontManager, NSFont等重要的编程接口及其原理。因此,如果你对于这些内容感兴趣,阅读本文,谢谢。

(最近几年我一直在业余时间做一些偏艺术的技术工作,就字体排印方面而言,《写一篇关于排版理论具体实践的文档来抛砖引玉》(http://yulewang.spaces.live.com/blog/cns!5C815C994ABB661E!288.entry)、《TeX相关软件中文字体嵌入一个存在已久的问题水落石出,兼谈不拘小节的中文字体设计》(http://yulewang.spaces.live.com/blog/cns!5C815C994ABB661E!262.entry)、《 CJK宏包中,中文字体的奥秘》(http://bbs.ctex.org/viewthread.php?tid=50078)等文章均被很多网站转载或者讨论。希望这篇文章也能得到类似的效果吧。)

转载本文请著名作者(王越)和出处(http://yulewang.spaces.live.com)。

首先我们来谈谈字体。计算机字体经过三十年的发展,已经趋向稳定。目前不管是TrueType技术还是OpenType技术,都可以通过贝赛尔曲线描绘轮廓。事实上目前大部分的汉字字体也是这么做的。这里我选取了两个字体中的两个字符来说明。

更多请阅读原文!

同分类推荐文章

  1. 如何写好设计文档? (2026-06-23 08:00:00)
  2. Designing With Uncertainty: How AI Supercharges Probabilistic Thinking (2026-06-16 23:00:00)
  3. The Benefits Of Cognitive Inclusion In UX Research (2026-06-10 18:00:00)

查看更多 设计 文章 →

建议继续学习

  1. 用户研究方法介绍――情绪板(Mood Board) (累计阅读 148,788)
  2. 50个活力和动感的网页设计-颜色的灵感 (累计阅读 34,442)
  3. 视觉设计前瞻实用性研究(PNVD) 第二期 (累计阅读 12,977)
  4. 各公司对前端开发的职位描述 (累计阅读 10,405)
  5. iframe大小自适应 (累计阅读 10,057)
  6. 浏览器的渲染原理简介 (累计阅读 8,377)
  7. 解决IE6从Nginx服务器下载图片不Cache的Bug (累计阅读 8,357)
  8. 程序员眼里IE浏览器是什么样的 (累计阅读 8,011)
  9. 2010网页设计趋势 (累计阅读 7,818)
  10. Web前端工程师编程能力飞升之路 (累计阅读 7,691)