首页 / 专利库 / 专利权 / 专利合作条约 / 第II章 / 国际初步审查单位 / 国际初步审查 / 国际初步审查要求 / 选定 / 用于当显示电子文档的选定区域时动态地文本换行的方法和设备

用于当显示电子文档的选定区域时动态地文本换行的方法和设备

阅读:1031发布:2020-05-31

专利汇可以提供用于当显示电子文档的选定区域时动态地文本换行的方法和设备专利检索,专利查询,专利分析的服务。并且提供了用于当显示 电子 文档时当从第一缩放级别改变为第二缩放级别时重新换行的方法。选择重新换行的行长度,以便不需要 水 平滚动。由于重新换行会导致文档的布局变化,该方法还可以包括标识电子文档中的元素,并确保在放大或缩小操作之后该元素被包括在显示中。还描述了被配置成执行该方法的设备和包括用于当由计算设备执行时执行该方法的指令的 计算机程序 。,下面是用于当显示电子文档的选定区域时动态地文本换行的方法和设备专利的具体信息内容。

1.一种用于当在设备的显示屏幕上显示电子文档的选定区域时执行动态文本换行的方法,包括:
-将文档加载到存储器设备中;
-由处理器确定所述文档的布局;
-以第一分辨率并根据所确定的布局,在所述显示屏幕上显示所述文档的至少一部分,其中,根据所确定的布局对所述文档中的文本换行;
-接收表示以第二分辨率显示所述文档的命令的用户输入;
-由所述处理器基于与所述第二分辨率相关联的最大行长度对所述文档中的至少一些文本重新换行;
-在所述至少一些文本被重新换行之后,由所述处理器确定所述文档的布局;以及-以所述第二分辨率,在所述显示屏幕上显示包括重新换行的文本的所述文档的至少一部分。
2.如权利要求1所述的方法,其中,所述最大行长度由所述设备的显示屏幕的宽度来限定。
3.如权利要求1所述的方法,其中,所述最大行长度是在配置文件中限定的。
4.如权利要求1所述的方法,其中,所述最大行长度由在其内显示所述文档的窗口的宽度来限定。
5.如权利要求1所述的方法,其中,所述第二分辨率被定义为沿着一个维度的硬件显示器像素与原始文档像素的比率,并且按照原始文档分辨率的所述最大行长度被确定为以硬件像素表示的显示窗口的宽度除以所述比率。
6.如权利要求1所述的方法,其中,表示以第二分辨率显示所述文档的命令的所述用户输入包括可以用来标识所述文档中的元素的信息,而以所述第二分辨率显示所述文档的步骤包括在所述显示屏幕中的预定义位置定位所述所标识的元素的步骤。
7.一种被配置成显示电子文档以便选择并显示一个电子文档中的感兴趣区的计算设备,包括:
-显示屏幕;
-用户输入接口
-被配置成接收电子文档的通信接口
-接收到的文档可以被加载到其中的存储器;
-被配置成执行下列操作的处理单元:
-加载文档;
-确定所述文档的布局,其中,根据所确定的布局对所述文档中的文本换行;
-以第一分辨率并根据所确定的布局,在所述显示屏幕上显示所述文档的至少一部分;
-接收表示以第二分辨率显示所述文档的命令的用户输入;
-基于与所述第二分辨率相关联的最大行长度对所述文档中的至少一些文本重新换行;
-在所述至少一些文本被重新换行之后,确定所述文档的布局;以及
-以所述第二分辨率,在显示屏幕上显示包括重新换行的文本的所述文档的至少一部分。
8.如权利要求7所述的计算设备,其中,所述最大行长度由所述设备的显示屏幕的宽度来限定。
9.如权利要求7所述的计算设备,其中,所述最大行长度是在配置文件中限定的。
10.如权利要求7所述的计算设备,其中,所述最大行长度由在其内显示所述文档的窗口的宽度来限定。
11.如权利要求7所述的计算设备,其中,所述第二分辨率被定义为沿着一个维度的硬件显示器像素与原始文档像素的比率,并且按照原始文档分辨率的所述最大行长度被确定为以硬件像素表示的显示窗口的宽度除以所述比率。
12.如权利要求7所述的计算设备,其中,表示以第二分辨率显示所述文档的命令的所述用户输入包括可以用来标识所述文档中的元素的信息,并且以所述第二分辨率显示所述文档的步骤包括在所述显示屏幕中的预定义位置定位所述所标识的元素的步骤。
13.一种在其上实施了包括指令的计算机程序的计算机可读存储介质,当指令在计算机上执行时,执行下列步骤:
-将文档加载到存储器设备中;
-确定所述文档的布局;
-以第一分辨率并根据所确定的布局,在所述显示屏幕上显示所述文档的至少一部分;
-接收表示以第二分辨率显示所述文档的命令的用户输入;
-基于与所述第二分辨率相关联的最大行长度对所述文档中的至少一些文本重新换行;
-在所述至少一些文本被重新换行之后,确定所述文档的布局;以及
-以所述第二分辨率,在所述显示设备上显示包括重新换行的文本的所述文档的至少一部分。
14.如权利要求13所述的计算机可读存储介质,其中,所述最大行长度由所述显示设备的宽度来限定。
15.如权利要求13所述的计算机可读存储介质,其中,所述最大行长度是在配置文件中限定的。
16.如权利要求13所述的计算机可读存储介质,其中,所述最大行长度由在其内显示所述文档的窗口的宽度来限定。
17.如权利要求13所述的计算机可读存储介质,其中,所述第二分辨率被定义为沿着一个维度的硬件显示器像素与原始文档像素的比率,并且按照原始文档分辨率的所述最大行长度被确定为以硬件像素表示的显示窗口的宽度除以所述比率。
18.如权利要求13所述的计算机可读存储介质,其中,表示以第二分辨率显示所述文档的命令的所述用户输入包括可以用来标识所述文档中的元素的信息,并且以所述第二分辨率显示所述文档的步骤包括在所述显示设备中的预定义位置定位所述所标识的元素的步骤。

