专利名称:用于文本易读性增强的系统和方法
技术领域:
本发明总体上涉及用于为视觉输出而格式化人类可感知的电子信息元素的数据处理装置。更特别地,本发明涉及用于在将文本呈现在显示设备上之前自动地调整该文本大小的数据处理装置。
背景技术:
世界上许多评论员将“信息时代”的开始归因于广域计算机网络尤其是因特网的发展。今天,因特网是连接数千个(如果不是数百万个的话)属于私人企业、教育机构和政府组织的不同网络的广域网。例如参见IBM计算词典354(1993年第10版)。尽管因特网以相对晦涩的方式存在许多年,但是它归属于为学术界的深奥奇想或军事上的高度专门化需求提供服务。
正是万维网(World Wide Web)最终将因特网推进到主流文化中。万维网通常简称为“Web”,它是标记语言(更具体地,超文本标记语言)和因特网的产物。万维网的起源可以追溯到一个相对简单的项目,该项目设计为便于访问散布在整个欧洲核研究组织(CERN)的计算机中的电子信息。
从其早期以来,在Web上可用的信息的范围已经相当大地演变,但核心技术支柱保持相对不变。简言之,Web的大多数基本组成部分是文档、Web服务器和Web浏览器。
在最简单的形式中,在Web可用的每个文档(通常称为“网页”)包括两种数据-“内容”和“代码”。“内容”是文档的作者想使读者可利用的实质信息。一般地,内容包括文本和图像,而且可以包括音频和其他媒体。“代码”一般是指标记语言“标签”,其指定作者对于内容的布局和格式的偏爱,而且“代码”也可以指嵌在文档中的脚本和其他可编程元素。作者可以使用标签来指定文档中每个元素的格式(即字体、大小等),或者可以使用“样式表”来指定文档中任何或所有元素的格式。样式表包括一个或多个“规则”,其指定给定元素的属性,包括文本元素的大小。
Web实现请求/响应架构,其中Web浏览器从Web服务器请求文档,并且Web服务器通过在网络上向Web浏览器发送所请求文档中的数据而做出响应。当Web浏览器从Web服务器接收网页数据时,Web浏览器处理数据中的标签以确定内容应将如何呈现在显示设备上。
可是,当Web浏览器将内容呈现在显示设备上时,难以辨认或难以阅读内容并不是罕见的。有多种因素和技术微差可以产生这种结果,但通常该问题在于作者所指定的文本的大小。另一个普遍的原因是用户平台(即用户的具体浏览器和操作系统)之间的差异。例如,作者所指定的大小在LINUX操作系统上运行的MOZILLAFIREFOX浏览器中可以很好地辨认,而在微软WINDOWS操作系统上运行的MICROSOFT INTERNET EXPLORER浏览器中实际上不能阅读。因而,作者经常难以准确地预测内容将如何呈现给每个读者。
Web浏览器开发者已意识到这种缺陷一段时间,并且许多开发者已将工具引入到Web浏览器中,这些工具允许读者在呈现之后调整文档中文本的大小。
可是,在美国专利No.6,665,842(2003年12月16日公告)中,Nielsen发现这些工具有点原始,需要读者在每次呈现文档时都要调整大小。因此,Nielsen设计了一个用于Web浏览器的自适应用户界面,它“利用随时间收集的信息来显示具有用户所希望的字体大小的取回页,即使该用户之前还没有访问具体页”。尽管Nielsen的系统移去了读者的一些负担,但它没有完全除去负担。在Nielsen的系统可以“适应”读者的偏爱之前,使用Nielsen的系统的读者仍必须至少一次人工地调整文本大小。而且,Nielsen的系统需要重要的基础设施,包括用于存储用户偏爱的各个方面的多个数据库。
在题为“a javascript for text that’s too tiny”的文章中,Round描述了一种消除Nielsen的系统的许多复杂性的解决方案,包括消除对外部数据库的需要。Round的解决方案包括两个组成部分,这两者必须都被网页的作者插入到网页中。第一组成部分是“隐藏”文本,嵌在Web浏览器一般不将其呈现在显示设备上的内容中。第二组成部分是测量隐藏文本的高度并且如果该高度太小则增大<BODY>标签的字体大小的代码。
然而,对<BODY>标签的改变可以对文档中文本的外观具有广泛(并且有时是不可预期的)影响。因而,诸如Round实现的那种的解决方案经常处理所有文本的外观,而不管作者的现有样式指定。
因而,在该领域中需要有一种工具或一种改进的Web浏览器,它可以评估在显示设备上的文本易读性,并且根据呈现易读文本所需修改文本属性,同时保留作者的现有样式指定。
发明内容
在可选的实施方式中,本发明包括一种用于修改样式表的属性的设备、物品和方法,该样式表具有与通过显示程序呈现在输出设备上的文档相关的至少一个规则,包括确定该规则是否指定字体大小;将该字体大小与易读大小限度相比较;以及如果该字体大小小于易读大小限度,则通过一个步长反复地增大该规则的字体大小,直到该字体大小大于或等于易读大小限度。
被认为是本发明的特征的新颖特征在所附权利要求中给出。然而,通过参考结合附图进行的下列说明性实施方式的详细描述,将更好地理解本发明本身以及使用的优选方式和其进一步的目的及优点,其中图1表示其中可以实施本发明的硬件设备的示例性网络;
图2是其中存储有本发明的软件实施方式的存储器的示意图;图3是本发明的实施方式与其互相作用的样式表的示例性实施方式;图4是本发明的实施方式的流程图;以及图5是本发明的实施方式的代码列表。
具体实施例方式
本发明的原理可应用于多种计算机硬件和软件配置。这里所使用的术语“计算机硬件”或“硬件”是指能够接受数据、对数据执行逻辑操作、存储或显示数据并且包括但不限于处理器和存储器的任何机器或设备;术语“计算机软件”或“软件”是指可操作为使计算机硬件执行操作的任何指令集。这里使用的术语“计算机”包括但不限于硬件和软件的任何有用的组合,并且“计算机程序”或“程序”包括但不限于可操作为使计算机硬件接受数据、对数据执行逻辑操作、存储或显示数据的任何软件。计算机程序可以并且经常包括多个较小编程单元,包括但不限于子程序、模块、功能、方法和过程。因而,本发明的功能可以分布在多个计算机和计算机程序中。可是,本发明最好描述为单个计算机程序,其配置并使得一个或多个通用计算机能够实现本发明的新颖方面。为了说明的目的,本发明的计算机程序将称为“文本易读性增强”程序(TLEP)。
另外,以下参照硬件设备的示例性网络,如图1所示,描述该TLEP。“网络”包括通过通信媒介而彼此连接和通信的任何数目的硬件设备,诸如因特网。“通信媒介”包括但不限于通过其硬件或软件可传送数据的任何物理的、光的、电磁的或其他媒介。为了描述的目的,示例性网络100仅具有有限数目的节点,包括工作站计算机105、工作站计算机110、服务器计算机115和永久性存储器120。网络连接125包括实现在网络节点105-120之间的通信所必需的所有硬件、软件和通信媒介。除了在以下上下文中另外指出的,所有网络节点使用公用协议或消息传递服务,以通过网络连接125而彼此通信。
TLEP 200通常存储在一个存储器中,在图2中示意性地表示为存储器220。在此使用的术语“存储器”包括但不限于任何易失性或永久性媒介,诸如电子电路、磁盘或光盘,在其中计算机可以将数据或软件存储任何持续时间。单个存储器可以包含和分布在多个媒体和网络节点上。因而,将图2包括进来仅作为描述性手段,并且其不一定反映出存储器220的任何具体的物理实施方式。可是,如图2中所示,存储器220可以包括附加数据和程序。作为与TLEP 200的具体联系,存储器220可以包括显示程序205、文档210以及样式表215,TLEP 200与其互相作用。
文档210表示任何具有内容和代码的数据块。在该上下文中,“内容”是文档的作者想使读者可利用的实质信息。“代码”一般是指标记语言标签,其指定作者对于内容的布局和格式的偏爱,而且可以指嵌在文档中的脚本和其他可编程元素。网页是文档210的示例性实施方式。
样式表215表示包括一个或多个规则的任何数据,该一个或多个规则指定文档中任何或所有元素的格式。和网页一起使用的级联样式表是样式表215的示例性实施方式。
显示程序205表示将文档呈现在输出设备上的任何软件。Web浏览器是显示程序205的示例性实施方式。实际上,TLEP 200可以嵌在文档210中,或者可以集成到显示程序205中。
TLEP 200评估并修改由Web浏览器呈现在显示设备上的内容的文本属性,使得该文本对于用户易读。通常,通过样式表215指定文本属性,该样式表215可以嵌在文档210中或者通过参考外部文档包括该样式表215。多于一个的样式表可以与单个文档相关,但下面的讨论假定仅一个样式表215与文档210相关并且样式表215是通过参考包括在文档210中的外部文档。TLEP 200确定样式表中的规则是否指定字体大小;将该字体大小与易读大小限度相比较;以及如果该规则字体大小小于该易读大小限度,则递增字体大小,直到该字体大小大于或等于易读大小限度。
图3是样式表215的示例性实施方式。在该例子中,样式表215是级联样式表(CSS),该种类型是普遍和网页一起使用的。该示例性样式表215仅具有单个规则(规则300),其为H1元素(网页中顶级标题)指定字族和字体大小。当然,本领域技术人员将明白,样式表通常具有多于一个的这种规则,并且规则300仅是说明性的。而且,示例性样式表215中的字体大小指定为默认字体大小的百分比,但本领域技术人员将明白,作者可以利用其他度量指定字体大小,包括但不限于全身(em)单位和像素。
图4是说明TLEP 200的实施方式的逻辑的流程图。在图4中,当显示程序205装载文档210时,TLEP 200开始(405)。TLEP 200首先确定是否任何样式表与文档210相关(410)。然后TLEP将测试元素插入(415)文档210中。测试元素可以是任何类型的元素,但优选地对用户隐藏。在网页中,示例性测试元素是具有单个间隔符号的<DIV>元素。TLEP 200将测试元素的字体大小设定为默认字体大小的100%(420)并确定以像素来度量的测试元素的高度(425)。然后TLEP 200读取与文档210相关的第一样式表(430)。接下来,TLEP 200读取第一样式表的第一规则(435)并确定该规则是否指定字体大小(440)。如果该第一规则没有指定字体大小,则TLEP 200确定该第一样式表是否还有更多规则(445),并且反复检查在该第一样式表中的每个规则(450)以确定规则是否指定字体大小(440)。同样地,如果第一样式表不包含任何指定字体大小的规则,则TLEP200确定是否还有更多样式表与文档210相关(455),并且反复检查每个样式表(460)以确定在任何其他样式表中的任何规则是否指定字体大小(435-460)。
对于每个指定字体大小的规则,TLEP 200计算具有指定字体大小的元素的高度(465)并将该高度与易读大小限度相比较(470)。已发现大约10个像素的易读大小限度可满足大多数情况。因此,TLEP 200将易读大小限度固定在10个像素,但这个限度可由编程者或用户配置以满足各种需要。
如果TLEP 200确定在规则中指定的字体大小小于易读大小限度,则TLEP 200通过可配置步长增大规则所指定的字体大小(475)。可以操纵步长以实现所希望的在性能和控制之间的平衡。当如示例性样式表215的规则300中那样,规则指定字体大小为默认字体大小的百分比时,已发现字体大小的5%-10%的步长产生可接受的平衡。当然,当规则以诸如全身单位的可选形式指定字体大小时,步长的可选形式是适当的。
因而,如图4所示,TLEP 200反复地增大每个样式表中每个规则的字体大小,直到每个规则具有一个大于或等于易读大小限度的字体大小。当没有规则需要修改时(485),TLEP 200终止(480)。
图5示出了TLEP 200的JAVASCRIPT实施方式,其实现图4中流程图的逻辑。参照图4和图5用于说明,第2行将一个测试元素插入(415)到文档中。第7行将易读大小限度设定为10个像素,以及第8行将递增步长设定为5%。第16行将测试元素的字体大小设定为默认字体大小的100%(420),以及第17行在100%的字体大小确定测试元素的高度(425)。然后,第28行确定规则是否指定字体大小(440),并且如果是,则第31行计算具有指定字体大小的元素的高度(465)。在这个实施方式中,TLEP 200假设字体大小指定为默认的百分比,但本领域技术人员应明白对于字体大小的其他度量的可适用性,包括全身单位和像素单位。在给定一个指定为百分比的字体大小下,第32行通过首先计算指定字体大小与测试元素字体大小的比率,并且然后将该比率与测试元素的高度相乘,计算该高度。然后第34行确定规则指定的字体大小的高度是否小于易读大小限度(470)。如果该高度小于易读大小限度,则第36-37行通过递增步长增大指定字体大小(475)。第40行设定一个标志以指示TLEP 200修改与文档相关的至少一个规则。TLEP 200循环遍历每个样式表,直到已处理所有规则(参见第20行和第26行)。最后,第48行检查该标志以确定是否已修改任何规则(485)。如果修改了任何规则,第49行递归调用TLEP 200以重复该处理。
本发明的优选形式已在附图中示出并且在上面描述,但对于本领域技术人员,该优选形式中的变化将是显而易见的。前面的描述仅用于说明的目的,并且本发明不应理解为对所示和所描述的特定形式的限制。本发明的范围应仅限于下列权利要求的语言。
权利要求
1.一种用于修改样式表的属性的计算机实现的方法,所述样式表具有与通过显示程序呈现在输出设备上的文档相关的至少一个规则,所述方法包括确定所述规则是否指定字体大小;将所述字体大小与易读大小限度相比较;以及如果所述字体大小小于所述易读大小限度,则通过一个步长反复地增大所述规则的所述字体大小,直到所述字体大小大于或等于所述易读大小限度。
2.根据权利要求1所述的方法,其中所述易读大小限度是一个最小高度,并且将所述字体大小与所述易读大小限度相比较的所述步骤包括将所述字体大小转换为一个高度;以及将所述高度与所述最小高度相比较。
3.根据权利要求2所述的方法,其中所述字体大小是规则字体大小,所述文档具有默认字体大小,并且将所述规则字体大小转换为一个高度的所述步骤包括将测试元素插入到所述文档中,所述测试元素具有测试字体大小;将所述测试字体大小设定为所述默认字体大小的100%;将所述测试字体大小转换成测试高度;计算所述规则字体大小与所述测试字体大小的比率;以及将所述比率与所述测试高度相乘;其中所述相乘步骤的结果是所述规则字体大小的所述高度。
4.根据权利要求1所述的方法,其中所述易读大小限度大于或等于10个像素。
5.根据权利要求1所述的方法,其中所述步长小于所述字体大小的10%。
6.根据权利要求1所述的方法,其中所述文档是网页,并且所述显示程序是Web浏览器程序。
7.一种计算机,包括处理器;连接到所述处理器的存储器;连接到所述处理器的输出设备;所述存储器中的文档;所述存储器中的样式表,所述样式表具有与所述文档相关的至少一个规则;所述存储器中的显示程序,所述显示程序包括用于使所述处理器将所述文档呈现在所述输出设备上的指令;以及所述存储器中的文本易读性增强程序,所述文本易读性增强程序包括用于使所述处理器进行以下操作的指令确定所述规则是否指定字体大小;将所述字体大小与易读大小限度相比较;以及如果所述字体大小小于所述易读大小限度,则通过一个步长反复地增大所述规则的所述字体大小,直到所述字体大小大于或等于所述易读大小限度。
8.根据权利要求7所述的计算机,其中所述易读大小限度是一个最小高度,并且用于使所述处理器将所述字体大小与所述易读大小限度相比较的指令包括用于使所述处理器进行以下操作的指令将所述字体大小转换为一个高度;以及将所述高度与所述最小高度相比较。
9.根据权利要求8所述的计算机,其中所述字体大小是规则字体大小,所述文档具有默认字体大小,并且用于使所述处理器将所述规则字体大小转换为高度的指令包括用于使所述处理器进行以下操作的指令将测试元素插入到所述文档中,所述测试元素具有测试字体大小;将所述测试字体大小设定为所述默认字体大小的100%;将所述测试字体大小转换成测试高度;计算所述规则字体大小与所述测试字体大小的比率;以及将所述比率与所述测试高度相乘;其中所述相乘的结果是所述规则字体大小的所述高度。
10.根据权利要求7所述的计算机,其中所述易读大小限度大于或等于10个像素。
11.根据权利要求7所述的计算机,其中所述步长小于所述字体大小的10%。
12.根据权利要求7所述的计算机,其中所述文档是网页并且所述显示程序是Web浏览器程序。
13.一种计算机可读存储器,具有用于执行权利要求1-6的任意一个权利要求中的所述方法步骤的计算机程序。
全文摘要
在可选实施方式中,本发明包括一种用于修改样式表的属性的设备、物品和方法,该样式表具有与通过显示程序呈现在输出设备上的文档相关的至少一个规则,包括确定该规则是否指定字体大小;将该字体大小与易读大小限度相比较;以及如果字体大小小于易读大小限度,则通过一个步长反复地增大该规则的字体大小,直到字体大小大于或等于易读大小限度。
文档编号G06F17/30GK1955961SQ20061008466
公开日2007年5月2日 申请日期2006年5月26日 优先权日2005年10月24日
发明者迈克尔·P·埃特金, 戴维·J·谢尔 申请人:国际商业机器公司