几天前验证了新的布局思路(非常巧妙),简单改了一下就达到了目标。因为还涉及其他修改,暂时没有开通。
之后就想,吾现在要精确布局。什么意思?咱先不要求别的,起码一行有几个汉字,这个要正确。这是最基本的要求,应该也容易(想着都简单)做到。事情当然没有这么简单,为什么呢?
然后吾自己做了一批测试文档,发现布局确实有问题,就是一个字明明应该在上一行,结果换行到下一行。这是怎么回事呢?吾就进行了深入分析,被原来的算法绕得晕头转向,最终还是解决了。
解决了之后,吾就明白过来:文字处理中,布局的核心是行布局。行布局有几个难点:
- 标点压缩。这个是中文特性。
- 空格压缩。以英文为主,中文基本没有空格。
- 单词换行。又称断行,这个算是英文特性。
- 表格、绕排的处理。
文字处理技术之所以复杂,一方面算法本身就复杂(如标点压缩),另外就是这么情况要同时考虑进去,还要考虑到缩进、制表、边框、偏离(如段落中绘制汉字,要偏离上、左一定距离)。你觉得改一点不会影响其他,牵一发动全身,很有可能呼啦一下全错了。
于是就决定,先修改行布局。咱做事都是从最难的开始。