说明书全文

用于当显示电子文档的选定区域时动态地文本换行的方法

和设备

技术领域

[0001] 本发明涉及在设备的显示器上显示电子文档。具体而言,本发明涉及用于选定这样的文档内的特定区域并在所选区域中动态地文本换行的方法。本发明还涉及被配置成根据该方法操作的设备,以及包括指令的计算机程序,当由该设备中的一个或多个处理单元执行这些指令时,执行该方法。

背景技术

[0002] 诸如网页之类的电子文档常常被设计用于在带有标准尺寸的显示器的常规台式计算机上显示。当这样的文档显示在其他设备上时,例如,手持式设备、移动电话、电视机或游戏控制台,显示的大小和布局可能不会以对用户方便的方式呈现文档。提出了各种方法以便处理此问题。这样的方法通常在显示文档之前对文档进行修改,以便使文档适合屏幕。这通常涉及删除不适合屏幕的大小或固有属性的内容或布局。这样的解决方案所存在的一个共同问题是,呈现的页面可能无法被用户使用或无法识别,或者,用户可能难以在该文档内导航。
[0003] 其他方法涉及调整文档的某些部分的大小或移动某些部分,诸如缩小图像大小,通过改变文档的布局来减少栏的数量,以及改变颜色对比度亮度和字体大小。
[0004] 最近得到流行的一种方法是最初基本上以作者原先设计的样式显示文档,并提供用于放大或缩小的方法,以便显示一个页面上的特定区域或元素。这样的方法常常直观,并且对用户方便,但是它们不是没有缺点,特别是当处理文本时。例如,如果文本非常宽,则可能需要平地滚动才能阅读文本。为了避免这种情况,有人提出了在放大之后对容纳在设备的屏幕内的窄的栏中的所有文本重新换行。当然,这会改变由页面作者所创建的原始布局,并可能导致在垂直方向上长得多的文档。
[0005] 因此,需要可以克服这些缺点并导致更加平稳并且对用户更方便的在小屏幕设备上显示文档的方式的方法。

发明内容

[0006] 根据本发明,提供了用于当以适合于显示器的能的方式显示电子文档的选定区域时动态地进行文本换行的方法。
[0007] 该方法可包括这样的步骤:加载文档,确定文档的布局,以便根据确定的布局换行文档中的文本,以第一分辨率并根据确定的布局在显示屏幕上显示文档的至少一部分,接收表示以第二分辨率显示该文档的命令的用户输入,基于与第二分辨率相关联的最大行长度重新换行该文档中的至少一些文本,在相关文本被重新换行之后,确定文档的布局,以及以第二分辨率,用重新换行的文本在显示屏幕上显示文档的至少一部分。
[0008] 最大行长度可以由设备的显示屏幕的宽度,从存储在配置文件中的信息,或基于在其内显示文档的窗口的宽度进行限定。根据某些实施例,最大行长度可以被定义为沿着一个维度的硬件显示器像素与原始文档像素的比率,并且按照原始文档分辨率的最大行长度被确定为显示窗口的宽度(按照硬件像素表示)除以该比率。
[0009] 根据本发明的某些实施例,表示以第二分辨率显示该文档的命令的用户输入包括可以用来标识该文档中的元素的信息,并且以该第二分辨率显示该文档的步骤包括在显示器中的预定义位置定位所标识的元素的步骤。当增加分辨率(放大)以及减小比率(缩小)时可以使用此步骤,以便确保用户查看该文档内容的相同部分,即使布局被通过文本的重新换行而大大地改变。
[0010] 根据本发明,计算设备可以被配置成显示电子文档以便选择并在设备的显示器上显示一个电子文档中的感兴趣区,包括显示器、用户输入接口、能够接收电子文档的通信接口,能够将接收到的文档加载到其中的存储器设备,以及被配置成执行这样的步骤的模块:加载文档,确定该文档的布局,以第一分辨率并根据确定的布局在显示屏幕上显示该文档的至少一部分,以便根据确定的布局换行该文档中的文本,接收表示以第二分辨率显示该文档的命令的用户输入,基于与第二分辨率相关联的最大行长度重新换行该文档中的至少一些文本,在相关文本被重新换行之后,确定文档的布局,以及以第二分辨率,用重新换行的文本在显示屏幕上显示文档的至少一部分。
[0011] 该设备还可以进一步被配置成执行本发明的方法的额外的步骤。
[0012] 最后,根据本发明,存储在计算机可读存储介质上的计算机程序可包括指令,当这些指令被加载到计算设备中并执行时,能够执行根据本发明的原理的动态地文本换行的方法。附图说明
[0013] 图1示出了可以用于实现本发明的各方面的计算设备的图形;
[0014] 图2示出了可以与本发明一起使用的用户代理应用程序的各个模块;
[0015] 图3A-C示出了电子文档的布局和其在浏览器窗口中的显示;
[0016] 图4A和4B示出了电子文档的布局如何可以成为若干个布局框的结果;
[0017] 图5示出了如何可以基于本发明来标识和显示感兴趣区;以及
[0018] 图6是示出了本发明的方法的流程图

