CN103472998B - 一种选取文字的方法、装置和终端设备 - Google Patents
一种选取文字的方法、装置和终端设备 Download PDFInfo
- Publication number
- CN103472998B CN103472998B CN201310452543.2A CN201310452543A CN103472998B CN 103472998 B CN103472998 B CN 103472998B CN 201310452543 A CN201310452543 A CN 201310452543A CN 103472998 B CN103472998 B CN 103472998B
- Authority
- CN
- China
- Prior art keywords
- contact
- node
- text
- text node
- searching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Input From Keyboards Or The Like (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种选取文字的方法、装置和终端设备。其中,方法包括以下步骤:检测选取文字的触屏操作的触点是否落在文本节点中;当所述触点未落在文本节点中时,搜索距离所述触点最近的文本节点;将搜索到的文本节点中距离所述触点最近的文字作为所述触点选取的文字。本公开中,当选取文字的触屏操作的触点未落在文本节点中时,将距离触点最近的文本节点中距离触点最近的文字作为触点选取的文字,这样就实现了在触点未落在文字上时,也能提供该触屏操作所选取的文字,避免了用户反复进行选取,为用户提供了便利。
Description
技术领域
本公开涉计算机技术领域,更具体地,涉及一种选取文字的方法、装置和终端设备。
背景技术
随着移动终端技术的不断发展,智能手机、平板电脑等移动设备在人们的日常生活中越来越普及。目前,绝大部分移动终端都配备触摸屏,用户通过在触摸屏上执行各种手势来对移动终端进行操作。
例如,用户在移动终端上浏览网页时,可能会遇到一些比较好的文章或者是句子、短语需要复制,这时,就可以通过触摸手势来选择相应位置的文字。常见的选取文字的触摸手势例如为长按手势、双击手势或单击手势。
但是,当触屏上显示的文字太小或用户无法精准控制手势的触点时,这种选取文字的方法可能使得用户无法准确地使用触摸手势来选取文字。例如,当触屏上显示的文字太小时,用户的长按操作的触点很有可能落在两行文字之间或者是其他空白区域。这时,移动终端就因为用户的触点未落在文字上而无法为用户选取文字。
发明内容
有鉴于此,本公开的目的是提出一种选取文字的方法,能够根据用户的触摸手势精准地选取文字。
为了达到上述目的,本公开提出一种选取文字的方法,所述方法包括以下步骤:
检测选取文字的触屏操作的触点是否落在文本节点中,其中,所述文本节点为可见文本节点;
当所述触点未落在文本节点中时,搜索距离所述触点最近的文本节点;
将搜索到的文本节点中距离所述触点最近的文字作为所述触点选取的文字;
其中,所述搜索距离所述触点最近的文本节点,包括:
从所述触点所在的节点开始,逐级查找是否存在文本节点,直到查找到文本节点;计算所述触点与查找到的各个文本节点之间的距离;将计算出的距离最小的文本节点确定为搜索到的距离所述触点最近的文本节点;其中,所述从所述触点所在的节点开始,逐级查找是否存在文本节点,直到查找到文本节点,包括:在所述触点所在的节点中查找是否存在文本节点;当在所述触点所在的节点中未查找到文本节点时,在所述触点所在的节点的兄弟节点中查找是否存在文本节点;当在所述触点所在的节点的兄弟节点中未查找到文本节点时,在所述触点所在的节点的父节点的兄弟节点中查找是否存在文本节点;当在所述触点所在的节点的父节点的兄弟节点中未查找到文本节点时,将所述触点所在的节点的父节点作为所述触点所在的节点后,重复执行所述在所述触点所在的节点的父节点的兄弟节点中查找是否存在文本节点的步骤,直到查找到文本节点。
本公开中,当选取文字的触屏操作的触点未落在文本节点中时,将距离触点最近的文本节点中距离触点最近的文字作为触点选取的文字,这样就实现了在触点未落在文字上时,也能提供该触屏操作所选取的文字,避免了用户反复进行选取,为用户提供了便利。
作为上述技术方案的优选,所述方法还包括:判断所述触点所在的节点是否为主体节点;若所述触点所在的节点为主体节点,则停止查找文本节点。
作为上述技术方案的优选,所述计算所述触点与查找到的文本节点之间的距离,包括:
根据所述触点的坐标和所述查找到的文本节点的坐标,确定所述触点处于所述查找到的文本节点周围的区域;
根据所述触点处于所述查找到的文本节点周围的区域,计算所述触点与所述查找到的文本节点之间的距离。可以提高查找的效率。
作为上述技术方案的优选,所述查找到的文本节点周围的区域包括所述查找到的文本节点的上侧区域、下侧区域、左侧区域、右侧区域、左上区域、右上区域、左下区域和右下区域;
所述根据所述触点处于所述查找到的文本节点周围的区域,计算所述触点与所述查找到的文本节点之间的距离,包括:
触点的坐标为(m,n),查找到的文本节点的左下顶点的坐标为(x1,y1),左上顶点的坐标为(x1,y2),右上顶点的坐标为(x2,y2),右下顶点的坐标为(x2,y1)时,
当触点处于文本节点的左上区域时,触点与文本节点的距离为
当触点处于文本节点的左侧区域时,触点与文本节点的距离为|x1-m|;
当触点处于文本节点的左下区域时,触点与文本节点的距离为
当触点处于文本节点的下侧区域时,触点与文本节点的距离为|y1-n|;
当触点处于文本节点的右下区域时,触点与文本节点的距离为
当触点处于文本节点的右侧区域时,触点与文本节点的距离为|m-x2|;
当触点处于文本节点的右上区域时,触点与文本节点的距离为
当触点处于文本节点的上侧区域时,触点与文本节点的距离为|n-y2|。
作为上述技术方案的优选,所述将搜索到的文本节点中距离所述触点最近的文字作为所述触点选取的文字,包括:
根据所述触点处于搜索到的文本节点周围的区域,确定搜索到的文本节点中距离所述触点最近的文字位置;
将处于该文字位置的文字确定为所述触点选取的文字。
作为上述技术方案的优选,所述根据所述触点处于搜索到的文本节点周围的区域,确定搜索到的文本节点中距离所述触点最近的文字位置,包括:
触点的坐标为(m,n),搜索到的文本节点的左下顶点的坐标为(x1,y1),左上顶点的坐标为(x1,y2),右上顶点的坐标为(x2,y2),右下顶点的坐标为(x2,y1),字符宽度为w,字符高度为h;
当触点处于搜索到的文本节点的左上区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:
当触点处于搜索到的文本节点的左侧区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:n;
当触点处于搜索到的文本节点的左下区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:
当触点处于搜索到的文本节点的下侧区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:m;纵坐标为:
当触点处于搜索到的文本节点的右下区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:
当触点处于搜索到的文本节点的右侧区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标坐标为纵坐标为:n;
当触点处于搜索到的文本节点的右上区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:
当触点处于搜索到的文本节点的上侧区域时,搜索到的文本节点中距离触点最近的文字位置的横坐标为:m;纵坐标为:
本公开还提出一种选取文字的装置,所述装置包括:
检测模块,用于检测选取文字的触屏操作的触点是否落在文本节点中,其中,所述文本节点为可见文本节点;
搜索模块,当所述触点未落在文本节点中时,搜索距离所述触点最近的文本节点;
选取模块,用于将搜索到的文本节点中距离所述触点最近的文字作为所述触点选取的文字;
其中,所述搜索模块包括:
查找单元,用于从所述触点所在的节点开始,逐级查找是否存在文本节点,直到查找到文本节点;
计算单元,用于计算所述触点与查找到的各个文本节点之间的距离;
确定单元,用于将计算出的距离最小的文本节点确定为搜索到的距离所述触点最近的文本节点;
其中,所述查找单元用于:在所述触点所在的节点中查找是否存在文本节点;当在所述触点所在的节点中未查找到文本节点时,在所述触点所在的节点的兄弟节点中查找是否存在文本节点;当在所述触点所在的节点的兄弟节点中未查找到文本节点时,在所述触点所在的节点的父节点的兄弟节点中查找是否存在文本节点;当在所述触点所在的节点的父节点的兄弟节点中未查找到文本节点时,将所述触点所在的节点的父节点作为所述触点所在的节点后,重复执行所述在所述触点所在的节点的父节点的兄弟节点中查找是否存在文本节点的步骤,直到查找到文本节点。
作为上述技术方案的优选,所述搜索模块还包括:判断单元,用于判断所述触点所在的节点是否为主体节点;若所述触点所在的节点为主体节点,则停止查找文本节点。
作为上述技术方案的优选,所述计算单元包括:
确定区域子单元,用于根据所述触点的坐标和所述查找到的文本节点的坐标,确定所述触点处于所述查找到的文本节点周围的区域;
计算子单元,用于根据所述触点处于所述查找到的文本节点周围的区域,计算所述触点与所述查找到的文本节点之间的距离。
作为上述技术方案的优选,所述查找到的文本节点周围的区域包括所述查找到的文本节点的上侧区域、下侧区域、左侧区域、右侧区域、左上区域、右上区域、左下区域和右下区域;所述计算子单元用于:
触点的坐标为(m,n),查找到的文本节点的左下顶点的坐标为(x1,y1),左上顶点的坐标为(x1,y2),右上顶点的坐标为(x2,y2),右下顶点的坐标为(x2,y1)时,
当触点处于文本节点的左上区域时,触点与文本节点的距离为
当触点处于文本节点的左侧区域时,触点与文本节点的距离为|x1-m|;
当触点处于文本节点的左下区域时,触点与文本节点的距离为
当触点处于文本节点的下侧区域时,触点与文本节点的距离为|y1-n|;
当触点处于文本节点的右下区域时,触点与文本节点的距离为
当触点处于文本节点的右侧区域时,触点与文本节点的距离为|m-x2|;
当触点处于文本节点的右上区域时,触点与文本节点的距离为
当触点处于文本节点的上侧区域时,触点与文本节点的距离为|n-y2|。
作为上述技术方案的优选,所述选取模块包括:
确定文字位置单元,用于根据所述触点处于搜索到的文本节点周围的区域,确定搜索到的文本节点中距离所述触点最近的文字位置;
选取单元,用于将处于该文字位置的文字确定为所述触点选取的文字。
作为上述技术方案的优选,所述确定文字位置单元用于:
触点的坐标为(m,n),搜索到的文本节点的左下顶点的坐标为(x1,y1),左上顶点的坐标为(x1,y2),右上顶点的坐标为(x2,y2),右下顶点的坐标为(x2,y1),字符宽度为w,字符高度为h;
当触点处于搜索到的文本节点的左上区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:
当触点处于搜索到的文本节点的左侧区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:n;
当触点处于搜索到的文本节点的左下区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:
当触点处于搜索到的文本节点的下侧区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:m;纵坐标为:
当触点处于搜索到的文本节点的右下区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:
当触点处于搜索到的文本节点的右侧区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标坐标为纵坐标为:n;
当触点处于搜索到的文本节点的右上区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:
当触点处于搜索到的文本节点的上侧区域时,搜索到的文本节点中距离触点最近的文字位置的横坐标为:m;纵坐标为:
本公开还提出一种终端设备,所述终端设备包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
检测选取文字的触屏操作的触点是否落在文本节点中,其中,所述文本节点为可见文本节点;
当所述触点未落在文本节点中时,搜索距离所述触点最近的文本节点;
将搜索到的文本节点中距离所述触点最近的文字作为所述触点选取的文字;
其中,所述搜索距离所述触点最近的文本节点,包括:
从所述触点所在的节点开始,逐级查找是否存在文本节点,直到查找到文本节点;计算所述触点与查找到的各个文本节点之间的距离;将计算出的距离最小的文本节点确定为搜索到的距离所述触点最近的文本节点;其中,所述从所述触点所在的节点开始,逐级查找是否存在文本节点,直到查找到文本节点,包括:在所述触点所在的节点中查找是否存在文本节点;当在所述触点所在的节点中未查找到文本节点时,在所述触点所在的节点的兄弟节点中查找是否存在文本节点;当在所述触点所在的节点的兄弟节点中未查找到文本节点时,在所述触点所在的节点的父节点的兄弟节点中查找是否存在文本节点;当在所述触点所在的节点的父节点的兄弟节点中未查找到文本节点时,将所述触点所在的节点的父节点作为所述触点所在的节点后,重复执行所述在所述触点所在的节点的父节点的兄弟节点中查找是否存在文本节点的步骤,直到查找到文本节点。
本公开的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。在附图中:
图1是本公开中选取文字的主要方法流程图;
图2是本公开中通过逐级查找文本节点来选取文字的详细方法流程图;
图3是本公开中逐级查找文本节点的示意图;
图4是本公开中文本节点周围的区域划分的示意图;
图5是本公开中在直角坐标系中表示的文本节点周围的区域划分的示意图;
图6是本公开中从文本节点中选取文字的示意图;
图7是本公开中选取文字的装置的主要结构示意图;
图8是本公开中选取文字的装置中的搜索模块的结构示意图;
图9是本公开中选取文字的装置中的搜索模块的另一示例的结构示意图;
图10是本公开中选取文字的装置中的搜索模块的计算单元的结构示意图;
图11是本公开中选取文字的装置中的选取模块的结构示意图;
图12是本公开中提出的终端设备的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本公开做进一步详细说明。在此,本公开的示意性实施方式及其说明用于解释本公开,但并不作为对本公开的限定。
本公开提出的选取文字的方法主要用于提供文字选择的触摸终端实现。参见图1,在一个实施例中,本公开中选取文字的方法流程如下:
步骤S101:检测选取文字的触屏操作的触点是否落在文本节点中。
步骤S102:当所述触点未落在文本节点中时,搜索距离所述触点最近的文本节点。
步骤S103:将搜索到的文本节点中距离所述触点最近的文字作为所述触点选取的文字。
其中,所述文本节点为可见文本节点。
本公开中,当选取文字的触屏操作的触点未落在文本节点中时,将距离触点最近的文本节点中距离触点最近的文字作为触点选取的文字,这样就实现了在触点未落在文字上时,也能提供该触屏操作所选取的文字,避免了用户反复进行选取,为用户提供了便利。
本公开中提出的选取文字的方法,在搜索距离所述触点最近的文本节点时,可以从所述触点所在的节点开始,逐级查找是否存在文本节点,直到查找到文本节点;然后计算所述触点与查找到的文本节点之间的距离;将计算出的距离最小的文本节点确定为搜索到的距离所述触点最近的文本节点。按照节点的级别进行逐级查找,可以提高搜索效率。另外,还可以进一步地对级别进行限制,这样可以根据获取查找速度和查找程度之间的平衡。
参见图2,以从触点所在的节点开始,到触点所在的节点的兄弟节点,到触点所在的节点的父节点的兄弟节点为例来逐级查找文本节点,从而得到触点选取的文字。具体地,详细方法流程如下:
步骤S201:接收用户选取文字的触屏操作。
步骤S202:确定所述触屏操作的触点。
步骤S203:检测该触点是否落在文本节点中;若是,执行步骤S204;若否,执行步骤S205。
步骤S204:将文本节点中的该触点所在位置的文字作为该触点选取的文字。
步骤S205:在该触点所在的节点中查找是否存在文本节点;若是,执行步骤S209;若否,执行步骤S206。
步骤S206:在该触点所在的节点的兄弟节点中查找是否存在文本节点;若是,执行步骤S209;若否,执行步骤S207。
步骤S207:在该触点所在的节点的父节点的兄弟节点中查找是否存在文本节点;若是,执行步骤S209;若否,执行步骤S208。
步骤S208:将该触点所在的节点的父节点作为所述触点所在的节点后,执行步骤S207。
步骤S209:计算该触点与查找到的文本节点之间的距离。
步骤S210:将计算出的距离最小的文本节点确定为搜索到的距离该触点最近的文本节点。
步骤S211:将搜索到的文本节点中距离所述触点最近的文字作为所述触点选取的文字。
在执行查找步骤205、206、207之前,还可以先判断当前节点是否为主体节点(Body节点),当当前节点为主体节点时,则停止查找。
该实施例在查找文本节点时,能够实现穷尽的查找。例如如图3所示为界面中,触点301未落在文本节点中时,在该触点所在的节点302中查找是否存在文本节点,若节点302中的节点303和304均非文本节点时,在节点302的兄弟节点305中查找是否存在文本节点;若节点305中也不存在文本节点时,则在节点302的父节点306的兄弟节点307和308中查找是否存在文本节点;若节点307和308中还是不存在文本节点时,将该触点所在的节点302的父节点306作为所述触点所在的节点后,在节点306的父节点309的兄弟节点310和311中查找是否存在文本节点。
在上述实施例的步骤S209中,可以先根据触点的坐标和查找到的文本节点的坐标,确定触点处于查找到的文本节点周围的区域,然后根据触点处于查找到的文本节点周围的区域来计算所述触点与所述查找到的文本节点之间的距离。由于根据触点所处区域的不同,可以采用不同的计算距离的方法,可以提高计算效率。以下,将举例说明如何根据触点所处的文本节点周围的区域来计算触点与文本节点的距离。
网页中的节点都是占据一个矩形区域,根据触点的坐标以及节点的各个顶点的坐标,就可确定触点位于节点的哪个区域。如图4所示,在本示例中,将矩形的文本节点周围的区域分成8个区域,分别为:左上区域401、左侧区域402、左下区域403、下侧区域404、右下区域405、右侧区域406、右上区域407和上侧区域408。根据文本节点的四个顶点的坐标和触点的坐标,确定触点处于上述8个区域中的哪个区域。
例如,以图5所示的坐标系为例,在该坐标系中,矩形的文本节点的四个顶点的坐标分别为A(x1,y1),B(x1,y2),C(x2,y2),D(x2,y1)。触点P的坐标为P(m,n)。通过比较触点的坐标和矩形区域的坐标来确定触点位于哪个区域中,然后根据不同的区域选择不同的算法来计算触点到文本节点的距离。具体地:
当m<x1,n<y2时,触点P处于文本节点的左上区域401,此时,触点P与文本节点的距离S为
当m<x1,y2≤n≤y1时,触点P处于文本节点的左侧区域402,此时,触点P与文本节点的距离S为|x1-m|;
当m<x1,n>y1时,触点P处于文本节点的左下区域403,此时,触点P与文本节点的距离S为
当x1≤m≤x2,n>y1时,触点P处于文本节点的下侧区域404,此时,触点P与文本节点的距离S为|y1-n|;
当m>x2,n>y1时,触点P处于文本节点的右下区域405,此时,触点P与文本节点的距离S为
当m>x2,y2≤n≤y1时,触点P处于文本节点的右侧区域406,此时,触点P与文本节点的距离S为|m-x2|;
当m>x2,n<y2时,触点P处于文本节点的右上区域407,此时,触点P与文本节点的距离S为
当x1≤m≤x2,n<y2时,触点P处于文本节点的上侧区域408,此时,触点P与文本节点的距离S为|n-y2|。
在上述实施例的步骤S211中,也可以先根据触点的坐标和搜索到的文本节点的坐标,确定触点处于搜索到的文本节点周围的区域,然后根据触点处于搜索到的文本节点周围的区域来确定搜索到的文本节点中距离所述触点最近的文字位置。
其中,确定触点处于搜索到的文本节点周围的区域可以使用上述确定触点所处区域的方法,在此不在赘述。以图5所示的区域划分为例:
当触点处于搜索到的文本节点的左上区域401时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:如图6所示的E点。
当触点处于搜索到的文本节点的左侧区域402时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:n;
当触点处于搜索到的文本节点的左下区域403时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:
当触点处于搜索到的文本节点的下侧区域404时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:m;纵坐标为:
当触点处于搜索到的文本节点的右下区域405时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:
当触点处于搜索到的文本节点的右侧区域406时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标坐标为纵坐标为:n;
当触点处于搜索到的文本节点的右上区域407时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:
当触点处于搜索到的文本节点的上侧区域408时,搜索到的文本节点中距离触点最近的文字位置的横坐标为:m;纵坐标为:
其中,w为字符宽度,h为字符高度。采用上述确定文字位置的方法,由于考虑了终端在显示文本节点时的字符高度和字符宽度,因此,可以保证该位置上显示有文字,从而能够提供触点选取的文字。
应当注意的是,本公开中所举的上述关于坐标的示例,仅用于举例说明,并非是对本公开的限制。本领域技术人员可以根据上述实施例的基本思想进行变动,例如,可以使用其他坐标系,或者改变坐标轴的方向等等。
相应的,如图7所示,本公开还提出一种选取文字的装置,所述装置包括:
检测模块701,用于检测选取文字的触屏操作的触点是否落在文本节点中;
搜索模块702,当所述触点未落在文本节点中时,搜索距离所述触点最近的文本节点;
选取模块703,用于将搜索到的文本节点中距离所述触点最近的文字作为所述触点选取的文字。
如图8所示,所述搜索模块702包括:
查找单元801,用于从所述触点所在的节点开始,逐级查找是否存在文本节点,直到查找到文本节点;
计算单元802,用于计算所述触点与查找到的各个文本节点之间的距离;
确定单元803,用于将计算出的距离最小的文本节点确定为搜索到的距离所述触点最近的文本节点。
所述查找单元801用于:
在所述触点所在的节点中查找是否存在文本节点;
当在所述触点所在的节点中未查找到文本节点时,在所述触点所在的节点的兄弟节点中查找是否存在文本节点;
当在所述触点所在的节点的兄弟节点中未查找到文本节点时,在所述触点所在的节点的父节点的兄弟节点中查找是否存在文本节点;
当在所述触点所在的节点的父节点的兄弟节点中未查找到文本节点时,将所述触点所在的节点的父节点作为所述触点所在的节点后,重复执行所述在所述触点所在的节点的父节点的兄弟节点中查找是否存在文本节点的步骤,直到查找到文本节点。
如图9所示,所述搜索模块702还包括:
判断单元804,用于用于判断所述触点所在的节点是否为主体节点;若所述触点所在的节点为主体节点,则停止查找文本节点。
如图10所示,所述计算单元802包括:
确定区域子单元1001,用于根据所述触点的坐标和所述查找到的文本节点的坐标,确定所述触点处于所述查找到的文本节点周围的区域;
计算子单元1002,用于根据所述触点处于所述查找到的文本节点周围的区域,计算所述触点与所述查找到的文本节点之间的距离。
所述查找到的文本节点周围的区域包括所述查找到的文本节点的上侧区域、下侧区域、左侧区域、右侧区域、左上区域、右上区域、左下区域和右下区域;所述计算子单元1002用于:
触点的坐标为(m,n),查找到的文本节点的左下顶点的坐标为(x1,y1),左上顶点的坐标为(x1,y2),右上顶点的坐标为(x2,y2),右下顶点的坐标为(x2,y1)时,
当触点处于文本节点的左上区域时,触点与文本节点的距离为
当触点处于文本节点的左侧区域时,触点与文本节点的距离为|x1-m|;
当触点处于文本节点的左下区域时,触点与文本节点的距离为
当触点处于文本节点的下侧区域时,触点与文本节点的距离为|y1-n|;
当触点处于文本节点的右下区域时,触点与文本节点的距离为
当触点处于文本节点的右侧区域时,触点与文本节点的距离为|m-x2|;
当触点处于文本节点的右上区域时,触点与文本节点的距离为
当触点处于文本节点的上侧区域时,触点与文本节点的距离为|n-y2|。
如图11所示,所述选取模块703包括:
确定文字位置单元1101,用于根据所述触点处于搜索到的文本节点周围的区域,确定搜索到的文本节点中距离所述触点最近的文字位置;
选取单元1102,用于将处于该文字位置的文字确定为所述触点选取的文字。
所述确定文字位置单元1101用于:
触点的坐标为(m,n),搜索到的文本节点的左下顶点的坐标为(x1,y1),左上顶点的坐标为(x1,y2),右上顶点的坐标为(x2,y2),右下顶点的坐标为(x2,y1),字符宽度为w,字符高度为h;
当触点处于搜索到的文本节点的左上区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:
当触点处于搜索到的文本节点的左侧区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:n;
当触点处于搜索到的文本节点的左下区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:
当触点处于搜索到的文本节点的下侧区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:m;纵坐标为:
当触点处于搜索到的文本节点的右下区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:
当触点处于搜索到的文本节点的右侧区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标坐标为纵坐标为:n;
当触点处于搜索到的文本节点的右上区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:
当触点处于搜索到的文本节点的上侧区域时,搜索到的文本节点中距离触点最近的文字位置的横坐标为:m;纵坐标为:
优选的,所述文本节点为可见文本节点。
本公开还提出一种终端设备,图12是本公开提供的一种终端设备结构示意图。参见图12,该终端设备可以用于实施上述实施例中提供的选取文字的方法。
终端设备1100可以包括通信单元110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi(wirelessfidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图12中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
通信单元110可用于收发信息或通话过程中,信号的接收和发送,该通信单元110可以为RF(Radio Frequency,射频)电路、路由器、调制解调器、等网络通信设备。特别地,当通信单元110为RF电路时,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,作为通信单元的RF电路包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,通信单元110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(GeneralPacket Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、LTE(LongTerm Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端设备1100的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端设备1100的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid CrystalDisplay,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图12中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
终端设备1100还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端设备1100移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端设备1100还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端设备1100之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端设备,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端设备1100的通信。
为了实现无线通信,该终端设备上可以配置有无线通信单元170,该无线通信单元170可以为WiFi模块。WiFi属于短距离无线传输技术,终端设备700通过无线通信单元170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图12示出了无线通信单元170,但是可以理解的是,其并不属于终端设备1100的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端设备1100的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端设备1100的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端设备1100还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端设备1100还可以包括摄像头、蓝牙模块等,在此不再赘述。在本实施例中,终端设备的显示单元是触摸屏显示器,终端设备还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
检测选取文字的触屏操作的触点是否落在文本节点中;
当所述触点未落在文本节点中时,搜索距离所述触点最近的文本节点;
将搜索到的文本节点中距离所述触点最近的文字作为所述触点选取的文字。
此外,典型地,本公开所述的移动终端可为各种手持终端设备,例如手机、个人数字助理(PDA)等,因此本公开的保护范围不应限定为某种特定类型的移动终端。
此外,根据本公开的方法还可以被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本公开的方法中限定的上述功能。
此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储设备实现。
此外,应该明白的是,本文所述的计算机可读存储设备(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)以及直接RambusRAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现所述的功能,但是这种实现决定不应被解释为导致脱离本公开的范围。
结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里所述功能的下列部件来实现或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP核、或任何其它这种配置。
结合这里的公开所描述的方法或算法的步骤可以直接包含在硬件中、由处理器执行的软件模块中或这两者的组合中。软件模块可以驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域已知的任何其它形式的存储介质中。示例性的存储介质被耦合到处理器,使得处理器能够从该存储介质中读取信息或向该存储介质写入信息。在一个替换方案中,所述存储介质可以与处理器集成在一起。处理器和存储介质可以驻留在ASIC中。ASIC可以驻留在用户终端中。在一个替换方案中,处理器和存储介质可以作为分立组件驻留在用户终端中。
在一个或多个示例性设计中,所述功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将所述功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括有助于将计算机程序从一个位置传送到另一个位置的任何介质。存储介质可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储设备、磁盘存储设备或其它磁性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路(DSL)或诸如红外线、无线电和微波的无线技术来从网站、服务器或其它远程源发送软件,则上述同轴线缆、光纤线缆、双绞线、DSL或诸如红外先、无线电和微波的无线技术均包括在介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上述内容的组合也应当包括在计算机可读介质的范围内。
尽管前面公开的内容示出了本公开的示例性实施例,但是应当注意,在不背离权利要求限定的本公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本公开的元素可以以个体形式描述或要求,但是也可以设想多个,除非明确限制为单数。
以上所述的具体实施方式,对本公开的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本公开的具体实施方式而已,并不用于限定本公开的保护范围,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (13)
1.一种选取文字的方法,其特征在于,所述方法包括:
检测选取文字的触屏操作的触点是否落在文本节点中,其中,所述文本节点为可见文本节点;
当所述触点未落在文本节点中时,搜索距离所述触点最近的文本节点;
将搜索到的文本节点中距离所述触点最近的文字作为所述触点选取的文字;
其中,所述搜索距离所述触点最近的文本节点,包括:
从所述触点所在的节点开始,逐级查找是否存在文本节点,直到查找到文本节点;
计算所述触点与查找到的各个文本节点之间的距离;
将计算出的距离最小的文本节点确定为搜索到的距离所述触点最近的文本节点;
其中,所述从所述触点所在的节点开始,逐级查找是否存在文本节点,直到查找到文本节点,包括:
在所述触点所在的节点中查找是否存在文本节点;
当在所述触点所在的节点中未查找到文本节点时,在所述触点所在的节点的兄弟节点中查找是否存在文本节点;
当在所述触点所在的节点的兄弟节点中未查找到文本节点时,在所述触点所在的节点的父节点的兄弟节点中查找是否存在文本节点;
当在所述触点所在的节点的父节点的兄弟节点中未查找到文本节点时,将所述触点所在的节点的父节点作为所述触点所在的节点后,重复执行所述在所述触点所在的节点的父节点的兄弟节点中查找是否存在文本节点的步骤,直到查找到文本节点。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:判断所述触点所在的节点是否为主体节点;若所述触点所在的节点为主体节点,则停止查找文本节点。
3.根据权利要求1所述的方法,其特征在于,所述计算所述触点与查找到的文本节点之间的距离,包括:
根据所述触点的坐标和所述查找到的文本节点的坐标,确定所述触点处于所述查找到的文本节点周围的区域;
根据所述触点处于所述查找到的文本节点周围的区域,计算所述触点与所述查找到的文本节点之间的距离。
4.根据权利要求3所述的方法,其特征在于,所述查找到的文本节点周围的区域包括所述查找到的文本节点的上侧区域、下侧区域、左侧区域、右侧区域、左上区域、右上区域、左下区域和右下区域;
所述根据所述触点处于所述查找到的文本节点周围的区域,计算所述触点与所述查找到的文本节点之间的距离,包括:
触点的坐标为(m,n),查找到的文本节点的左下顶点的坐标为(x1,y1),左上顶点的坐标为(x1,y2),右上顶点的坐标为(x2,y2),右下顶点的坐标为(x2,y1)时,
当触点处于文本节点的左上区域时,触点与文本节点的距离为
当触点处于文本节点的左侧区域时,触点与文本节点的距离为|x1-m|;
当触点处于文本节点的左下区域时,触点与文本节点的距离为
当触点处于文本节点的下侧区域时,触点与文本节点的距离为|y1-n|;
当触点处于文本节点的右下区域时,触点与文本节点的距离为
当触点处于文本节点的右侧区域时,触点与文本节点的距离为|m-x2|;
当触点处于文本节点的右上区域时,触点与文本节点的距离为
当触点处于文本节点的上侧区域时,触点与文本节点的距离为|n-y2|。
5.根据权利要求1所述的方法,其特征在于,所述将搜索到的文本节点中距离所述触点最近的文字作为所述触点选取的文字,包括:
根据所述触点处于搜索到的文本节点周围的区域,确定搜索到的文本节点中距离所述触点最近的文字位置;
将处于该文字位置的文字确定为所述触点选取的文字。
6.根据权利要求5所述的方法,其特征在于,所述根据所述触点处于搜索到的文本节点周围的区域,确定搜索到的文本节点中距离所述触点最近的文字位置,包括:
触点的坐标为(m,n),搜索到的文本节点的左下顶点的坐标为(x1,y1),左上顶点的坐标为(x1,y2),右上顶点的坐标为(x2,y2),右下顶点的坐标为(x2,y1),字符宽度为w,字符高度为h;
当触点处于搜索到的文本节点的左上区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:
当触点处于搜索到的文本节点的左侧区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:n;
当触点处于搜索到的文本节点的左下区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:
当触点处于搜索到的文本节点的下侧区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:m;纵坐标为:
当触点处于搜索到的文本节点的右下区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:
当触点处于搜索到的文本节点的右侧区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标坐标为纵坐标为:n;
当触点处于搜索到的文本节点的右上区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:
当触点处于搜索到的文本节点的上侧区域时,搜索到的文本节点中距离触点最近的文字位置的横坐标为:m;纵坐标为:
7.一种选取文字的装置,其特征在于,所述装置包括:
检测模块,用于检测选取文字的触屏操作的触点是否落在文本节点中,其中,所述文本节点为可见文本节点;
搜索模块,当所述触点未落在文本节点中时,搜索距离所述触点最近的文本节点;
选取模块,用于将搜索到的文本节点中距离所述触点最近的文字作为所述触点选取的文字;
其中,所述搜索模块包括:
查找单元,用于从所述触点所在的节点开始,逐级查找是否存在文本节点,直到查找到文本节点;
计算单元,用于计算所述触点与查找到的各个文本节点之间的距离;
确定单元,用于将计算出的距离最小的文本节点确定为搜索到的距离所述触点最近的文本节点;
其中,所述查找单元用于:
在所述触点所在的节点中查找是否存在文本节点;
当在所述触点所在的节点中未查找到文本节点时,在所述触点所在的节点的兄弟节点中查找是否存在文本节点;
当在所述触点所在的节点的兄弟节点中未查找到文本节点时,在所述触点所在的节点的父节点的兄弟节点中查找是否存在文本节点;
当在所述触点所在的节点的父节点的兄弟节点中未查找到文本节点时,将所述触点所在的节点的父节点作为所述触点所在的节点后,重复执行所述在所述触点所在的节点的父节点的兄弟节点中查找是否存在文本节点的步骤,直到查找到文本节点。
8.根据权利要求7所述的装置,其特征在于,所述搜索模块还包括:判断单元,用于判断所述触点所在的节点是否为主体节点;若所述触点所在的节点为主体节点,则停止查找文本节点。
9.根据权利要求7所述的装置,其特征在于,所述计算单元包括:
确定区域子单元,用于根据所述触点的坐标和所述查找到的文本节点的坐标,确定所述触点处于所述查找到的文本节点周围的区域;
计算子单元,用于根据所述触点处于所述查找到的文本节点周围的区域,计算所述触点与所述查找到的文本节点之间的距离。
10.根据权利要求9所述的装置,其特征在于,所述查找到的文本节点周围的区域包括所述查找到的文本节点的上侧区域、下侧区域、左侧区域、右侧区域、左上区域、右上区域、左下区域和右下区域;所述计算子单元用于:
触点的坐标为(m,n),查找到的文本节点的左下顶点的坐标为(x1,y1),左上顶点的坐标为(x1,y2),右上顶点的坐标为(x2,y2),右下顶点的坐标为(x2,y1)时,
当触点处于文本节点的左上区域时,触点与文本节点的距离为
当触点处于文本节点的左侧区域时,触点与文本节点的距离为|x1-m|;
当触点处于文本节点的左下区域时,触点与文本节点的距离为
当触点处于文本节点的下侧区域时,触点与文本节点的距离为|y1-n|;
当触点处于文本节点的右下区域时,触点与文本节点的距离为
当触点处于文本节点的右侧区域时,触点与文本节点的距离为|m-x2|;
当触点处于文本节点的右上区域时,触点与文本节点的距离为
当触点处于文本节点的上侧区域时,触点与文本节点的距离为|n-y2|。
11.根据权利要求7所述的装置,其特征在于,所述选取模块包括:
确定文字位置单元,用于根据所述触点处于搜索到的文本节点周围的区域,确定搜索到的文本节点中距离所述触点最近的文字位置;
选取单元,用于将处于该文字位置的文字确定为所述触点选取的文字。
12.根据权利要求11所述的装置,其特征在于,所述确定文字位置单元用于:
触点的坐标为(m,n),搜索到的文本节点的左下顶点的坐标为(x1,y1),左上顶点的坐标为(x1,y2),右上顶点的坐标为(x2,y2),右下顶点的坐标为(x2,y1),字符宽度为w,字符高度为h;
当触点处于搜索到的文本节点的左上区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:
当触点处于搜索到的文本节点的左侧区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:n;
当触点处于搜索到的文本节点的左下区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:
当触点处于搜索到的文本节点的下侧区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:m;纵坐标为:
当触点处于搜索到的文本节点的右下区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:
当触点处于搜索到的文本节点的右侧区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标坐标为纵坐标为:n;
当触点处于搜索到的文本节点的右上区域时,搜索到的文本节点中距离所述触点最近的文字位置的横坐标为:纵坐标为:
当触点处于搜索到的文本节点的上侧区域时,搜索到的文本节点中距离触点最近的文字位置的横坐标为:m;纵坐标为:
13.一种终端设备,其特征在于,所述终端设备包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
检测选取文字的触屏操作的触点是否落在文本节点中,其中,所述文本节点为可见文本节点;
当所述触点未落在文本节点中时,搜索距离所述触点最近的文本节点;
将搜索到的文本节点中距离所述触点最近的文字作为所述触点选取的文字;
其中,所述搜索距离所述触点最近的文本节点,包括:
从所述触点所在的节点开始,逐级查找是否存在文本节点,直到查找到文本节点;
计算所述触点与查找到的各个文本节点之间的距离;
将计算出的距离最小的文本节点确定为搜索到的距离所述触点最近的文本节点;
其中,所述从所述触点所在的节点开始,逐级查找是否存在文本节点,直到查找到文本节点,包括:
在所述触点所在的节点中查找是否存在文本节点;
当在所述触点所在的节点中未查找到文本节点时,在所述触点所在的节点的兄弟节点中查找是否存在文本节点;
当在所述触点所在的节点的兄弟节点中未查找到文本节点时,在所述触点所在的节点的父节点的兄弟节点中查找是否存在文本节点;
当在所述触点所在的节点的父节点的兄弟节点中未查找到文本节点时,将所述触点所在的节点的父节点作为所述触点所在的节点后,重复执行所述在所述触点所在的节点的父节点的兄弟节点中查找是否存在文本节点的步骤,直到查找到文本节点。
Priority Applications (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310452543.2A CN103472998B (zh) | 2013-09-27 | 2013-09-27 | 一种选取文字的方法、装置和终端设备 |
JP2015538284A JP6068660B2 (ja) | 2013-09-27 | 2014-05-09 | 文字選出方法、文字選出装置、端末装置、プログラム及び記録媒体 |
KR1020147021395A KR101600999B1 (ko) | 2013-09-27 | 2014-05-09 | 문자를 선택하는 방법, 장치, 단말기장치, 프로그램 및 기록매체 |
BR112014017601-9A BR112014017601B1 (pt) | 2013-09-27 | 2014-05-09 | método, aparelho e dispositivo de terminal para a seleção de caractere |
PCT/CN2014/077098 WO2015043192A1 (zh) | 2013-09-27 | 2014-05-09 | 一种选取文字的方法、装置和终端设备 |
RU2015123449A RU2612598C2 (ru) | 2013-09-27 | 2014-05-09 | Способ, и аппаратура, и терминальное устройство выбора символов |
MX2014008739A MX348965B (es) | 2013-09-27 | 2014-05-09 | Metodo, aparato y dispositivo terminal para seleccionar un caracter. |
US14/334,670 US9377949B2 (en) | 2013-09-27 | 2014-07-18 | Method and terminal device for selecting character |
EP14186672.3A EP2854012B1 (en) | 2013-09-27 | 2014-09-26 | Method, apparatus and terminal device for selecting character |
US14/951,518 US9792019B2 (en) | 2013-09-27 | 2015-11-25 | Method and terminal device for selecting character |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310452543.2A CN103472998B (zh) | 2013-09-27 | 2013-09-27 | 一种选取文字的方法、装置和终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103472998A CN103472998A (zh) | 2013-12-25 |
CN103472998B true CN103472998B (zh) | 2017-03-15 |
Family
ID=49797877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310452543.2A Active CN103472998B (zh) | 2013-09-27 | 2013-09-27 | 一种选取文字的方法、装置和终端设备 |
Country Status (9)
Country | Link |
---|---|
US (1) | US9792019B2 (zh) |
EP (1) | EP2854012B1 (zh) |
JP (1) | JP6068660B2 (zh) |
KR (1) | KR101600999B1 (zh) |
CN (1) | CN103472998B (zh) |
BR (1) | BR112014017601B1 (zh) |
MX (1) | MX348965B (zh) |
RU (1) | RU2612598C2 (zh) |
WO (1) | WO2015043192A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103472998B (zh) | 2013-09-27 | 2017-03-15 | 小米科技有限责任公司 | 一种选取文字的方法、装置和终端设备 |
US9377949B2 (en) | 2013-09-27 | 2016-06-28 | Xiaomi Inc. | Method and terminal device for selecting character |
CN104461348B (zh) * | 2014-10-31 | 2018-09-04 | 小米科技有限责任公司 | 信息选取方法及装置 |
US9727231B2 (en) | 2014-11-19 | 2017-08-08 | Honda Motor Co., Ltd. | System and method for providing absolute coordinate and zone mapping between a touchpad and a display screen |
US20170371515A1 (en) | 2014-11-19 | 2017-12-28 | Honda Motor Co., Ltd. | System and method for providing absolute and zone coordinate mapping with graphic animations |
CN107368465B (zh) * | 2016-05-13 | 2020-03-03 | 北京京东尚科信息技术有限公司 | 一种用于流式文档的截图类笔记处理的系统及方法 |
CN106909296A (zh) | 2016-06-07 | 2017-06-30 | 阿里巴巴集团控股有限公司 | 数据的提取方法、装置及终端设备 |
CN106325688B (zh) * | 2016-08-17 | 2020-01-14 | 北京字节跳动网络技术有限公司 | 一种文本处理方法及装置 |
CN107423273B (zh) * | 2017-05-09 | 2020-05-05 | 北京字节跳动网络技术有限公司 | 一种文本编辑方法及装置 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU5299700A (en) * | 1999-05-27 | 2000-12-18 | America Online, Inc. | Keyboard system with automatic correction |
US7821503B2 (en) * | 2003-04-09 | 2010-10-26 | Tegic Communications, Inc. | Touch screen and graphical user interface |
US7728821B2 (en) * | 2004-08-06 | 2010-06-01 | Touchtable, Inc. | Touch detecting interactive display |
TW200919317A (en) | 2007-10-23 | 2009-05-01 | Inventec Appliances Corp | Text selecting method |
CN101504579A (zh) * | 2008-02-04 | 2009-08-12 | 德信智能手机技术(北京)有限公司 | 编辑器复制及粘贴机制 |
US8650507B2 (en) * | 2008-03-04 | 2014-02-11 | Apple Inc. | Selecting of text using gestures |
EP2545426A4 (en) * | 2010-03-12 | 2017-05-17 | Nuance Communications, Inc. | Multimodal text input system, such as for use with touch screens on mobile phones |
JP2011242821A (ja) * | 2010-05-14 | 2011-12-01 | Sony Corp | 情報処理装置および方法、並びにプログラム |
US8890818B2 (en) | 2010-09-22 | 2014-11-18 | Nokia Corporation | Apparatus and method for proximity based input |
US8549399B2 (en) * | 2011-01-18 | 2013-10-01 | Apple Inc. | Identifying a selection of content in a structured document |
US8442998B2 (en) * | 2011-01-18 | 2013-05-14 | Apple Inc. | Storage of a document using multiple representations |
CN103034411B (zh) * | 2011-10-09 | 2016-01-27 | 中国移动通信集团公司 | 针对触摸屏的文本选择方法和装置 |
CN103207742A (zh) | 2012-01-13 | 2013-07-17 | 深圳富泰宏精密工业有限公司 | 物件选取方法及系统 |
CN103294232A (zh) * | 2012-02-22 | 2013-09-11 | 华为终端有限公司 | 一种触摸操作的处理方法及终端 |
CN102880418A (zh) * | 2012-09-14 | 2013-01-16 | 广州市动景计算机科技有限公司 | 基于触摸屏式移动终端的文本选择方法及装置 |
CN102937864B (zh) * | 2012-10-31 | 2015-11-25 | 百度在线网络技术(北京)有限公司 | 一种用于在触摸终端上确定所选文本的方法与设备 |
CN103076982B (zh) * | 2013-01-24 | 2016-09-14 | 优视科技有限公司 | 一种移动终端中光标控制的方法及装置 |
CN103135901B (zh) | 2013-02-04 | 2016-01-20 | 广东欧珀移动通信有限公司 | 移动终端中精确选择文本文字的方法及该移动终端 |
CN103294361B (zh) | 2013-06-26 | 2016-08-03 | 珠海金山办公软件有限公司 | 一种在触屏设备上快速选择文字的方法、系统及装置 |
CN103472998B (zh) * | 2013-09-27 | 2017-03-15 | 小米科技有限责任公司 | 一种选取文字的方法、装置和终端设备 |
-
2013
- 2013-09-27 CN CN201310452543.2A patent/CN103472998B/zh active Active
-
2014
- 2014-05-09 MX MX2014008739A patent/MX348965B/es active IP Right Grant
- 2014-05-09 BR BR112014017601-9A patent/BR112014017601B1/pt active IP Right Grant
- 2014-05-09 JP JP2015538284A patent/JP6068660B2/ja active Active
- 2014-05-09 KR KR1020147021395A patent/KR101600999B1/ko active IP Right Grant
- 2014-05-09 WO PCT/CN2014/077098 patent/WO2015043192A1/zh active Application Filing
- 2014-05-09 RU RU2015123449A patent/RU2612598C2/ru active
- 2014-09-26 EP EP14186672.3A patent/EP2854012B1/en active Active
-
2015
- 2015-11-25 US US14/951,518 patent/US9792019B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
MX2014008739A (es) | 2015-05-28 |
BR112014017601A8 (pt) | 2017-07-11 |
JP6068660B2 (ja) | 2017-01-25 |
KR20150046765A (ko) | 2015-04-30 |
BR112014017601B1 (pt) | 2021-03-09 |
RU2612598C2 (ru) | 2017-03-09 |
KR101600999B1 (ko) | 2016-03-08 |
JP2016500178A (ja) | 2016-01-07 |
EP2854012B1 (en) | 2019-04-03 |
US20160077713A1 (en) | 2016-03-17 |
MX348965B (es) | 2017-07-04 |
BR112014017601A2 (zh) | 2017-06-20 |
RU2015123449A (ru) | 2017-01-10 |
WO2015043192A1 (zh) | 2015-04-02 |
CN103472998A (zh) | 2013-12-25 |
US9792019B2 (en) | 2017-10-17 |
EP2854012A1 (en) | 2015-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103472998B (zh) | 一种选取文字的方法、装置和终端设备 | |
CN103699292B (zh) | 一种进入文本选择模式的方法和装置 | |
US9740671B2 (en) | Method and apparatus of generating a webpage from an original design file comprising layers | |
JP6118418B2 (ja) | 電子書籍ドキュメント処理方法、端末、電子機器、プログラム及び記録媒体 | |
CN103702297A (zh) | 短信增强方法、装置及系统 | |
CN103543913A (zh) | 一种终端设备操作方法、装置和终端设备 | |
CN103631493B (zh) | 图片显示方法、装置及电子设备 | |
CN103327102A (zh) | 一种推荐应用程序的方法和装置 | |
CN103823835A (zh) | 一种电子书目录的处理方法、装置及终端设备 | |
CN103605668A (zh) | 网页书签的存储方法、装置及移动终端 | |
CN103747130B (zh) | 一种终端设备的控制方法及装置 | |
CN103605471A (zh) | 单手控制方法、装置及手持设备 | |
CN103616983A (zh) | 一种图片展示方法、装置和终端设备 | |
CN105606117A (zh) | 导航提示方法及装置 | |
CN103677417B (zh) | 一种检测手势的方法、装置及终端设备 | |
CN103684807A (zh) | 标记群成员信息的方法、装置、终端设备及服务器 | |
CN103631580A (zh) | 一种生成主题图标的方法和装置 | |
CN103678502A (zh) | 信息收藏方法和装置 | |
CN103678259A (zh) | 一种页面的适配方法、装置和终端设备 | |
CN103823851B (zh) | 网页显示方法和装置 | |
CN103533177A (zh) | 一种消息浏览方法、装置和终端设备 | |
US9377949B2 (en) | Method and terminal device for selecting character | |
CN103823828A (zh) | 地图比例尺设定方法、装置和终端 | |
CN103699571A (zh) | 一种文件同步方法、装置及电子设备 | |
CN103530057A (zh) | 一种字符的输入方法、装置及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |