一种超文本标记语言文档的排版显示方法和浏览器的制作方法

文档序号:6579001阅读:126来源:国知局

专利名称::一种超文本标记语言文档的排版显示方法和浏览器的制作方法
技术领域
:本发明涉及网络
技术领域
,具体涉及一种超文本标记语言文档的排版显示方法和浏览器。
背景技术
:标签是超文本标记语言(HTML,HypertextMarkupLanguage)文档的基本单元。标签的字符内容可能是文字、符号等。根据不同国家或地区的阅读习惯,文字的排版显示方式大致可以分为两种一种是按照从左向右的方式进行排版,例如汉字、英文等;另一种是按照从右向左的方式进行排版,例如,维吾尔文、阿拉伯文等。在一种应用场景下,HTML文档标签的字符内容中既可能包括需要从左向右排版的文字,同时又可能包括需要从右向左排版的文字。因此,有必要提供一种能够快速有效的对标签的字符内容中既可能包括需要从左向右排版的文字,同时又可能包括需要从右向左排版的文字的HTML文档进行排版显示的解决方案。
发明内容本发明实施例提供一种超文本标记语言文档的排版显示方法和浏览器,能够实现快速有效的对HTML文档进行排版显示。为解决上述技术问题,本发明实施,例提供以下技术方案一种超文本标记语言文档的排版显示方法,包括获取超文本标记语言文档的同一行的全部标签;在获取到的标签的字符内容包括需要从右向左排版的文字时,按照预设的拆分策略,将获取到的每个标签的字符内容拆分成一个或多个节,并根据拆分成的各节所归属的标签在行内的位置,对拆分成的各节进行预排序,其中,所述拆分策略包括将标签的字符内容中连续的需要从右向左排版的文字作为一个或多个转换节、将标签的字符内容中连续的需要从左向右排版的文字作为一个或多个非转换节;按照预设的重排序策略对各节进行重排序,其中,所述重排序策略包括将多个连续的转换节的位置翻转,其它各节的位置不变;按照重排序后的位置顺序显示各节,其中,转换节的内容按照从右到左的排版方式进行显示。优选的,在获取到的标签的字符内容进一步包括需要符号时,所述拆分策略进一步包括将标签的字符内容中连续的符号作为一个符号节;所述按照预设的重排序策略对各节进行重排序之前还包括按照设定的属性重置策略,将拆分成的各符号节重置为转换节或非转换节,其中,所述属性重置策略包括将仅与转换节相邻的符号节重置为转换节、将仅与非转换节相邻的符号节重置为非转换节,将同时与转换节和非转换节相邻的符号节重置为转换节或非转换节。优选的,所述按照重排序后的位置顺序显示各节具体为根据各节所归属标签的样式,按照重排序后的位置顺序显示各节。一种浏览器,包括获取模块,用于获取超文本标记语言文档的同一行的全部标签;拆分预排序模块,用于在所述获取模块获取到的标签的字符内容包括需要从右向左排版的文字时,按照预设的拆分策略,将所述获取模块获取到的每个标签的字符内容拆分成一个或多个节,并根据拆分成的各节所归属的标签在行内的位置,对拆分成的各节进行预排序,其中,所述拆分策略包括将标签的字符内容中连续的需要从右向左排版的文字作为一个或多个转换节、将标签的字符内容中连续的需要从左向右排版的文字作为一个或多个非转换节;重排序模块,用于按照预设的重排序策略对所述拆分预排序模块拆分成的各节进行重排序,其中,所述重排序策略包括将多个连续的转换节的位置翻转,其它各节的位置不变;显示模块,用于按照所述重排序模块重排序后的位置顺序显示各节,其中,转换节的内容按照从右到左的排版方式显示。优选的,在所述获取模块获取到的标签的字符内容进一步包括需要符号时,所述拆分策略进一步包括将标签的字符内容中连续的符号作为一个符号节;所述浏览器还包括属性重置模块,用于按照设定的属性重置策略,将拆分预排序模块拆分成的各符号节重置为转换节或非转换节,其中,所述属性重置策略包括将仅与转换节相邻的符号节重置为转换节、将仅与非转换节相邻的符号节重置为非转换节,将同时与转换节和非转换节相邻的符号节重置为转换节或非转换节。优选的,所述显示模块具体用于,根据各节所归属标签的样式,按照重排序后的位置顺序显示各节,其中,转换节的内容按照从右到左的排版方式显示。由上可以看出,本发明实施例中采用的技术方案优点如下将HTML文档标签的字符内容进行分节,以节为操作单位进行标签的字符内容的排版,能够实现相对快速有效的对HTML文档进行排版显示。为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图l是本发明实施例提供的一种HTML文档的排版显示方法流程图2是本发明实施例提供的一种HTML文档的排版显示效果图3是本发明实施例提供的一种浏览器示意图。具体实施例方式本发明实施例提供一种超文本标记语言文档的排版显示方法和浏览器。将HTML文档标签的字符内容进行分节,以节为操作单位进行标签的字符内容的排版显示,能够实现相对快速有效的对HTML文档进行排版显示。以下通过具体实施例分别进行详细"i兑明。请参见图1,本发明实施例的一种超文本标记语言文档的排版显示方法可以包括110、获取超文本标记语言文档的同一4亍的全部标签。在一种应用场景下,可以从网络側或本地存储器中获取HTML文档,通过解析HTML文档,可以建立标签节点树。HTML文档同一行的全部标签是指字符内容可以显示在同一行的全部标签,具体可以是一个或多个标签。进一步的,样式表用于记录标签的字符内容的显示样式(例如字体、颜色等),可以建立标签与样式表的对应关系。根据样式表中记录的对应样式,显示标签的字符内容,可以保持同一标签风格样式的统一性。120、当获取到的标签的字符内容包括需要从右向左排版的文字时,按照设定的拆分策略,将获取到的每个标签的字符内容拆分成一个或多个节,并根据拆分成的各节所归属的标签在行内的位置,对拆分成的各节进行预排序。其中,上述设定的拆分策略可以包括将标签的字符内容中连续的需要从右向左排版的文字作为一个或多个转换节、将标签的字符内容中连续的需要从左向右排版的文字作为一个或多个非转换节、以及将标签的字符内容中连续的符号作为一个符号节。在一种应用场景下,当同一行的一个或多个标签包括需要从右向左排版的文字时,可以将同一行的每个标签的字符内容拆分成一个或多个节。其中,节的内容是标签的字符内容的子字符串,节的内容可以包括一个或多个字符。其中,每个标签在行内对应着一个位置,每个节在标签中对应着一个签内初始位置,因此可以根据上述位置关系,对拆分成的各节进行预排序,使得每个节都对应不同的行内初始位置。进一步的,在拆分标签的字符内容时,可以以最长字符串原则,将标签的字符内容拆分成节,也就是iJL,同一标签中,连续的多个相同类型的文字可以作为一个节。在一种应用场景下,若获取到的标签的字符内容进一步包括需要符号时,上述设定的拆分策略可以进一步包括将标签的字符内容中连续的符号作为一个符号节。可以按照上述设定的拆分策略,将获取到的每个标签的字符内容中符号拆分成一个或多个符号节。符号节和其它各节一起进行预排序。进一步的,考虑到符号节内容的排版顺序与行内与其相邻的节的类型相关,因此,可以根据预排序后的各节的行内初始位置关系,重新设置符号节的转换属性,进一步明确各符号节中,哪些符号节需要进行转换,哪些符号节不需要进行转换。可以按照设定的属姓重置策略,将拆分成的各符号节重置为转换节或非转换节,其中,上述属性重置策略包括将仅与转换节相邻的符号节重置为转换节、将仅与非转换节相邻的符号节重置为非转换节,将同时与转换节和非转换节相邻的符号节重置为转换节或非转换节。130、按照预设的重排序策略对各节进行重排序。其中,上述重排序策略可以包括将预排序后的连续多个转换节的位置翻转,其它各节位置不变。在一种应用场景下,可以根据各节的转换属性,对各节进行重排序,将预排序后的连续多个转换节的位置翻转。举例来说,当前行内包括5个节节A、节B、节C、节D和节E,其中,节A、节B、节C、节D为转换节,节E为非转换节,例如预排序后的位置关系依次为节A、节B、节C、节D、节E。重排序时将节A、节B、节C和节D进行位置翻转,将节A和节D的位置对调,将节B和节C的位置对调,重排序后的行内位置关系是节D、节C、节B、节A、节E,进而实现节A、节B、节C和节D的位置翻转。当然,如果同一行的各节中没有连续的多个转换节,则各节重排序后的行内位置关系和预排序后的行内位置关系相同。140、按照重排序后的位置顺序显示各节,其中,转换节的内容按照从右到左的排版方式进行显示。进一步的,可以根据各节所归属的标签的,样式,按照重排序后的位置顺序,依次显示各节,以保持即使同一标签的字符内容被拆分为多个节,每个节仍然以相同的风格样式被显示。可以看出,通过上述节变换操作,可以将标签的字符内容中,需要从右向左排版的文字以右向左的方式显示,需要从左向右排版的文字以左向右的方式显示,能够适应各类阅读者的阅读习惯。为更好的理解本发明实施例的技术方案,下面通过具体使用例对本发明技术方案做进一步详细的描述。举例来i兌,标、签1为<spanstyle='font-size:20px;'〉^'。_j</span>标签2为<spanstyle='font-size:40px;'>^;12.34abc</span>其中,标签1和标签2是HTML文档的同一行的标签,上述以标签1和标签2中均包括需要从右向左排版的阿拉伯文字为例进行说明。首先可以将标签1和标签2的字符内容拆分为多个节。例如可以按照最长连续字符串的原则,将标签A的字符内容拆分成5个节,标签1的字符内容拆分成的5个节可以表1所示,但不局限于此表1标<table>tableseeoriginaldocumentpage9</column></row><table>可以看出,表l中清楚的记录了将标签l的字符内容拆分成的每个节所归属的标签的标签序号和标签样式、每个节的签内节序号(该节在标签内的初始位置信息)、节类型、节内容等。举例来说,表l中记录l号节为节,节内容为'v,(阿拉伯文),该节归属于标签l,标签l的标签样式为20px;2号节为符号节,节内容为"*",该节同样归属于标签l。同林,可以按照最长连续字符串的原则,将标签2的字符内容拆分成2个节,标签2的字符内容拆分成的2个节可以表2所示,但不局限于此<table>tableseeoriginaldocumentpage9</column></row><table>可以看出,表2中记录了将标签2的字符内容拆分成的每个节所归属的标签的标签序号和标签样式、每个节的签内节序号、节类型、节内容等。需要说明的是,一个一位或多位的数(例如,2、123.456、12,234等)作为一个元素进行处理,也作为阿拉伯文处理。利用标签1和标签2的各个节在行内的位置信息,对标签1和标签2的各个节进行行内预排序,预排序效果可以如表3所示,但不局限于此表3标签序号标签样式行内节序号节类型节内容120px1转换节120px2符号节*120px3转换节120px4符号节@120px转换节240px6转换节240px7非转换节abc可以看出,表3中清楚的记录了HTML文档同一行的标签l和标签2的每个节所归属的标签的标签序号和标签样式、每个节的行内节序号(该节在行内的初始位置信息)、节类型、节内容等。按照设定的属性重置策略,对符号节进行重置。重置结果可以如表4所示,但不局限于此表4标签序号标签样式行内节序号原节类型新节类型节内容120px1转换节转换节120px2符号节转换节承120px3转换节转换节120px4符号节转换节@120px转换节转换节240px6转换节转换节240px7非转换节非转换节abc按照设定的重排序策略,对各个节进行重排序,重排序结果可以如表5所示,但不局限于此表5标签序号标签样式原节新节原节类型新节类型节内容序号序号120px16转换节转换节<table>tableseeoriginaldocumentpage11</column></row><table>根据各节所归属的标签的样式,按照重排序后的位置顺序显示各节,其中,转换节的内容按照从右到左的排版方式显示,显示效果可以如图2所示。可以看出,如图2所示,标签l的各个节按照标签l的样式进行显示,标签2的各个节按照标签2的样式进行显示,虽然标签2被分割开显示,但标签2的各个节仍保持相同的风格样式。特别的,例如{}、()、<>、[]等等成对出现且具有方向性的符号来说,若是作为转换节进行显示,在重排序后,还需要进一步将成对出现的两个符号的位置对调,然后进行显示。例如,重排序后转换节"广的节序号为3,转换节"("的节序号为6,需要进一步将转换节'卞,的节序号修改为6,将转换节"{"的节序号修改为3,实现位置对调。可以理解的是,本发明实施例的上述方案可以在浏览器上具体实施。由上述技术方案可以看出,本实施例将HTML文档标签的字符内容进4亍分节,以节为操作单位进行标签的字符内容的排版,能够实现相对快速有效的对HTML文档进行排版显示。进一步的,以节为操作单位进行数据处理,易于实现模块化处理,相对降低了数据处理的复杂度。为更好的实施本发明技术方案,本发明实施例中还提供一种浏览器。请参见图3,本发明实施例的一种浏览器300可以包括获取模块310、拆分预排序模块320、重排序模块330和显示模块340。其中,获取模块310,用于荻取HTML文档的同一行的全部标签。拆分预排序模块320,用于在获取模块31O获取到的标签的字符内容包^r需要从右向左排版的文字时,按照预设的拆分策略,将获取模块310获取到的每个标签的字符内容拆分成一个或多个节,并根据拆分成的各节所归属的标签在行内的位置,对拆分成的各节进行预排序。其中,上述拆分策略可以包括将标签的字符内容中连续的需要从右向左排版的文字作为一个或多个转换节、将标签的字符内容中连续的需要从左向右排版的文字作为一个或多个非转换节。重排序模块330,用于按照预设的重排序策略对拆分预排序;^莫块320拆分成的各节进行重排序,其中,上述重排序策略可以包括将多个连续的转换节的位置翻转,其它各节的位置不变。显示模块340,用于按照重排序模块330重排序后的位置顺序显示各节,其中,转换节的内容按照从右到左的排版方式显示。在获取模块310获取到的标签的字符内容进一步包括需要符号时,上述拆分策略可以进一步包括将标签的字符内容中连续的符号作为一个符号节。浏览器300可以进一步包括属性重置模块,用于按照设定的属性重置策略,将拆分预排序模块320拆分成的各符号节重置为转换节或非转换节。其中,上述属性重置策略可以包括将仅与转换节相邻的符号节重置为转换节、将仅与非转换节相邻的符号节重置为非转换节,将同时与转换节和非转换节相邻的符号节重置为转换节或非转换节。在一种应用场景下,显示模块340具体可以用于,根据各节所归属标签的样式,按照重排序后的位置顺序显示各节,其中,转换节的内容按照从右到左的排版方式显示。由上述技术方案可以看出,本实施例浏览器将HTML文档标签的字符内容进行分节,以节为操作单位进行标签的字符内容的排版,能够实现相对快速有效的对HTML文档进行排版显示。可以理解的是,本实施例浏览器300各个功能模块的功能可以根据上述方法实施例的方法具体实现,其具体实现过程可参照方法实施例的相关描述,此处不再赘述。需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。综上所述,本发明实施例中,将HTML文档标签的字符内容进行分节,以节为操作单位进行标签的字符内容的排版,能够实现相对快速有效的对HTML文档进行排版显示。进一步的,以节为操作单位进行数据处理,易于实现模块化处理,能够相对降低数据处理的复杂度。骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括只读存储器、随机存储器、磁盘或光盘等。以上对本发明实施例所提供的一种超文本标记语言文档的排版显示方法和浏览器进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。权利要求1、一种超文本标记语言文档的排版显示方法,其特征在于,包括获取超文本标记语言文档的同一行的全部标签;在获取到的标签的字符内容包括需要从右向左排版的文字时,按照预设的拆分策略,将获取到的每个标签的字符内容拆分成一个或多个节,并根据拆分成的各节所归属的标签在行内的位置,对拆分成的各节进行预排序,其中,所述拆分策略包括将标签的字符内容中连续的需要从右向左排版的文字作为一个或多个转换节、将标签的字符内容中连续的需要从左向右排版的文字作为一个或多个非转换节;按照预设的重排序策略对各节进行重排序,其中,所述重排序策略包括将多个连续的转换节的位置翻转,其它各节的位置不变;按照重排序后的位置顺序显示各节,其中,转换节的内容按照从右到左的排版方式进行显示。2、根据权利要求l所述的方法,其特征在于,在获取到的标签的字符内容进一步包括需要符号时,所述拆分策略进一步包括将标签的字符内容中连续的符号作为一个符号节;所述按照预设的重排序策略对各节进行重排序之前还包括按照设定的属性重置策略,将拆分成的各符号节重置为转换节或非转换节,其中,所述属性重置策略包括将仅与转换节相邻的符号节重置为转换节、将仅与非转换节相邻的符号节重置为非转换节,将同时与转换节和非转换节相邻的符号节重置为转换节或非转换节。3、根据权利要求1或2所述的方法,其特征在于,所述按照重排序后的位置顺序显示各节具体为根据各节所归属标签的样式,按照重排序后的位置顺序显示各节。4、一种浏览器,其特征在于,包括获取模块,用于获取超文本标记语言文档的同一行的全部标签;拆分预排序模块,用于在所述获取模块获取到的标签的字符内容包括需要从右向左排版的文字时,按照预设的拆分策略,将所述获取模块获取到的每个标签的字符内容拆分成一个或多个节,并根据拆分成的各节所归属的标签在行内的位置,对拆分成的各节进行预排序,其中,所述拆分策略包括将标签的字符内容中连续的需要从右向左排版的文字作为一个或多个转换节、将标签的字符内容中连续的需要从左向右排版的文字作为一个或多个非转换节;重排序模块,用于按照预设的重排序策略对所述拆分预排序模块拆分成的各节进行重排序,其中,所述重排序策略包括将多个连续的转换节的位置翻转,其它各节的位置不变;显示模块,用于按照所述重排序模块重排序后的位置顺序显示各节,其中,转换节的内容按照从右到左的排版方式显示。5、根据权利要求4所述的浏览器,其特征在于,在所述获取模块获取到的标签的字符内容进一步包括需要符号时,所述拆分策略进一步包括将标签的字符内容中连续的符号作为一个符号节;所述浏览器还包括属性重置模块,用于按照设定的属性重置策略,将拆分预排序模块拆分成的各符号节重置为转换节或非转换节,其中,所述属性重置策略包括将仅与转换节相邻的符号节重置为转换节、将仅与非转换节相邻的符号节重置为非转换节,将同时与转换节和非转换节相邻的符号节重置为转换节或非转换节。6、根据权利要求4或5所述的浏览器,其特征在于,所述显示模块具体用于,根据各节所归属标签的样式,按照重排序后的位置顺序显示各节,其中,转换节的内容按照从右到左的排版方式显示。全文摘要本发明实施例公开了一种超文本标记语言文档的排版显示方法和浏览器。本发明实施例中,通过将超文本标记语言文档标签的字符内容进行分节,以节为操作单位进行标签的字符内容的排版,能够实现相对快速有效的对超文本标记语言文档进行排版显示。文档编号G06F17/30GK101599056SQ20091015205公开日2009年12月9日申请日期2009年7月28日优先权日2009年7月28日发明者徐佳宏,朱吕亮,程伯钦申请人:深圳市茁壮网络股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1