泰山OFFICE技术讲座:同一行不同字号的字如何对齐绘制
Posted 柳鲲鹏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了泰山OFFICE技术讲座:同一行不同字号的字如何对齐绘制相关的知识,希望对你有一定的参考价值。
一行有不同字号的字,布局绘制时有几个方案:
- 顶部对齐
- 中部对齐
- 底部对齐
- 基线对齐(OFFICE选择,也应该是所有软件的选择)
字体结构的Baseline/Leading/Ascent/Descent的图示_柳鲲鹏的博客-CSDN博客_ascent descent 字体
从上述博文中, 可以看到什么是基线。那么一行的基线是如何确定的呢?首先X方向布局完成,其次本行也确定位于本页内:
- 遍历所有叶子。
- 找到最大的叶子高度。有的叶子是图片,高度超过文本叶子。
- 找到最大的叶子BaselineFromBottom。
有两点要注意:BaseLine要从底部向上计算(因为行高度还不确定),要考虑底部有边框的情形。
- 设置行高。
- 设置BaselineFromTop
即行高-BaselineFromBottom。这样方便叶子处理。
- 绘制
根据传递的y,加上BaselineFromTop,就是文字绘制起点。
以上是关于泰山OFFICE技术讲座:同一行不同字号的字如何对齐绘制的主要内容,如果未能解决你的问题,请参考以下文章
泰山OFFICE技术讲座:逻辑字号中文字号保存字号布局字号绘制字号