本发明专利技术涉及支持文档的与平台无关的排版。本发明专利技术的一些实施例提供一种按照与平台无关的方式排版和呈现文档的系统。在操作中,系统首先获得文档,其中所述文档包括文本内容,和包含一种或多种字体的相关样式信息。系统还获得所述一种或多种字体的与平台无关的字体度量,其中所述与平台无关的字体度量包括可用于确定在文档的呈现过程中,各个字符的位置的信息。随后,系统利用与平台无关的字体度量确定如何把文档划分成多个行段和多页。最后,在呈现文档的时候,系统利用所确定的划分,以便在不同的计算平台之间,文档的行段划分和分页相同。
【技术实现步骤摘要】
【国外来华专利技术】
所说明的实施例涉及在计算机系统中排版和呈现文档的技术。更具体地说,所说明的实施例涉及一种排版和呈现文档的与平台无关的技术,所述技术确保在不同的计算机系统和计算平台之间,文档的分页和分行都相同。
技术介绍
最近,web浏览器和计算机网络的普及使得易于在不同计算平台上显示相同的文档。不过,不同计算平台之间呈现字体的方式的不一致性会导致相对于不同计算平台的用户,不同地呈现相同的文档。更具体地说,对给定字体来说,在计算平台之间,解释各种字体特征的度量,比如字符高度、宽度、行距和空白的方式会不同。这些字体差异会导致文档中的各个字符被呈现在不同的位置,从而能最终导致在不同的计算平台上,文档中的字词会被不同地置于各行和各页之间。这种不一致的呈现对合作文档的人来说是个问题。例如,如果一位合作者指出在特定页面的特定行上的错误,那么在不同的计算平台上查看相同文档的另一位合作者可能不得不找出在不同页面的不同行上的所述错误。从而,需要一种在不同的计算机系统和计算平台之间,提供文档的一致呈现的技术。
技术实现思路
本专利技术的一些实施例提供一种按照与平台无关的方式排版和呈现文档的系统。在操作中,系统首先获得文档,其中所述文档包括文本内容,和包含一种或多种字体的相关样式信息。系统还生成所述一种或多种字体的与平台无关的字体度量,其中所述与平台无关的字体度量包括可用于确定在文档的呈现过程中,各个字符的位置的信息。随后,系统利用与平台无关的字体度量确定如何把文档划分成多个行段和多页。最后,在呈现文档的时候, 系统利用所确定的划分,以便在不同的计算平台之间,文档的行段划分和分页相同。在一些实施例中,在利用与平台无关的字体度量确定如何把文档分成多个行段和多页的时候,系统确定在文档的呈现过程中,各个字符在行段内的位置。在一些实施例中,呈现文档包括进行高保真呈现,所述高保真呈现利用所确定的文档的行段划分和分页以及把各个字符呈现在行段内的确定位置。在一些实施例中,呈现文档包括进行低保真呈现,所述低保真呈现利用所确定的文档的行段划分和分页。不过,和所述高保真呈现不同,所述低保真呈现不利用各个字符的确定位置,而是改为允许呈现器利用特定于平台的呈现机制来确定各个字符在行段内的位置。在一些实施例中,呈现文档包括首先用与平台无关的标记语言生成规定文档的呈现的代码,以及随后执行生成的代码以呈现所述文档。在一些实施例中,呈现文档包括只呈现文档的可见部分。在一些实施例中,系统在web浏览器内运行。在一些实施例中,系统在运行于web浏览器内的与平台无关的字处理应用程序内运行。在一些实施例中,生成与平台无关的字体度量可以包括许多操作。首先,系统选择一种或多种字样和粗细。随后,对于每种字样和粗细,系统选择标准字号(给定字号的度量可以缩放自所述标准字号)。随后,系统枚举一组感兴趣的字形。最后,对于每种枚举的字形和与所述一种或多种字样相关的每种字体,系统查询该字体的数据以确定该字形的一个或多个度量。在一些实施例中,对于每种字形,与平台无关的字体度量规定字形的边界框的水平和垂直位置;字形的边界框的水平和垂直大小;以及字形的水平和垂直占用宽度 (advancement),所述占用宽度规定在勾画字形之后,笔位置在水平方向和垂直方向移动多远。在一些实施例中,对于每种字形,与平台无关的字体度量考虑字形几何形状、空白、连字和字偶距(kerning pair),字形几何形状包括高度、粗细、行距(leading)。在一些实施例中,利用JavaScript 对象表示法(JSON)或者可扩展置标语言 (XML)规定与平台无关的字体度量。附图说明图I图解说明按照本专利技术的一个实施例的计算环境。图2图解说明按照本专利技术的一个实施例的呈现处理。图3A是图解说明按照本专利技术的一个实施例的生成字体度量的处理的流程图。图3B图解说明按照本专利技术的一个实施例的例证字体度量。图4是图解说明按照本专利技术的一个实施例,基于浏览器的应用程序如何运行的流程图。图5是图解说明按照本专利技术的一个实施例,如何使用与平台无关的字体度量来确定如何把文档分成多个行段和多页的流程图。图6是图解说明按照本专利技术的一个实施例,如何把文本呈现成低保真呈现用HTML 的流程图。图7是图解说明按照本专利技术的一个实施例,如何把文本呈现成高保真呈现用HTML 的流程图。具体实施例方式提供以下说明是为了使本领域的任何技术人员能够实现和利用本专利技术,并且以下说明是在特定应用程序及其要求的上下文中提供的。对本领域的技术人员来说,对所公开实施例的各种修改将是显而易见的,并且这里定义的一般原理可以适用于其它实施例和应用,而不脱离本专利技术的精神和范围。从而,本专利技术并不局限于所示实施例,相反应被赋予与这里公开的原理和特征一致的最宽广范围。在本详细说明中描述的数据结构和代码一般保存在计算机可读存储介质上,所述计算机可读存储介质可以是能够保存供计算机系统使用的代码和/或数据的任何装置或介质。计算机可读存储介质包括但不限于易失性存储器,非易失性存储器,磁和光存储装置,比如磁盘驱动器、磁带、⑶(光盘)、DVD (数字通用盘或数字视频盘),或者目前已知或以后开发的能够保存代码和/或数据的其它介质。本详细说明中说明的方法和处理可被具体体现成能够保存在如上所述的计算机可读存储介质中的代码和/或数据。当计算机系统读取和执行保存在计算机可读存储介质上的代码和/或数据时,计算机系统执行具体体现成结构和代码并保存在计算机可读存储介质内的方法和处理。此外,下面说明的方法和处理可包含在硬件模块中。例如,硬件模块可包括但不限于专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA),和目前已知或以后开发的其它可编程逻辑器件。当硬件模块被启动时,硬件模块执行包含在硬件模块内的方法和处理。计算环塏图I图解说明按照本专利技术的一个实施例的计算环境100。参见图1,计算环境100 包括用户102、客户端106、网络108、服务器110和数据库112。客户端106和服务器110可包括任何类型的计算机系统,所述计算机系统可以是基于微处理器、大型计算机、数字信号处理器、便携式计算设备、个人备忘记事本、设备控制器或者电器内的计算引擎的计算机系统。另外,客户端106可包括网络上的任何节点,所述任何节点包括计算能力并且包括通过网络108通信的机构。类似地,服务器110通常可包括网络上的任何节点,所述任何节点包括服务来自客户端的对计算和/或数据存储资源的请求的机构。用户102可包括个人、一组个人、机构、一组机构、计算系统、一组计算系统、或者能够与计算环境100相互作用的任何其它实体。网络108可以包括能够把计算节点耦接在一起的任何类型的有线或无线通信通道。这包括但不限于局域网、广域网、或者网络的组合。在本专利技术的一个实施例中,网络108 包括因特网。在本专利技术的一些实施例中,网络108包括电话网和蜂窝电话网。数据库112可以包括把数据保存在非易失性存储器中的任何类型的系统。这包括但不限于基于磁、光、或磁光存储装置的系统,以及基于闪速存储器和/或电池供电存储器的存储装置。注意数据库112可以直接耦接到服务器110,或者另一方面,可通过网络耦接到服务器110。客户端106托管web浏览器114。浏览器114通常可以包括能够显本文档来自技高网...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:C·E·鲁道夫,B·普若科菲,M·A·安巴奇什尔,
申请(专利权)人:苹果公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。