电子病历文本编辑器中文字断行及排版算法研究(4)
- 2013-04-17 10:47
- 作者:袁永福
- 来源:中国数字医疗网
停止行
用户在编辑的时候会频繁的输入字符,这就使得程序频繁的进行文档排版操作。当文档内容比较多,比如上万个字符时,进行整个文档范围的字符排版及重新绘制用户界面可能要花上几百毫秒的,这样就导致用户输入字符时编辑器反应迟钝。
为此在用户编辑录入的时候,需要进行文档内容的部分区域的文字排版,而其他区域的排版就不要动了。为此在编程中采用了一种技巧来减轻排版的工作量,笔者称之为停止行技巧。
在排版前,首先备份文档容器的文档行信息。在每完成一个断行,形成一个新的文档行时。遍历备份的文档行信息,从最后一行开始和新的文档行内容进行比较,比较内容主要是文档行中的文档元素是否完全一致,当然还有一些其他判断。当新旧两个文档行内容一致时,这个旧的文档行称为停止行。此时文档内容断行提前结束。然后进行新文档行的行内排版,最后新文档行和一部分旧的文档行合并,形成新的文档排版。这样就能比较大的降低运行时排版工作量。
共6页: 上一页 [1][2][3]4 [5][6]下一页 [查看全文] |