1.本发明涉及计算机技术领域,特别涉及一种文本标记方法、文本标记装置、文本编辑器及计算设备。
背景技术:2.目前,文本编辑器对全文文本进行颜色标记是以文本段落为选择基础,在选择全文的文本段落之后,再将已选择的所有段落文本进行文本颜色标记。无论文本编辑器打开多大的文本文件,在进行全文文本颜色标记时,都是从文本文件的第一个文本段落开始选择,随后一直选择到文本文件的最后一个文本段落,进而将选择的全部文本段落进行文本颜色标记。
3.根据现有的技术方案,仅适用于对小文本文件进行全文颜色标记。但是,在对大文本文件进行全文颜色标记时,存在一定的弊端,例如,对大于50m的大文本文件进行全文颜色标记,不仅耗时,而且在进行全文文本颜色标记后,会占用较多内存,导致在通过文本编辑器浏览文本时出现卡顿现象,影响用户体验。
4.为此,需要一种文本标记方法来解决上述技术方案中存在的问题。
技术实现要素:5.为此,本发明提供一种文本标记方法、文本标记装置及文本编辑器,以力图解决或者至少缓解上面存在的问题。
6.根据本发明的一个方面,提供了一种文本标记方法,在文本编辑器中执行,所述文本编辑器包括适于显示文本内容的文本视图,所述方法包括步骤:接收全文文本标记请求;选择所述文本视图内显示的文本内容,并对所述文本内容进行标记;检测本文视图内显示的文本内容是否发生变化;以及当文本视图内显示的文本内容发生变化时,选择文本视图内显示的当前文本内容,对所述当前文本内容进行标记。
7.可选地,在根据本发明的文本标记方法中,选择所述文本视图内显示的文本内容的步骤包括:获取所述文本视图内的首段落的起点位置,获取所述文本视图内的末段落的终点位置,基于所述起点位置和所述终点位置,来选择所述文本视图内显示的文本内容。
8.可选地,在根据本发明的文本标记方法中,对文本内容进行标记包括:基于预定颜色对所述文本内容进行颜色标记。
9.可选地,在根据本发明的文本标记方法中,检测本文视图内显示的文本内容是否发生变化的步骤包括:检测文本内容是否滑动,如果是,则确定所述本文视图内显示的文本内容发生变化;检测文本内容是否增加或删除,如果是,则确定所述本文视图内显示的文本内容发生变化;检测文本大小是否缩放,如果是,则确定所述本文视图内显示的文本内容发生变化。
10.可选地,在根据本发明的文本标记方法中,检测本文视图内显示的文本内容是否发生变化的步骤还包括:检测文本编辑器的窗口大小是否发生变化,如果是,则确定所述本
文视图内显示的文本内容发生变化。
11.可选地,在根据本发明的文本标记方法中,检测文本内容是否滑动包括:如果检测到滚动条的位置发生变化、按压键盘方向键的操作或翻页操作,则确定文本内容滑动。
12.可选地,在根据本发明的文本标记方法中,还包括步骤:接收对全文文本标记功能的关闭请求,清除当前文本内容的标记。
13.根据本发明的一个方面,提供了一种文本标记装置,驻留在文本编辑器中,所述文本编辑器包括适于显示文本内容的文本视图,所述装置包括:接收单元,适于接收全文文本标记请求;标记单元,适于选择所述文本视图内显示的文本内容,并对所述文本内容进行标记;以及检测单元,适于检测本文视图内显示的文本内容是否发生变化,以便在文本内容发生变化时,通过所述标记单元选择文本视图内显示的当前文本内容并对所述当前文本内容进行标记。
14.根据本发明的一个方面,提供了一种文本编辑器,包括文本标记装置,所述文本标记装置适于执行如上所述的方法。
15.根据本发明的一个方面,提供了一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如上所述的文本标记方法的指令。
16.根据本发明的一个方面,提供了一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如上所述方法。
17.根据本发明的技术方案,提供了一种文本标记方法,在用户请求对文本文件进行全文文本标记时,通过选择文本视图范围内显示的文本内容并对选择的文本内容进行颜色标记,这样,向用户呈现的便是全文文本颜色标记的效果。并且,当检测到文本视图内显示的文本内容发生变化时,重新选择文本视图内显示的当前文本内容进行颜色标记。这样,根据本发明的技术方案,对于大文本文件而言,不需要选择全部文本内容进行标记,仅选择文本视图范围内的文本内容进行颜色标记,便能实现全文文本颜色标记的效果,从而,针对大文本文件避免了在进行全文文本标记时占用较多内存,也避免了在通过文本编辑器浏览文本时出现卡顿的问题,有利于提升用户体验。
18.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
19.为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
20.图1示出了根据本发明一个实施例的计算设备100的示意图;
21.图2示出了根据本发明一个实施例的文本标记方法200的流程图;
22.图3示出了根据本发明一个实施例的文本显示示意图;以及
23.图4示出了根据本发明一个实施例的文本编辑器400的示意图。
具体实施方式
24.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
25.图1是示例计算设备100的示意框图。
26.如图1所示,在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
27.取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(up)、微控制器(uc)、数字信息处理器(dsp)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(alu)、浮点数单元(fpu)、数字信号处理核心(dsp核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
28.取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如ram)、非易失性存储器(诸如rom、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上由一个或多个处理器104利用程序数据124执行指令。
29.计算设备100还包括储存设备132,储存设备132包括可移除储存器136和不可移除储存器138。
30.计算设备100还可以包括储存接口总线134。储存接口总线134实现了从储存设备132(例如,可移除储存器136和不可移除储存器138)经由总线/接口控制器130到基本配置102的通信。操作系统120、应用122以及数据124的至少一部分可以存储在可移除储存器136和/或不可移除储存器138上,并且在计算设备100上电或者要执行应用122时,经由储存接口总线134而加载到系统存储器106中,并由一个或者多个处理器104来执行。
31.计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个a/v端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个i/o端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
32.网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以是这样的信号,它的数据集中的一个或者
多个或者它的改变可以在信号中以编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(rf)、微波、红外(ir)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
33.计算设备100可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。当然,计算设备100也可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、数码照相机、个人数字助理(pda)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。甚至可以被实现为服务器,如文件服务器、数据库服务器、应用程序服务器和web服务器等。本发明的实施例对此均不做限制。
34.在根据本发明的实施例中,计算设备100被配置为执行根据本发明的文本标记方法200。其中,计算设备100的应用中包含用于执行本发明的文本标记方法200的多条程序指令,这些程序指令可以指示处理器执行本发明的文本标记方法200,以便计算设备100通过执行本发明的文本标记方法200实现对大文本进行颜色标记。
35.根据本发明的一个实施例,布置在计算设备100操作系统上的应用包含文本编辑器400,文本编辑器400中包含用于执行本发明的文本标记方法200的多条程序指令,使得本发明的文本标记方法200可以在文本编辑器400中执行。
36.根据本发明的一个实施例,文本编辑器400中驻留有文本标记装置450,文本标记装置450中包含用于执行本发明的文本标记方法200的多条程序指令,使得本发明的文本标记方法200可以在文本编辑器400的文本标记装置450中执行。
37.图2示出了根据本发明一个实施例的文本标记方法200的流程图。文本标记方法200可以在计算设备(例如前述计算设备100)的文本编辑器400中执行,具体可以在文本编辑器400的文本标记装置450中执行。
38.需要说明的是,文本编辑器400包括适于显示在系统桌面上的窗口,文本编辑器的窗口内包括用于显示文本内容的文本视图,文本视图也即文本编辑器的文本框区域。
39.图3示出了根据本发明一个实施例的文本显示示意图。应当理解,当用户通过文本编辑器打开文本文件后,当文本文件较大、其中包含文本内容较多的情况下,文本文件中的文本内容并不会全部显示在文本编辑器的文本视图内,而是其中一部分文本内容会显示在文本视图内。显示在文本视图内的文本内容是用户当前可以浏览的内容。随着用户的上下浏览操作,未显示在文本视图内的文本内容会进行动态渲染显示。
40.应当指出,根据本发明的文本标记方法200,可以在各种各样的文本编辑器中执行,本发明不限于文本编辑器的具体类型。当文本编辑器打开文本文件时,文本编辑器的文本视图中显示文本文件中的部分文本内容。此时,可以执行本发明的文本标记方法200。
41.如图2所示,文本标记方法200始于步骤s210。
42.在步骤s210中,接收用户对文本编辑器当前打开的文本文件的全文文本标记请求。也即,用户请求浏览全文文本标记效果的文本内容。
43.在一种实现方式中,用户可以通过点击操作来触发使用全文文本标记功能。例如,在文本编辑器的窗口内包含与全文文本标记功能相对应的控件,用户通过点击全文文本标记功能控件可以发送全文文本标记请求,以触发对文本内容的全文文本标记功能。
44.随后,在步骤s220中,响应于用户的全文文本标记请求,选择文本视图的范围内显示的文本内容,并对所选择的文本内容进行标记。具体地,可以基于预定颜色对当前文本内容进行颜色标记。这里,预定颜色可以是预先设置的用于对文本内容进行颜色标记的颜色,本发明对预定颜色不做具体限定。
45.应当指出,在步骤s220中选择的仅是文本视图范围内显示的文本内容,并对选择的文本内容进行颜色标记,并没有选择文本文件中的全部文本内容来对全部文本内容进行颜色标记。
46.可以理解的是,对文本视图范围内显示的文本内容进行颜色标记,向用户呈现的便是全文文本颜色标记后的效果。这样,根据本发明的技术方案,仅选择文本视图范围内显示的文本内容进行颜色标记,便实现了全文文本颜色标记的效果,不需要对大文本文件的全部文本内容进行选择和标记,从而,针对大文本文件避免了在进行全文文本颜色标记时占用较多内存,也避免了在通过文本编辑器浏览文本时出现卡顿的问题,有利于提升用户体验。
47.随后,在步骤s230中,可以实时检测本文视图内显示的文本内容是否发生变化,即,实时检测当前本文视图内显示的文本内容相对于在步骤s220中文本视图内显示的文本内容是否发生变化。
48.最后,在步骤s240中,当检测到文本视图内显示的文本内容发生变化时,选择当前文本视图的范围内显示的当前文本内容(即变化后显示的文本内容),并对所选择的当前文本内容进行标记。具体地,基于预定颜色对当前文本内容进行颜色标记。
49.根据本发明的一个实施例,在选择文本视图范围内显示的文本内容时,首先获取文本视图内的文本内容的首段落的起点位置,随后获取文本视图内的文本内容的末段落的终点位置,进而,基于获取到的起点位置和终点位置,来选择文本视图的范围内显示的文本内容。
50.在本发明的实施例中,具体可以通过以下至少一种方式来检测本文视图内显示的文本内容是否发生变化:
51.通过检测文本内容是否滑动来判断本文视图内显示的文本内容是否发生变化。如果检测到文本内容发生滑动,则可以确定在本文视图范围内显示的文本内容发生变化。进一步地,检测文本内容是否滑动,具体可以通过检测滚动条的位置是否发生变化、是否接收到按压键盘上的方向键(上下方向键)的操作、是否接收到对文本文件的翻页操作来实现。如果检测到滚动条的位置发生变化、按压键盘方向键的操作或翻页操作中的任意一种或多种,可以确定检测到文本内容滑动。这里,翻页操作例如可以实现为用户点击pageup/pagedown翻页键的操作。
52.通过检测文本内容是否增加或删除来判断本文视图内显示的文本内容是否发生变化。如果检测到文本内容增加或删除,则可以确定在本文视图范围内显示的文本内容发生变化。
53.通过检测文本大小是否缩放(即文本字体大小缩小或放大)来判断本文视图内显示的文本内容是否发生变化。如果检测到文本大小进行了缩放,则可以确定在本文视图范围内显示的文本内容发生变化。这里,应当理解,如果文本字体统一进行了缩小,在文本视图内显示的文本内容会相应增多;如果文本字体统一进行了放大,在文本视图内显示的文
本内容会相应减少。因此,当检测到文本大小进行了缩放的情况下,可以确定本文视图内显示的文本内容发生变化。
54.另外,还可以通过检测文本编辑器的窗口大小是否发生变化,来判断本文视图内显示的文本内容是否发生变化。这里,如果文本编辑器的窗口大小发生变化,说明文本视图的显示范围发生变化,从而可以确定在本文视图的范围内显示的文本内容发生了变化。
55.根据本发明的方法200,用户还可以关闭全文文本标记功能,例如用户可以再次点击全文文本标记功能控件来发送全文文本标记功能的关闭请求,以触发关闭全文文本标记功能。文本编辑器400在接收到用户对全文文本标记功能的关闭请求时,可以清除当前文本内容的标记,即,对当前文本内容的颜色标记效果进行清除,并停止对本文视图内显示的文本内容的变化进行检测。
56.图4示出了根据本发明的一个实施例的文本编辑器400的示意图。文本编辑器400驻留在计算设备(例如前述计算设备100)中。如图4所示,文本编辑器400中包括文本标记装置450。
57.需要说明的是,文本编辑器400包括适于显示在系统桌面上的窗口,文本编辑器的窗口内包括用于显示文本内容的文本视图,文本视图也即文本编辑器的文本框区域。应当理解,当用户通过文本编辑器打开文本文件后,当文本文件较大、其中包含文本内容较多的情况下,文本文件中的文本内容并不会全部显示在文本编辑器的文本视图内,而是其中一部分文本内容会显示在文本视图内。显示在文本视图内的文本内容是用户当前可以浏览的内容。
58.如图4所示,文本标记装置450包括依次相连的接收单元451、标记单元452、检测单元453。其中,接收单元451可以接收全文文本标记请求。标记单元452可以选择文本视图内显示的文本内容,并对文本内容进行标记。检测单元453实时检测本文视图内显示的文本内容是否发生变化,在检测到文本内容发生变化时,通过标记单元452选择文本视图内显示的当前文本内容并对当前文本内容进行标记。
59.应当指出,接收单元451用于执行前述步骤s210,标记单元452用于执行前述步骤s220和s240,检测单元453用于执行前述步骤s230。这里,接收单元451、标记单元452、检测单元453的具体执行逻辑参见前文方法200中对步骤s210~s240的描述,此处不再赘述。
60.根据本发明的文本标记方案,在用户请求全文文本标记时,通过选择文本视图范围内显示的文本内容并对选择的文本内容进行颜色标记,这样,向用户呈现的便是全文文本颜色标记的效果。并且,当检测到文本视图内显示的文本内容发生变化时,重新选择文本视图内显示的当前文本内容进行颜色标记。这样,根据本发明的技术方案,对于大文本文件而言,不需要选择全部文本内容进行标记,仅选择文本视图范围内的文本内容进行颜色标记,便能实现全文文本颜色标记的效果,从而,针对大文本文件避免了在进行全文文本标记时占用较多内存,也避免了在通过文本编辑器浏览文本时出现卡顿的问题,有利于提升用户体验。
61.a7、如a1-a6中任一项所述的方法,其中,还包括步骤:接收对全文文本标记功能的关闭请求,清除当前文本内容的标记。
62.这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可
移动硬盘、u盘、软盘、cd-rom或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
63.在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的文本标记方法。
64.以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
65.在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
66.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
67.类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
68.本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
69.本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
70.此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例
中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
71.此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
72.如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
73.尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。