具体实施方式

[0019] 现在将参考附图进一步详细描述本发明。本发明可以许多不同的形式来实现,不应该被理解为仅限于此处所阐述的实施例。这些实施例只作为示例提供,以便为那些本领域技术人员提供对本发明的完全理解。
[0020] 具体而言,应该理解,尽管示例引用了特定标准和格式以便在因特网和万维网上创建、格式化、传输和显示内容,但是,本发明不应该解释为限于此处所提及的特定标准。
[0021] 图1示出了可以用作用于实现本发明的各方面的环境的一般化计算设备100。在图1中,设备100包括中央处理单元(CPU)101、存储器102、通信端口或输入/输出端口(I/O端口)103、视频接口104,以及网络接口105。这些单元通过系统总线106彼此进行通信。
[0022] 存储器可包括ROM、RAM、闪存、硬盘驱动器或固定和可移动存储器的任何其他组合,来存储系统的各软件组件,如基本输入/输出系统(BIOS)141、操作系统142、包括应用程序和设备驱动程序的各种计算机程序143,各种数据144,及诸如宏指令和脚本145之类的其他可执行文件或指令。
[0023] I/O端口103可以连接到一个或多个本地设备110,如用户输入设备(例如,键盘鼠标或遥控器)、打印机、媒体播放器、外部存储器设备,以及诸如,例如,全球定位系统接收器(GPS)或电视机机顶盒之类的特殊用途设备。I/O端口103可以是本地设备110的诸如USB、PS/2、RS-232、红外线(IR)、蓝牙、打印机端口,或任何其他标准化或专用通信接口之类的端口的任何组合。
[0024] 视频接口设备104连接到显示单元120,该显示单元120可以是诸如LCD显示器之类的外部监视器或集成的显示器。显示单元120可以具有触敏屏幕,在该情况下,显示单元120可以兼作用户输入设备。这样的显示单元120的用户输入设备方面可以被视为通过通信端口103进行通信的本地设备110中的一个。
[0025] 网络接口设备105为设备100提供连接到网络的能力,以便与远程设备130进行通信。在图1中只被示为连接网络接口105与远程设备130的线路的通信网络,可以是,例如,局域网或因特网。远程设备130原则上可以是与设备100具有类似的通信能力的任何计算设备,但是,通常可以是提供网络服务的服务器或某种其他单元。本领域技术人员将理解,通信网络可以是任何可公开访问的网络,或网络的组合,包括因特网、诸如GSM之类的蜂窝式移动网络,公用电话网、有线电视网,或模拟或数字广播或卫星。
[0026] 可以理解,图1中所示出的设备100在大小或资源方面不仅限于任何特定配置或实施例。所示出的各种组件可以实现为设备100的一个或多个集成的单元或分布到多个单元。当然,也可以存在其他单元或能力。此外,设备100可以是,例如,诸如PC之类的通用计算机,个人数字助理(PDA)、蜂窝电话或智能电话,或游戏控制台或电视机机顶盒或媒体中心。
[0027] 本发明的各方面可以实现为可以作为应用程序安装在设备100上的用户代理或浏览器的组件和/或功能。图2示出了可以存在于这样的用户代理中的若干个模块的示例。模块通常是软件模块,或以其他方式可以由CPU 101来执行的软件。
[0028] 图2中的用户代理200向用户呈现用户界面201,该用户界面201可以显示在图1所示出的显示单元120上。用户界面201可包括地址字段202,用户可以使用输入设备在此输入他或她需要用户代理200检索的文档或服务的URI。地址字段202也可以是显示的链接,可以由用户使用诸如鼠标、滚动设备之类的指示设备或用于选择显示出的项的某种其他装置来激活该显示的链接。或者,在已经由用户代理200加载的文档或脚本的代码中指定URI。
[0029] 在任何情况下,URI都可以由表示与用户代理200(或其一部分)相关联的用户界面201的输入部件的窗口和输入管理器203接收。然后,可以将URI转发到文档管理器204,该文档管理器204管理作为由URI所标识的文档的一部分接收到的数据。
[0030] 文档管理器204将URI转发到URI管理器205,该URI管理器205再次命令通信模块206请求访问所标识的资源。通信模块206可以能够使用超文本传输协议(HTTP)或诸如HTTPS(HTTP over Secure Socket Layer)或FTP(文件传输协议)之类的某种其他协议,通过网络从诸如服务器之类的远程设备130访问和检索数据。通信模块206也可以能够访问存储在本地存储器102中的数据。
[0031] 如果设备100外部的通信需要被加密,例如,如用于访问URI的协议所指定的,加密/解密模块207处理URI管理器205和通信模块206之间的通信。
[0032] 由通信模块206响应于请求而接收到的数据被转发到URI管理器205。然后,URI管理器205可以使用高速缓存管理器208将接收到的内容的副本存储在本地存储器102中,而高速缓存管理器208管理文档和图像高速缓存209。如果以后请求了同一个URI,则URI管理器205可以从高速缓存管理器208中请求它,除非被缓存的副本被删除,否则,高速缓存管理器208将从高速缓存209中检索数据,并将数据转发到URI管理器205。在此情况下,当第二次请求同一个URI时,不需要再次从远程设备130检索数据。
[0033] URI管理器205将接收到的数据转发到解析器210,该解析器210能够作为HTML、XML和CSS解析这样的内容。然后,取决于内容的类型和特征,内容可以由ECMAScript引擎211(这是一个用于处理文档对象模型(DOM)结构212的模块)和/或布局引擎213进行进一步的处理。
[0034] 对检索到的内容的这种处理由文档管理器204进行管理,文档管理器204也可以作为对接收到的内容的处理的结果,将额外的URI请求转发到URI管理器205。这些额外的URI,可以,例如,指定应该嵌入在由原始URI所指定的文档内的图像或其他额外的文件。
[0035] 当已经处理完表示指定的文档的内容的数据时,它被从文档管理器204转发,以便由呈现引擎214呈现,并显示在用户界面201上。
[0036] 如此所描述的各模块可以由图1的设备100的中央处理单元101在通过系统总线106接收到指令和数据时执行。通信模块206可以使用设备100的网络接口105与远程设备130进行通信。当然,各模块的功能可以集成在很少的较大模块上,或分布在或复制到几个模块上。
[0037] 进一步可以理解,上文所描述的用户代理200可以实现为应用程序143,而且,某些功能也可以是设备100的操作系统142或者甚至BIOS 141的一部分。响应于URI请求而接收到的内容可以是数据144、脚本145或这些数据的组合,如下面所进一步描述的。
[0038] 应该注意,图1和2不是限制性的。如本领域普通技术人员所知道的,所示出的设备100和用户代理200可以通过省略某些模块或功能和/或添加其他模块或功能来加以修改。
[0039] 诸如网页之类的电子文档,通常是使用诸如HTML、XHTML或XML之类的标记语言创建的,通常给它们赋予了为标准计算机显示器设计的布局。然而,诸如浏览器之类的用户代理越来越多地安装在诸如PDA、蜂窝电话、电视机机顶盒和游戏控制台之类的其他类型的设备上。这样的设备具有各种显示器,其大小、形状和分辨率各不相同。这些设备可能不能以有意义的方式呈现和显示网页。文档可以被缩小到变得不能读的程度,一次只能显示文档的小部分,或者文档的布局可以以文档的创建者从来没有计划的方式变化。
[0040] 现在参考图3A-3C,图3A示出了示例性网页(文档)300的整个布局。网页300包括左边缘301和主要内容区域302。主要内容区域302包括以标题行303开始的文章,接下来是文本305,以及第二标题行306,接下来是另一文本307。左边缘301包括导航菜单304,其中带有若干个菜单条目,这些条目可以是到同一个网站的其他部分。如图3A所示,可以根据网页300的原始布局来实现文本305的换行。
[0041] 图3B示出了图3A的网页300的在浏览器窗口或用户代理窗口显示的一部分。上文参考图2所描述的用户代理200可以用于显示网页300,而该窗口可以显示在上文参考图1所描述的设备100的显示器120上。相对于整个文档300的视口的大小可以只是由设备的属性和/或用于显示该文档的用户代理200来确定,或者,它可以是由用户调用的放大文档的缩放操作的结果,例如,为了用大到足够进行舒服的阅读的字符来显示文本305。
[0042] 窗口包括导航按钮311、其中可以输入所希望的文档300的URL的地址字段312,以及垂直滚动条313。浏览器窗口的其余部分被用来显示文档300的一部分。窗口的此其余部分简称为视口。图3B的视口在图3A中表示为虚线。值得注意的是,在图3B中所示出的示例中,视口不足够宽,无法显示网页300的全宽。此外,只能示出文档300的上部,以致于第二文章306消失在视口的下面。
[0043] 为了查看文档300的消失在视口下面的部分,提供了垂直滚动条313。通过此滚动条313,可以相对于文档300向下移动视口。这通常对于用户不是非常不方便,因为文本是从文档的顶部向下读取的,滚动只在一个方向(即,向下)是需要的。在文本以多个栏呈现的情况下,可能需要向页面的顶部滚动。但是甚至这种情况也未必体验到无法接受的不方便,因为单一页面很少包括多于两个或三个栏,并且滚动到文档的顶部只需要一次或至多几次,并且只是在完全读取了整栏之后。
[0044] 在图3B中进一步发现,因为视口不足够宽,无法显示文档300的全宽,提供了水平滚动条314。为了阅读文本305,需要反复地在两个方向使用此滚动条314。与主要用于向下方向而只是偶尔在向上方向使用的垂直滚动条313相反,水平滚动条314必须对于超出视口的右边缘的每一行文本在两个方向使用。这表示对用户来说是无法接受的不方便。
[0045] 图3C再次示出了显示在显示器120上的网页300的一部分。显示器120的视口可以与图3B中所示出的相同,但是,在此情况下,文本305被重新换行(相对于由图3A的布局施加的原文本换行)以便文本305的每一行都被置于视口内。用户代理窗口可包括与图3B中所示出的浏览器窗口相同的功能,如导航按钮311和垂直滚动条313,但是,对文本305的重新换行导致文档300变窄,从而不需要水平滚动条314。在此示例中,通过水平滚动条314,可以向左滚动,以便看到导航菜单304,但是,滚动条314的长度和位置表示在当前视口的右边不存在内容,不需要水平滚动即可阅读文本305。垂直滚动条313表示,文档
300已经变得长得多,因为滚动条313相对于视口的高度短得多。
[0046] 可以理解,重新换行未必意味着,整个文档300都被置于视口内。重新换行的目的可以主要是将一个文本块,或一栏文本置于视口内。诸如图像、导航菜单304之类的额外的元素,或另一栏文本305,仍可以位于视口的外部,并需要水平滚动。然而,在阅读特定一栏文本时,不再需要水平滚动。
[0047] 还可以理解,还可以根据不同的规则或方法,对文档300进行文本305的重新换行,图3C所示出的结果可以是不同的方法的最终结果。将参考图4A-4B所示出的示例(类似于图3A和3C的示例,但是,添加了几个图像)简要地对此进行讨论。
[0048] 第一种替代方案是当加载文档时重新换行所有文本,如图4A和4B所示。根据此策略,整个文档的布局被改变。图4A示出了文档400的布局,包括带有导航菜单404的左边缘401和带有第一标题行403的主要内容区域402,第一文本405,第二标题行406和第二文本407。还包括第一和第二图像408、409。
[0049] 图4B示出了在重新换行文本405、407之后同一个文档400的模样。值得注意的是,尽管文本栏变窄,变长,但是,布局的其余部分被保留。这增大了空白的量,并使整个文档400显著变长。在正常模式下显示,文档400可能看起来混乱,旨在靠近的元素(例如,文章和插图)可能显得断开。以放大的方式显示,文本405、407以方便的方式可读,类似于图3C中所示出的,但是,可能需要进行大量的水平滚动才能查看文本所附带的插图。
[0050] 可以通过使所有块变窄一些以便保持各种元素之间的关系,来克服此不方便。然而,对于比较复杂的页面布局,这样的方法可能不合要求,或者甚至不可能,或者可能必须涉及额外的度量(例如,调整图像大小),导致如页面的作者构思的原始布局的根本变化。
[0051] 根据本发明的原理,解析由用户代理200加载的文档,并以与文档的作者的最初意图一致的方式确定其布局。
[0052] 图4A中所示出的示例是以级联样式表(CSS)(级别2,修订版1,由万维网联合会(W3C)在http://www.w3.org/TR/CSS21/处发布)为基础,在此引用该文件作为参考。然而,本发明不限于此版本的CSS,或特别是CSS。
[0053] 当由诸如图2中所示出的用户代理之类的用户代理200接收到标记语言文档时,通常如上文所描述的那样处理文档。布局引擎213可以,基于文档的DOM结构,基于DOM树中的元素,生成若干个框。
[0054] 那些本领域普通技术人员将认识到,术语“元素”是指标记语言文档中的表示结构的句法构造。这样的元素可以定义包含内容(例如,文本或图像)的结构单元。术语“框”在当前技术内是指文档的布局内的由特定元素的内容占用的矩形空间。
[0055] 根据CSS 2.1框模型的一般方法,被定义为块框(block box)的框为子代框建立包含块。(诸如内联框之类的某些其他类型的块不是块框)。另外,诸如各种表元素之类的未被定义为框的某些其他类型的元素,也建立包含块。
[0056] 通过计算包含元素的块框的边缘来确定页面上的元素的尺寸和位置。在图4A中,顶级框是整个页面的包含块。通常,左边缘401可以包含在整个页面的包含块的一个子代中,而主要内容包含在另一子代框中。然后,可以基于其包含块的边缘来计算菜单404的位置。标题行403、图像408和文本405可以包含在以主要内容的框作为其包含块的框中。标题行403、图像408和文本405也将具有它们自己的相应的包含块,这些包含块将是包含所有三个元素的块的后代。类似的结构可以用于元素406、407和409。
[0057] 那些本领域普通技术人员将理解,对于附图中所示出的布局,包含块的其他结构也是可能的。
[0058] 可以由布局引擎213基于其包含的块的边缘来计算标题行403的位置。对于文本405的情况也相同,其中,行将在其包含块的框的右边缘以及图像框的边缘换行-除非作者已经包括了替换此默认文本换行的指令。
[0059] 如已经描述的,可能需要将文本换行到更短的行,以便例如在带有小屏幕的100上可以放大并阅读文本,无需水平地滚动。图4B示出了在文本已经被换行到更短的行之后同一页面400的布局看起来的模样。在放大操作之后,此布局可能是首选的,因为可以换行,以便在执行放大操作之后它们适合浏览器窗口的视口。然而,从附图可以清楚地看出,在放大操作之前,图4B中所示出的布局可能对用户不方便,例如,因为它提供太多的空白,并使文档400不必要地变长。
[0060] 根据本发明的原理,用户代理200可以被配置成响应于放大操作而动态地重新换行文本。可以在放大操作之前根据由其作者最初计划的布局来显示文档400,如由图4A所示范的,而文本被作为放大操作的一部分而动态地重新换行,如由图4B所示范的。
[0061] 图5是示出了根据本发明的示例性实施例的方法的步骤的流程图。
[0062] 在第一步骤501中,由用户代理200加载文档300、400。在下一步骤502中,然后解析文档300、400,创建布局,与由文档的作者所创建的设计和诸如HTML和CSS之类的标准中的规范一致。此布局可能存在于在其上面安装了用户代理200的设备100上的存储器102上。此存储器102可以视为提供虚拟显示。此虚拟显示的分辨率与以像素表示的原始文档的维度一致。
[0063] 在步骤503中,文档300、400可以显示在设备显示器100上。这可以由呈现引擎214来处理,因为显示器120可以具有相对低的分辨率,可能需要重新缩放页面300、400。可以基于设备显示器120的分辨率,确定缩放级别。作为示例,设备100可以具有水平分辨率为480像素的显示器120。为了显示水平分辨率为800像素的网页300、400,需要以30%的缩放级别显示页面300、400,以便避免水平滚动。可能希望通过接受某些水平滚动而同时实现例如标题行的更好的可读性,取得折中,并使得标识图像更加容易。60%的缩放级别将,例如,导致在水平分辨率为480像素的显示器120上产生水平分辨率为685像素的视口。
[0064] 用户现在可以查看文档300、400,水平地垂直地滚动,并可以利用指示设备在屏幕120上移动。用户代理200可以对来自用户的其他指令作出反应,而在步骤504中,等待改变缩放级别的指令。
[0065] 当在步骤505中用户代理200判断接收到了改变缩放级别的指令时,需要确定在哪个区域放大。提出了各种方法来帮助用户进行这样的选择。本发明不仅限于任何一个这样的方法。当从用户那里接收到放大的请求时,用户代理200可以简单地在文档的左上放大。其他方案包括允许用户在显示器120上移动表示放大的视口的矩形的用户界面。放大操作将放大由矩形所表示的区域。其他替代方案包括让用户点击或双击屏幕120上的某处,从而用户代理200将放大包括由用户点击的位置的区域。可以选定该区域,以便被点击的位置位于该区域的中心,或者,可以使用多个成熟的方法。在美国专利申请No.11/525,177中描述了一个这样的方法,在此引用该申请的全部内容作为参考。
[0066] 可以确定文档300、400被缩放的缩放级别,例如,150%,以便可以进行舒服的阅读。(在台式机监视器上,100%的缩放级别可能是舒服的,但是,由于在其他设备上像素大小较小,可能需要额外的缩放)。
[0067] 因此,可能需要换行以便在显示器120上没有文本行长于480像素,对于150%的缩放级别,对应于320个像素。在步骤506中,可以执行此重新换行。
[0068] 在重新换行文本之后,整个文档300、400的布局必须再一次创建。这可以在步骤507中执行,以便在存储器102中的虚拟显示器中创建诸如图4B所示范的文档布局。在返回到步骤503之后,可以使用虚拟布局,以便再次在显示器120上显示文档300、400。当然,此时,文档300、400的显示是基于放大的视口进行的。
[0069] 当再次改变缩放级别时,即,当用户再次缩小(或在某些实施例中,更换到另一可用的缩放级别)时,在步骤506中再次重新换行文本,创建新布局,在步骤503中再次显示文档300、400。
[0070] 上文在图5中所描述和示出的示例假设用户代理200只在两个缩放级别之间进行切换,视口始终填充屏幕的全宽。本发明不仅限于此方面,并根据符合本发明的原理的各实施例,用户可以缩放到其他缩放级别或改变视口的宽度,以便它不再填充显示器120的全宽。后者的特殊情况是当时用户代理200允许用户在纵向视图和横向视图之间进行切换。作为示例,其尺寸为480×640像素的显示可以当在纵向模式下时在685像素宽(缩小)和
320像素宽(放大)的视口之间切换,而当在横向模式下时在914像素宽和426像素宽之间进行切换。(当然,显示器120的分辨率由设备硬件来确定。当谈及视口时,引用对于原始文档300、400的像素数量。)在这样的设备100上,当放大时文本换行在纵向模式下在320像素处实施,而在横向模式下在426像素处实施。这可以在配置文件中设置为参数,或者,也可以由用户代理200基于例如从呈现引擎213或窗口管理器203报告的有关设备100的信息来确定。
[0071] 现在参考图6,该图示出了本发明的实施例,该实施例允许用户动态地改变缩放级别和视口的大小。对缩放级别的改变通常可以通过与窗口或整个显示器120相关联的滑动块来调用,而视口的大小可以被操纵,例如,通过使用指示设备拖放窗口的边缘。
[0072] 在第一步骤601中,加载文档300、400。然后,在下面的步骤602中确定布局。在下一步骤603中,文档300、400显示在设备显示器上。用户代理200可以在等待步骤604等待改变缩放级别或视口宽度的指令时,执行其他功能。这些步骤可以对应于根据参考图5所描述的实施例执行的步骤501、502、503、504。
[0073] 然后,在下一步骤605中,当判断已经改变缩放级别或视口宽度时,过程可以移到其中计算新视口宽度的下一步骤606。可以根据用户输入来确定缩放级别。可以基于用户输入或从呈现引擎213或窗口管理器203中获取的信息,确定视口宽度。首先,确定以硬件分辨率表示的视口宽度。继续其中设备100具有水平分辨率为480像素的显示器120的示例,如果使用整个屏幕120,基于硬件的视口是480像素,如在上文参考图5所描述的示例中那样。然而,如果用户缩小其中显示了文档300、400的窗口的大小,或者,如果其他内容(诸如,例如,垂直滚动条或导航图标)在水平方向占据一定数量的像素,则视口在水平方向可以缩小为,例如,400像素。
[0074] 基于视口的此硬件分辨率,可以确定以原始文档300、400的分辨率表示的视口的实际尺寸。如果缩放级别是150%,如前面的示例所描述的,可以在266像素实施文本换行。然而,如果用户决定进一步地放大,例如,放大到180%,则必须在222像素处实施文本换行,以便避免水平滚动。
[0075] 现在认识到,如果用户继续使视口更窄或增加缩放级别,将到达以甚至更短的行长度重新换行文本也不再起作用的点。因此,可以对于文本重新换行实施下限。如果视口比此阈值更窄,则可以在该阈值像素值处重新换行文本,并可能需要水平滚动。
[0076] 类似地,不是在用户一开始放大就实施重新换行,可以设置上阈值,高出该上阈值不实施文本换行,由文档作者或普通的CSS规则确定的文本换行除外。这是可以进行的,例如,因为低于某一缩放级别,文本可以被认为如此小,以至于它不能被舒服地阅读,并且利用作者创建的布局查看文档300、400变得更加重要,以便获得文档300、400的内容作为整体的感觉,即使跨文本行也需要水平滚动。
[0077] 步骤607可能是判断是否需要文本重新换行,考虑到视口宽度的变化(如在步骤606中确定的),以及对于文本重新换行的任何最大或最小阈值。如果不需要重新换行,则过程可以返回到步骤603,并根据已经作出的更改来显示文档300、400,但是不实施对文本的任何重新换行。
[0078] 另一方面,如果在步骤607中判断需要重新换行,则过程移到其中在计算出的视口宽度处重新换行文本的步骤608。此步骤可以对应于步骤506。然后,在步骤609中创建带有重新换行的文本的页面的布局,步骤609可以对应于步骤507。
[0079] 然后,过程可以返回到步骤603,并根据新布局来显示内容。
[0080] 如上文所提及的,可以存在各种用于选定要放大的区域的方法。然而,可以从图4A和图4B轻松地认识到,文档400的尺寸可以作为重新换行的结果而变化。因此,可能需要跟踪所选区域在缩放级别变化之前在文档300、400中的位置,并相应地显示文档300、400。作为示例,如果用户在距离文档300、400的顶部一定数量的像素的位置放大和缩小,而文本重新换行显著地改变了文档300、400的长度,在放大之后显示的文本将不会是执行放大操作之前选定的文本。原先放大的文本将是靠近文档300、400的顶部的某个位置。
[0081] 根据本发明的原理,根据某些实施例,在文本重新换行之后被缩放到文档300、400的布局中的是基于由用户作为放大过程的一部分选定的,或由其他准则选定的一个元素的位置来选择的。
[0082] 根据第一这样的实施例,用户通过双击设备100的屏幕120上的某处来调用放大功能(或以其他方式利用指示设备选定一位置)。位置必须在至少一个框内部,该至少一个框是整个文档的包含块。此外,该位置还可以在例如包含多个文本元素或单一段落的文章的框内。该位置也可以标识图像、表格单元格,或任何其他类型的元素。
[0083] 在接着文本被重新换行之后创建新布局之后被缩放的文档300、400的区域可以被如此选择,以便如果由用户选定的位置在多个框内部,选择沿着DOM树最远的框(例如,选择文本的一段落,而并非包含文本的表格单元格,并且选择表格单元格,而并非整个表)。然而,其他规则可以替换此规则,以便,例如,某些类型的元素被优先于其他元素(例如,文本优选于图像),或相反。
[0084] 然后,可以选择缩放的区域,以便标识的元素被定位在视口的左上角。诸如在视口的中心之类的(其他方案当然也符合本发明的原理)
[0085] 根据第二这样的实施例,用户通过拖动指示设备来定义矩形,或通过使用指示设备来定位表示放大之后的视口的矩形,选定一个区域,而并非一个位置。选定的元素可以是所选区域内的任何元素,是根据若干个准则中的任何一个选择的,包括文档300、400的DOM结构中的位置,元素类型、放大之前在矩形内的位置(例如,与左上角最近的元素,与矩形的左边缘最近的元素,或与文档300、400的中心最近的元素)。
[0086] 根据本发明的原理,可以不仅选定要放大的元素,而且可以选定该元素上的位置。可以从输入管理器203中获取关于文本中的特定字或字符的信息,或关于图像中的点的坐标的信息,当确定要放大的区域时可以使用此信息。
[0087] 可以在上文引用的美国专利申请No.11/525,177中可以找到关于基于CSS框模型来选择元素的额外的信息,该申请以引用的方式并入本文中。
[0088] 如果没有选择位置,并且简单地通过使用滑动块来选择缩放级别,选择以一个值(例如,百分比)表示的缩放级别,或在缩小和放大之间切换,可以例如使用的再一个方案是保持视口的左边缘的位置,并选择靠近视口的上缘的元素以与放大之后的视口的上缘对齐。
[0089] 当缩小时,或者实际上当在导致对文本重新换行的任何两个缩放级别或视口宽度之间进行更换时,必须解决相同问题。当放大时,可以根据上文所描述的方法中的其中一种来选择区域。缩小不必是显著不同。如果通过双击来调用缩小或以其他方式标识一元素,则可以选择响应于缩小操作显示的区域,以便所选元素获得缩小的视口中的预定义位置,例如,左上角。如果缩小只是选择不同缩放级别的问题,则可以如此选择区域,以便根据某些预定义的规则来选择放大的视口内的元素,并且如此定位缩小的视口,以便所选元素接收缩小并且重新换行的文档的视口中的特定位置,例如,视口的左上角或中心。
[0090] 再者,另一方案是保持视口的左边缘的位置,并选择与视口的上缘靠近的元素以与缩小之后的视口的上缘对齐。
[0091] 当然,也可以返回到在放大之前活动的视口位置。然而,这可能不合要求,因为用户可能滚动到文档300、400中的非常不同的位置,而在放大的视图中,并且返回到符合在文档300、400中的所有滚动之前的位置的缩小的视图不会被视为对用户非常方便。
[0092] 当然,缩小的一个非常简单的方法是将放大的视口的中心保留为新的缩小的视口的中心,或者,以同样的方式对待放大的视口中的另一位置(例如,左上角)。
[0093] 现在返回到图4,框410和411示出了如何在缩小和放大的视图中选择视口位置。在图4A中,示出了带有如文档作者所定义的其原始布局的文档400。框410示出了设备在缩小模式下的视口。图4B示出了在重新换行文本405、407之后同一个文档的模样。框411示出了视口在放大之后的位置。放大操作可以,例如,由用户双击文本407来调用。这可能已经选定了相关联的包含元素的框,然后,可以将该元素被定位于放大的视口的左上角中,如框411所示。
[0094] 相反的操作可以导致左上角中的文本407的缩小区域。然而,根据此示例,文档400不比缩小的模式下的显示的视口宽。因此,将包含文本407的框定位为角部将实际意味着将左边缘401定位于视口的外部,并用空白填充视口的右边和底部。这可以不是非常有用。因此,在此情况下,视口可以如框412所示的那样定位,文本407尽可能地高地被定位在视口中,而示出了文档400的全宽。如果文档400甚至在缩小模式下比视口更宽,则视口可以被如此定位,以便文本407的视口的左边缘开始。
[0095] 尽管上文所描述的示例都假设每当实施重新换行时都应该重新换行文档300、400中的所有文本,当改变缩放级别时,根据本发明的原理,只重新换行文档300、400中的一些文本。根据某些实施例,只重新换行视口内的文本。根据其他实施例,只重新换行包含带有至少部分地在视口内的框的块的文本。也可以构想其他方案。
[0096] 那些本领域普通技术人员员将会理解,本发明不仅限于上文所描述的示例。例如,在没有指针类型的输入设备的情况下,对元素的选择比较复杂,但是,可以实现若干种方案,诸如从一个元素移到另一个元素的键盘或游戏杆输入。
[0097] 应该理解,用户输入设备的准确的特征和从输入设备接收到的数据不是本发明的基本部分,只要它可以将转换为页面300、400中的位置、区域或某处的元素或与它们相关联。
[0098] 当接收到代表页面300、400的布局内的一位置的用户输入并将其标识为用户企图调用放大或缩小操作时,接收到的位置可以用来选定感兴趣区。在根据本发明的许多实施例中,可以接收到调用缩放操作之外的其他用途的用户输入,诸如点击超链接或将焦点移动到诸如输入字段之类的特定元素。可以使用各种方法来将用户输入标识为执行缩放操作的尝试。根据某些实施例,表示指示设备的位置和鼠标点击的用户输入可以被标识为这样的输入,只要指示设备的位置不与诸如,例如,超链接、按钮、输入字段或下拉菜单之类的活动元素相关联。替换实施例包括指示设备位置和来自第二鼠标键的点击或点击与按键盘键相结合(例如,shift+点击),点击及拖动指示设备,反复地按下制表键,直到选择适当的元素,接下来是按指定的键盘键,由设计师所指定的任何其他用户输入,并能够标识诸如点、元素或区域之类的位置。
[0099] 用于确定用于换行的最大行长度的各种参数可以是用户代理200的本机代码的一部分,或者,它们可以存储在配置文件中,或两者的组合。然后,可以准备这样的配置文件,以便安装在不同设备100上,以便可以使一个配置文件可用于多个设备100,可以使不同的配置文件可用于其他设备100,等等,取决于每一个这样的设备的硬件能力(例如,显示分辨率)。对于某些设备100,参数可以从有关显示器120的信息导出,这些信息是从用户代理200(例如,浏览器)的呈现引擎和输入管理器接收到的。
[0100] 最后,那些本领域普通技术人员将理解,本发明可以以若干个硬件/软件组合来实现,它不依赖于任何特定硬件或软件平台、操作系统、编程语言、通信协议、标记语言,以及布局定义和呈现规范。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