主要研究文本的包围框(边界)大小
1.文本的宽度
单行文本的总宽度和文本的高度,文本的宽高比,文本的样式,文本的字符类型(中文,英文,希腊语等),字符个数等有关。
如下图所示:
当前未考虑文本的样式
文本的字符个数可用参考二进制编码:字符编码中ASCII、Unicode和UTF-8的区别 - 知乎 (zhihu.com)
当前代码中用的utf8的方式,认为ASCII码为英文字符,其余为中文字符,按照两个宽度分别计算(给与不同的比例系数),最终计算出单行文本的总宽度
2.文本的高度
首先如下图所示有文本的高度,文本的行间距比例,和文本的行间距,一般库中读出来的只有文字高度和行距比例,需要自己计算行间距
假设单个文本的高度为h,行距比例为r,多行文本的中间间隙为s,有如下关系 s = (5.0 / 3 * r - 1) * h
假设文本有列数为n,则文本总高度th = n * h + (n -1) * s
3.文本的旋转
文本可能在块下,需要考虑块下的矩阵,文本本身也存在旋转,需要再次进行转化