中文到底有没有基线(baseline)的概念?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了中文到底有没有基线(baseline)的概念?相关的知识,希望对你有一定的参考价值。

技术上来说,你把字形导进字体设计软件(fontlab或者typetool,嘛,基本是一个东西啦)里,当然还是会看到基线。我没做过中文字体,不过看现在的字体文件,一般也似乎还是汉字底部跟基线对齐。严格讲当然不是中文字形个个都在基线上贴边对齐,但是也不会往下超出太多,有些汉字下底低于基线一点也都是为了保证视觉上跟其他字符对齐——因为汉字很多样化而自身又没有基线,这事情的确没个标准,所以大概是靠设计师视觉判断为准吧我猜。这种处理意图西文里也是有的,你可以观察下O、U这些圆底字母,下边缘不会和L、Z之类的完全对齐,而是都会做overhanging,向下超出基线一点点,要不然字母视觉上看起来就会更靠上,好像没对齐一样。wiki那句不知道是编写者对中文字体的一厢情愿(因为用了“应当”这个词嘛),还是对于overhanging表述不准确(听这个表述,感觉好像超出baseline很多,而居于baseline和descender之间)。实际排版中,你不需要调整字符本身啊。理论上来说为了视觉整齐,中文有对齐西文meanline或者baseline两个选择,目前字体主流都选择了对齐baseline,而且大家也习惯了,不用为了一些太理想化的理念而做多余的调整。因为西文行文大部分是小写,而中文的顶端接近于ascender或者capline的位置,所以大量西文少量中文进行混排的话,中文的确会显得比较大——你可以选择把字号缩小一些,这和西文排版里大写单词使用small caps是一个道理;就像small caps也并不是绝对必须一样,如果你不在意,其实统一字号也问题不大。如果中文占大部分,混排少量西文,为了易读性,完全不建议把西文变大写;当然这也不是绝对,如果就只是个人名之类的,编辑也觉得大写没问题,当然也OK。这是我一些想当然的想法,具体到项目还是用自己的眼睛和设计感判断吧。

参考技术A

基线是字体设计与排版中用到的一个尺度参数或标记而已,它是难以把握的总体字体设计中可以把握的一个局部参数。中西文混排时通过基线高度、字号等尺度参数来调节整体的视觉效果,这才是目的。调节基线不是目的。中西文混排时调整的不是汉字,调整的是汉字和西文的相对关系。就算要理解成调整一方,也更应理解为调整的是西文一方的基线等尺度参数与汉字的关系。因为西文的纵向尺度参数很明确,而汉字这边比较模糊。而且调整的原因也不是「与具有低基线的字体混合使用」。不是因为基线低而调整,是因为中西文有差异而混排效果不佳于是调整,基线只是一个重要参数而已。使其字符底部在低基线字体的基线和降部高度之间」这话说得也很别扭。应当注意,这只是通常的结果,不是目的。

以上是关于中文到底有没有基线(baseline)的概念?的主要内容,如果未能解决你的问题,请参考以下文章

数据库基线检查工具DB_BASELINE

表格单元格垂直对齐的默认值

SpringBoot配置文件属性值

scss 一个非常简单的Baseline SCSS mixin,用于在CSS中为项目提供可视化基线。

SpriteKit:有没有办法根据其基线将 SKLabelNode 居中

ModuleNotFoundError:没有名为“stable_baselines3”的模块