论文部分内容阅读
基于在线办公套件WebOffice的开发实践,论文对文档格式化的概念、模型、流程和系统框架结构进行研究,重点实现了文本断行与文档分页两个关键部分,取得了五个方面的主要成果:
第一,论文从文字处理系统的演化历程概括审视了文档格式化的发展现状,分析了客户端计算技术。针对WebOffice系统架构,提出WebOffice系统文档格式化需要解决的主要问题是:通过浏览器端计算,实现Web文档格式化。
第二,论文从逻辑结构模型和物理结构模型两个视角,分析了文档对象模型、盒子/胶水模型、文档布局三方面的内容。详细的阐述计算机系统对Web文档的组织形式理解,为文档格式化的研究奠定了基础。
第三,文档格式化是文档内容的格式化展现,涉及文档解析、字体解析、显示布局等方面,是较复杂的计算过程。论文在阐述WebOffice系统文字处理总体框架基础上,提出了文档格式化问题的关键是逻辑结构到物理结构的映射。进而将WebOffice文档的格式化流程归结为HTML解析和DOM元素计算、文档断行和文档分页、格式化输出和浏览器显示三个阶段。
第四,文本断行是文档格式化最基本的要求,也是文档格式化的精髓。为此,论文将文本断行问题抽象为可断行点定位和断行策略两个方面。ICU是实现了Unicode标准中的断行属性描述和文本边界界定的国际化开发开源的函数库。同时论文重点分析了断行策略中的逐行算法。在此基础上给出了文本断行的BreakIterator方案。此外,论文还给出了另外一种基于Swing组件的文本断行方案。两种方案各有所长,为WebOffice开发的不同时期所采用。
第五,文档分页是办公套件和其他字处理软件的主要区别,是WebOffice文档格式化研究的重点。论文将文档分页问题抽象为垂直方向上的文本断行,文本断行策略同样适合分页问题。论文在分析Java Swing组件的MVC设计模式基础上,从文档视图入手,提出了文档分页的解决方案。论文按照自顶向下顺序叙述了文档分页方案的实现细节。