CN100562868C - 彩虹文本实现方法及装置 - Google Patents

彩虹文本实现方法及装置 Download PDF

Info

Publication number
CN100562868C
CN100562868C CNB2007101987561A CN200710198756A CN100562868C CN 100562868 C CN100562868 C CN 100562868C CN B2007101987561 A CNB2007101987561 A CN B2007101987561A CN 200710198756 A CN200710198756 A CN 200710198756A CN 100562868 C CN100562868 C CN 100562868C
Authority
CN
China
Prior art keywords
text
character
rainbow
content
user
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
Application number
CNB2007101987561A
Other languages
English (en)
Other versions
CN101183354A (zh
Inventor
杜嘉辉
陈海文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CNB2007101987561A priority Critical patent/CN100562868C/zh
Publication of CN101183354A publication Critical patent/CN101183354A/zh
Application granted granted Critical
Publication of CN100562868C publication Critical patent/CN100562868C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种彩虹文本实现方法及装置,通过获取用户选取的文本内容和彩虹文本样式;根据所述彩虹文本样式,分别为所述文本内容中的每一个字符设置一个颜色值,从而实现彩虹文本效果。该方法和装置通过对用户选择的文本内容逐字设置颜色,从而使用户只需很少量的操作,就可方便的实现彩虹文本效果。

Description

彩虹文本实现方法及装置
技术领域
本发明涉及文字处理技术领域,特别涉及彩虹文本实现方法及装置。
背景技术
目前,基于网页WEB的富文本编辑器,通过功能的不断丰富,已经为决大多数网民所接受,成为用户在网页上编辑文本的必不可少的工具,广泛应用于邮件内容编辑、博客内容编辑和论坛内容编辑等众多领域。针对用户对,美化编辑内容的要求,现有绝大多数富文本编辑器都提供字体颜色的选择功能。例如各大在线电子邮箱网站中的写信页面的富文本编辑器,都嵌入有可以选择字体颜色的功能,当用户选中要设置颜色的文本内容并选择需要设置的颜色时,富文本编辑器通过读取用户所选的文本内容和颜色值,将所选文本内容中的全部文字设置为所选的颜色值,即可使所选中的文本改变为所选颜色。但是,现有这种文字美化方法只能针对一段文本设定一种颜色,如果用户需要在一段文本内容中实现多种不同文字颜色,甚至是一个每个字都用不同的颜色,使文本颜色变为类似彩虹的颜色效果,即彩虹文本,那么通过现有的文字美化方法,用户必须手动为每一段文字内容或每一个字分别设置颜色,每设置一次颜色,都要经过选择文本再选择颜色的操作。
因此可以看出,现有富文本编辑器的文字美化方法,在实现这种彩虹文本的效果时,需要进行大量的操作,很不方便。
发明内容
本发明实施例提供一种彩虹文本实现方法,可以方便地实现彩虹文本效果。
本发明实施例提供一种彩虹文本实现装置,可以方便地实现彩虹文本效果。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种彩虹文本实现方法,该方法包括:
通过文档对象模型DOM的区域接口来获取用户选取的文本内容所在区域的html源代码;
通过浏览器脚本javascript获取用户选择的彩虹文本样式;
根据所述彩虹文本样式,修改所述用户选取的文本内容的超文本标识语言html源代码,分别为所述文本内容中的每一个字符设置一个颜色值。
较佳地,根据彩虹文本样式,修改所述用户选取的文本内容的html源代码,分别为所述文本内容中的每一个字符设置一个颜色值,包括:
逐字读取所述用户选取的文本内容所在区域的html源代码中的每一个字符,根据html语法,确定读取到的字符是否对应所述用户选择的文本内容中的一个字符;
若读取到的字符确定为对应于所述用户选择的文本内容中的字符,则对所述读取到的字符按照html语法进行修改,根据所述用户选取的彩虹文本样式,为所述读取到的字符对应的所述用户选择的文本内容中的字符设置一个颜色值。
较佳地,逐字读取所述用户选取的文本内容的html源代码中的每一个字符,进一步包括:
若读取完最后一个字符,则将修改后的html源代码通过文档对象模型的区域接口,重新设置到用户选取的文本区域中,替换原文本。
较佳地,根据html语法,确定读取到的字符是否对应所述用户选择的文本内容中的一个字符,包括:
根据html语法,确定所述读取到的字符是否位于html标签外,若所述读取到的字符位于html标签外,则确定该字符对应所述用户选择的文本内容中的一个字符。
较佳地,对读取到的字符按照html语法进行修改,根据所述用户选取的彩虹文本样式,为所述读取到的字符对应的所述用户选择的文本内容中的字符设置一个颜色值,包括:
若所述读取到的字符被字体font标签包围,则根据用户选取的彩虹文本样式,将所述字符的font标签内的颜色值替换为一个新的颜色值;
若所述读取到的字符没有被font标签包围,则把所述字符用font标签包围,并根据用户选取的彩虹文本样式,在所述字符的font标签内为其设置一个颜色值。
较佳地,根据用户选取的彩虹文本样式,将所述字符的font标签内的颜色值替换为一个新的颜色值,包括:
根据用户选取的彩虹文本样式,将所述字符的font标签内的颜色值替换为从所述彩虹文本样式的色系中随机选择出的一个颜色值;
所述根据用户选取的彩虹文本样式,在所述字符的font标签内为其设置一个颜色值,包括:根据用户选取的彩虹文本样式,在所述字符的font标签内为其设置一个从所述彩虹文本样式的色系中随机选择出的一个颜色值。
一种彩虹文本实现装置,该装置包括:
数据获取模块,用于获取用户选取的文本内容和彩虹文本样式;
颜色设置模块,用于接收数据获取模块发送的所述用户选取的文本内容和彩虹文本样式,根据所述彩虹文本样式,修改所述用户选取的文本内容的html源代码,分别为所述文本内容中的每一个字符设置一个颜色值;
其中,数据获取模块包括:
文本内容获取单元,用于通过DOM的区域接口来获取用户选取的文本内容所在区域的html源代码,并向所述颜色设置模块发送;
彩虹文本样式获取单元,用于通过javascript获取用户选择的彩虹文本样式,并向所述颜色设置模块发送。
较佳地,该装置进一步包括:
回显模块,接收颜色设置模块发送的修改后的html源代码,将修改完毕的html源代码通过文档对象模型的区域接口,重新设置到所述用户选取的文本区域中,替换原文本。
较佳地,颜色设置模块包括:
字符读取单元,用于接收所述文本内容获取单元发送的,所述用户选取的文本内容所在区域的html源代码,从中逐字读取每一个字符;
字符确定单元,用于接收所述字符读取单元发送的所述字符,根据html语法,确定读取到的字符是否对应所述用户选择的文本内容中的一个字符;若读取到的字符确定为对应于所述用户选择的文本内容中的字符,则将该字符向字符修改单元发送;
颜色确定单元,用于接收所述彩虹文本样式获取单元发送的所述用户选择的彩虹文本样式;从所述彩虹文本样式的色系中随机选择出的一个颜色值;
字符修改单元,用于接收所述字符确定单元发送的所述读取到的字符;接收所述颜色确定单元发送的所述颜色值。
较佳地,字符确定单元,根据html语法,确定所述读取到的字符是否位于html标签外,若所述读取到的字符位于html标签外,则确定所述读取到的字符对应所述用户选择的文本内容中的一个字符。
由上述的技术方案可见,本发明的这种通过获取用户选取的文本内容和彩虹文本样式;根据所述彩虹文本样式,分别为所述文本内容中的每一个字符设置一个颜色值的彩虹文本实现方法和装置,通过对用户选择的文本内容逐字设置颜色,从而使用户只需很少量的操作,就可方便的实现彩虹文本效果。
附图说明
图1为本发明实施例的彩虹文本实现方法总体流程图;
图2为本发明一个较佳实施例的彩虹文本实现方法的流程图;
图3为本发明实施例的彩虹文本实现装置的结构图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明实施例主要是通过获取用户选取的文本内容和彩虹文本样式;根据所述彩虹文本样式,分别为所述文本内容中的每一个字符设置一个颜色值。通过对用户选择的文本内容逐字设置颜色,从而使用户只需很少量的操作,就可方便的实现彩虹文本效果。
图1为本发明实施例的彩虹文本实现方法总体流程图;如图1所示,该流程具体包括:
步骤101,获取用户选取的文本内容和彩虹文本样式;
步骤102,根据所述彩虹文本样式,修改所述用户选取的文本内容的html源代码,分别为所述文本内容中的每一个字符设置一个颜色值。
其中步骤101中,获取用户选取的文本内容和彩虹文本样式的具体方法可以是:在富文本编辑器中设置一个彩虹文本的按钮,该按钮下包括很多不同的彩虹文本样式,这些样式可以是彩虹文本的色系,当用户选取了一段文本内容并且点击了彩虹文本的按钮并选择了彩虹文本的色系后,富文本编辑器就可以通过文档对象模型DOM的区域接口来获取用户选取的文本内容所在区域的html源代码;通过浏览器脚本javascript获取用户选择的彩虹文本样式。
步骤102中,根据彩虹文本样式,修改所述用户选取的文本内容的html源代码,分别为所述文本内容中的每一个字符设置一个颜色值的步骤具体可以是:
逐字读取所述用户选取的文本内容所在区域的html源代码中的每一个字符,根据html语法,确定读取到的字符是否对应所述用户选择的文本内容中的一个字符;
若读取到的字符确定为对应于所述用户选择的文本内容中的字符,则对所述读取到的字符按照html语法进行修改,根据所述用户选取的彩虹文本样式,为该字符对应的所述用户选择的文本内容中的字符设置一个颜色值。
若读取完最后一个字符,则将修改后的html源代码通过文档对象模型的区域接口,重新设置到用户选取的文本区域中,替换原文本。
其中,根据html语法,确定读取到的字符是否对应所述用户选择的文本内容中的一个字符,具体来说就是根据html语法,确定所述读取到的字符是否位于html标签外,若所述读取到的字符位于html标签外,则确定该字符对应所述用户选择的文本内容中的一个字符。当然,确定读取到的字符是否对应于用户选择的文本内容中的一个字符还可以有很多种确定方法。
如果确定读取到的字符对应所述用户选择的文本内容中的一个字符,就要对该字符进行修改;
若所述读取到的字符被字体font标签包围,则根据用户选取的彩虹文本样式,将该字符的font标签内的颜色值替换为一个新的颜色值;
若所述读取到的字符没有被字体font标签包围,则把该字符用font标签包围,并根据用户选取的彩虹文本样式,在该字符的font标签内为其设置一个颜色值。
其中颜色值可以是从用户选取的彩虹文本样式的色系中随机生成的,也可以是按照一定的规律从色系中间隔生成,具体生成方法可以任意。
下面将具体介绍一个本发明一个较佳实施例的彩虹文本实现方法。
图2为本发明一个较佳实施例的彩虹文本实现方法的流程图;如图2所示,该流程具体包括:
步骤201,利用javascript捕获到用户点选彩虹文本样式按钮的事件,获取到用户选择的色系;并且利用DOM的区域接口来获取选定文本的html源代码。
步骤202,逐字读取html源代码中的每一个字符。
步骤203,判断是否能够读取到字符,如果能读取到字符,则执行步骤204,否则执行步骤208。
步骤204,判断读取到的字符是否在html标签外,如果是在html标签外,则执行步骤205,否则,返回步骤202。
步骤205,判断读取到的字符是否被font标签包围,如果是,则执行步骤207,否则执行步骤206。
步骤206,将读取到的字符用font标签包围。
步骤207,根据用户选定色系随机生成一个颜色值,在该字符的font标签内设置将其颜色值设置为生成的颜色值,并返回步骤202。
步骤208,将修改完毕的html源代码通过DOM的区域接口,重新设置到选中的文本区域,替换原文本,结束流程。
以上详细介绍了本发明实施例的彩虹文字实现方法,下面将详细介绍本发明实施例的彩虹文本实现装置。
图3为本发明实施例的彩虹文本实现装置的结构图,如图3所示,该装置包括:数据获取模块301和颜色设置模块302。
所述数据获取模块301,用于获取用户选取的文本内容和彩虹文本样式。
所述颜色设置模块302,用于接收数据获取模块发送的所述用户选取的文本内容和彩虹文本样式,根据所述彩虹文本样式,修改所述用户选取的文本内容的html源代码,分别为所述文本内容中的每一个字符设置一个颜色值。
所述彩虹文本实现装置还可以进一步包括回显模块303。
所述回显模块303,接收颜色设置模块301发送的修改后的html源代码,将修改完毕的html源代码通过文档对象模型的区域接口,重新设置到所述用户选取的文本区域中,替换原文本。
其中数据获取模块301包括:文本内容获取单元304和彩虹文本样式获取单元305。
所述文本内容获取单元304,用于通过文档对象模型DOM的区域接口来获取用户选取的文本内容所在区域的html源代码,并向所述颜色设置模块302发送。
所述彩虹文本样式获取单元305,用于通过浏览器脚本javascript获取用户选择的彩虹文本样式,并向所述颜色设置模块302发送。
颜色设置模块302包括:字符读取单元306、字符确定单元307、颜色确定单元308和字符修改单元309。
所述字符读取单元306,用于接收所述文本内容获取单元304发送的,所述用户选取的文本内容所在区域的html源代码,从中逐字读取每一个字符。
所述字符确定单元307,用于接收所述字符读取单元306发送的所述字符,根据html语法,确定读取到的字符是否对应所述用户选择的文本内容中的一个字符;若读取到的字符确定为对应于所述用户选择的文本内容中的字符,则将该字符向字符修改单元309发送。
具体来说,所述字符确定单元307是根据html语法,确定所述读取到的字符是否位于html标签外,若所述读取到的字符位于html标签外,则确定该字符对应所述用户选择的文本内容中的一个字符。
所述颜色确定单元308,用于接收所述彩虹文本样式获取单元305发送的所述用户选择的彩虹文本样式;从所述彩虹文本样式的色系中随机选择出的一个颜色值。
所述字符修改单元309,用于接收所述字符确定单元307发送的所述读取到的字符;接收所述颜色确定单元308发送的所述颜色值。
若所述读取到的字符被字体font标签包围,则将该字符的font标签内的颜色值替换为接收到的所述颜色值。
若所述读取到的字符没有被字体font标签包围,则把该字符用font标签包围,在该字符的font标签内将该字符的颜色值设置为接收到的所述颜色值。
以上所述的,本发明实施例的彩虹文本实现装置可以嵌入富文本编辑器中,也可以嵌入其他网页编辑器中。
由上述的实施例可见,本发明的这种通过获取用户选取的文本内容和彩虹文本样式;根据所述彩虹文本样式,分别为所述文本内容中的每一个字符设置一个颜色值的彩虹文本实现方法和装置,通过对用户选择的文本内容逐字设置颜色,从而使用户只需很少量的操作,就可方便的实现彩虹文本效果。
所应理解的是,以上所述仅为本发明的较佳实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1、一种彩虹文本实现方法,其特征是,该方法包括:
通过文档对象模型DOM的区域接口获取用户选取的文本内容所在区域的超文本标识语言html源代码;
通过浏览器脚本javascript获取用户选择的彩虹文本样式;
根据所述彩虹文本样式,修改所述用户选取的文本内容的html源代码,分别为所述文本内容中的每一个字符设置一个颜色值。
2、如权利要求1所述的彩虹文本实现方法,其特征是,所述根据彩虹文本样式,修改所述用户选取的文本内容的html源代码,分别为所述文本内容中的每一个字符设置一个颜色值,包括:
逐字读取所述用户选取的文本内容所在区域的html源代码中的每一个字符,根据html语法,确定读取到的字符是否对应所述用户选择的文本内容中的一个字符;
若读取到的字符确定为对应于所述用户选择的文本内容中的字符,则对所述读取到的字符按照html语法进行修改,根据所述用户选取的彩虹文本样式,为所述读取到的字符对应的所述用户选择的文本内容中的字符设置一个颜色值。
3、如权利要求2所述的彩虹文本实现方法,其特征是,所述逐字读取所述用户选取的文本内容的html源代码中的每一个字符,进一步包括:
若读取完最后一个字符,则将修改后的html源代码通过文档对象模型的区域接口,重新设置到用户选取的文本区域中,替换原文本。
4、如权利要求2所述的彩虹文本实现方法,其特征是,所述根据html语法,确定读取到的字符是否对应所述用户选择的文本内容中的一个字符,包括:
根据html语法,确定所述读取到的字符是否位于html标签外,若所述读取到的字符位于html标签外,则确定该字符对应所述用户选择的文本内容中的一个字符。
5、如权利要求2所述的彩虹文本实现方法,其特征是,所述对读取到的字符按照html语法进行修改,根据所述用户选取的彩虹文本样式,为所述读取到的字符对应的所述用户选择的文本内容中的字符设置一个颜色值,包括:
若所述读取到的字符被字体font标签包围,则根据用户选取的彩虹文本样式,将所述字符的font标签内的颜色值替换为一个新的颜色值;
若所述读取到的字符没有被font标签包围,则把所述字符用font标签包围,并根据用户选取的彩虹文本样式,在所述字符的font标签内为其设置一个颜色值。
6、如权利要求5所述的彩虹文本实现方法,其特征是,所述根据用户选取的彩虹文本样式,将所述字符的font标签内的颜色值替换为一个新的颜色值,包括:
根据用户选取的彩虹文本样式,将所述字符的font标签内的颜色值替换为从所述彩虹文本样式的色系中随机选择出的一个颜色值;
所述根据用户选取的彩虹文本样式,在所述字符的font标签内为其设置一个颜色值,包括:根据用户选取的彩虹文本样式,在所述字符的font标签内为其设置一个从所述彩虹文本样式的色系中随机选择出的一个颜色值。
7、一种彩虹文本实现装置,其特征是,该装置包括:
数据获取模块,用于获取用户选取的文本内容和彩虹文本样式;
颜色设置模块,用于接收数据获取模块发送的所述用户选取的文本内容和彩虹文本样式,根据所述彩虹文本样式,修改所述用户选取的文本内容的html源代码,分别为所述文本内容中的每一个字符设置一个颜色值;
其中,所述数据获取模块包括:
文本内容获取单元,用于通过DOM的区域接口来获取用户选取的文本内容所在区域的html源代码,并向所述颜色设置模块发送;
彩虹文本样式获取单元,用于通过javascript获取用户选择的彩虹文本样式,并向所述颜色设置模块发送。
8、如权利要求7所述的彩虹文本实现装置,其特征是,该装置进一步包括:
回显模块,接收颜色设置模块发送的修改后的html源代码,将修改完毕的html源代码通过文档对象模型的区域接口,重新设置到所述用户选取的文本区域中,替换原文本。
9、如权利要求7所述的彩虹文本实现装置,其特征是,所述颜色设置模块包括:
字符读取单元,用于接收所述文本内容获取单元发送的,所述用户选取的文本内容所在区域的html源代码,从中逐字读取每一个字符;
字符确定单元,用于接收所述字符读取单元发送的所述字符,根据html语法,确定读取到的字符是否对应所述用户选择的文本内容中的一个字符;若读取到的字符确定为对应于所述用户选择的文本内容中的字符,则将该字符向字符修改单元发送;
颜色确定单元,用于接收所述彩虹文本样式获取单元发送的所述用户选择的彩虹文本样式;从所述彩虹文本样式的色系中随机选择出的一个颜色值;
字符修改单元,用于接收所述字符确定单元发送的所述读取到的字符;接收所述颜色确定单元发送的所述颜色值。
10、如权利要求9所述的彩虹文本实现装置,其特征是,所述字符确定单元,根据html语法,确定所述读取到的字符是否位于html标签外,若所述读取到的字符位于html标签外,则确定所述读取到的字符对应所述用户选择的文本内容中的一个字符。
CNB2007101987561A 2007-12-12 2007-12-12 彩虹文本实现方法及装置 Active CN100562868C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007101987561A CN100562868C (zh) 2007-12-12 2007-12-12 彩虹文本实现方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007101987561A CN100562868C (zh) 2007-12-12 2007-12-12 彩虹文本实现方法及装置

Publications (2)

Publication Number Publication Date
CN101183354A CN101183354A (zh) 2008-05-21
CN100562868C true CN100562868C (zh) 2009-11-25

Family

ID=39448636

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007101987561A Active CN100562868C (zh) 2007-12-12 2007-12-12 彩虹文本实现方法及装置

Country Status (1)

Country Link
CN (1) CN100562868C (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101937470A (zh) * 2010-09-21 2011-01-05 无锡诺宝科技发展有限公司 一种网页隔行换色方法
CN103488646B (zh) * 2012-06-13 2017-11-14 腾讯科技(深圳)有限公司 一种移动终端浏览器弱光源下浏览网页的方法及装置
CN103324668A (zh) * 2013-05-20 2013-09-25 吴涛军 一种在网页上标记文本的标记系统
CN105955629A (zh) * 2016-05-04 2016-09-21 乐视控股(北京)有限公司 选中富文本的方法和装置
CN107957937A (zh) * 2017-12-19 2018-04-24 郑州云海信息技术有限公司 一种日志输出的方法及系统
CN110879932A (zh) * 2019-11-12 2020-03-13 北京达佳互联信息技术有限公司 字符代码的获取和生成的方法以及装置

Also Published As

Publication number Publication date
CN101183354A (zh) 2008-05-21

Similar Documents

Publication Publication Date Title
US11182535B2 (en) Configuring a page for drag and drop arrangement of content artifacts in a page development tool
CN106933862B (zh) 一种生成邮件报告的方法和装置
CN100562868C (zh) 彩虹文本实现方法及装置
US7373606B2 (en) Method for visualizing weblog social network communities
US6449636B1 (en) System and method for creating a dynamic data file from collected and filtered web pages
JP4344693B2 (ja) ブラウザの文書編集のためのシステムおよびその方法
US7761787B2 (en) Document generation system and user interface for producing a user desired document
CN104461484B (zh) 前端模板的实现方法和装置
US20120102390A1 (en) Method and apparatus for generating widget
CN101968817A (zh) 网页模板配置方法
CN108228184A (zh) 页面样式生成方法、装置、电子设备和计算机存储介质
CN111444696B (zh) 报表展示与编辑方法及装置
CN111159982B (zh) 文档编辑方法、装置、电子设备及计算机可读存储介质
CN101957749A (zh) 一种生成widget的方法及装置
CN104020984A (zh) 一种生成静态页面的方法及装置
CN108170409A (zh) Web前端控件的开发方法和系统
CN110175026B (zh) 一种网页可视化编辑方法、装置及存储介质
CN114417226A (zh) 页面生成方法、显示方法、装置、电子设备和存储介质
CN106648659A (zh) 网页制作方法及系统
CN105739962B (zh) 基于html的表格单元格编辑器控件扩展方法和系统
CN103914293A (zh) 生成页面的方法及服务器
CN109240664A (zh) 一种采集用户行为信息的方法及终端
CN106933552B (zh) 一种数据处理方法及前端代码生成装置
CN104462090A (zh) 数据处理方法与装置
CN110727458A (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