CN102375883A - 字体匹配 - Google Patents

字体匹配 Download PDF

Info

Publication number
CN102375883A
CN102375883A CN2011103157504A CN201110315750A CN102375883A CN 102375883 A CN102375883 A CN 102375883A CN 2011103157504 A CN2011103157504 A CN 2011103157504A CN 201110315750 A CN201110315750 A CN 201110315750A CN 102375883 A CN102375883 A CN 102375883A
Authority
CN
China
Prior art keywords
font
image
normalized
prototypes
image prototypes
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.)
Granted
Application number
CN2011103157504A
Other languages
English (en)
Other versions
CN102375883B (zh
Inventor
B·Q·哈蒙德
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.)
Celartem Inc
Original Assignee
Celartem Inc
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 Celartem Inc filed Critical Celartem Inc
Publication of CN102375883A publication Critical patent/CN102375883A/zh
Application granted granted Critical
Publication of CN102375883B publication Critical patent/CN102375883B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/24Character recognition characterised by the processing or recognition method
    • G06V30/242Division of the character sequences into groups prior to recognition; Selection of dictionaries
    • G06V30/244Division of the character sequences into groups prior to recognition; Selection of dictionaries using graphical properties, e.g. alphabet type or font
    • G06V30/245Font recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Character Discrimination (AREA)

Abstract

提出了用于字体匹配的方法、计算机可读介质和装置。可以接收并处理字形。接收的字形的处理可以包括缩小字形、计算与字形关联的边界、并规格化字形。处理的字形可以与图像原型的库进行比较。该比较可以包括从一个或多个图像原型确定处理的字形的距离、排序确定的距离、并且基于确定的距离选择一个或多个图像原型。另外的技术可以用于提高与各种方法和算法关联的分辨率或者精确度。

Description

字体匹配
技术领域
本发明涉及字体匹配技术。
背景技术
字体识别程序和算法目前被构造成以向字体提供器或者管理器提供关于用途模式的指示。例如,可以收集并分析与字体关联的元数据,以确定相对于一个或多个其它字体集选择一个特定字体集有多频繁。更通常地,可以收集并分析元数据,以确定相对于与另一(计算)特征的给定(计算)特征的选择频率。
典型地,字体提供器可以将名称关联特定样式字体。在排印中,TimesNew Roman和Arial是字体的通常示例。与Arial字体中的字母“a”相比,Times New Roman字体中的字母“a”可以在样式上显得不同。如果足够频繁地使用特定类型或样式的字体,用户可以达到熟知该字体的水平。然而,存在已经存在或者正在被创建的很多样式的字体。随着字体选项数量的增加,记起特定的字体名称或者识别特定的字体可能变得日益困难。
发明内容
接下来呈现简化的概述以便提供本公开一些方面的基本理解。该概述不是本公开的广泛综述。它既不是意图识别本公开的关键或者重要元素,也不是描绘本公开的范围。下面的概述仅仅是以简化的形式呈现一些本公开的概念作为下面描述的序幕。
本公开的各方面涉及库的创建和维护。在一些实施例中,该库可以包含一个或多个字体或字体字形的图像原型。在一个示例中,图像原型可以包括单个字体字形(例如,对字体定义的单个字符)。该图像原型可以以一个或多个格式在库中存储。例如,位图格式可以用于一些实施例。在一些实施例中,对图像原型表现的位图可以具有1位深度。可以在一些实施例中计算与原型图像关联的边界。此外或可替代地,原型图像可以规格化(normalize)。规格化可以导致具有预定宽度和/或高度的原型图像。例如,库中所有图像原型都可以具有相同的规格化宽度和/或高度。
本公开的各方面可以进一步涉及将字形匹配到存储在库中的图像原型,以识别该字形所属的字体或者类似的字体。在一些实施例中,接收的字形可以缩小为1位深度位图格式。可以计算与接收的字形(和/或当缩小为1位深度位图时的字形)关联的边界。接收的字形可以经历规格化。例如,执行规格化可以导致接收的字形制作为预定义的宽度和/或高度。在一些实施例中,可以执行在库中存储的一个或多个图像原型和(格式化的、规格化的)接收的字形之间的比较,以确定一个或多个潜在的匹配字体候选。执行的比较可以包括计算在(格式化的、规格化的)接收的字形和存储在库中一个或多个图像原型之间的误差或距离分数。
其它细节和特征还将在随后的部分中描述。
附图说明
本公开用权利要求书中的特性指出。当完整浏览本公开时,包括同此提供的附图,本公开的特征将变得更加明显。
在附图中,这里的一些特征通过示例的方式,而不是限制的方式来图示,在附图中,相同的参考数字指示相似的元件。
图1图示了可以实施本公开的一个或多个方面的示例系统。
图2图示了可以实施本公开的一个或多个方面的示例网络环境。
图3-5图示了根据在此描述的一个或多个方面的一个或多个方法。
图6图示了根据本公开的一个或多个方面的图像原型和字形。
具体实施方式
在下面各种图示的实施例的描述中,参考构成实施例一部分的附图,并且其中通过图示方式示出,可以实践本公开的各方面的各种实施例。要理解,可以利用其它实施例,并且可以进行结构和功能的修改,而不背离本公开的范围。
注意,接下来的描述中讨论了元件之间的各种连接。注意,这些连接是一般性的,并且除非另有说明,可以是直接或者间接的、有线或者无线的,并且说明书无意在这个方面进行限制。
图1图示了可以实施本公开的一个或多个方面的示例系统。在一个或多个配置中,这里描述的一个或多个方面可以实施为计算机程序、和/或与计算机100一起使用和/或存储在存储器113中的计算机程序的组合。计算机100代表一般计算设备,例如,桌面型计算机、膝上型计算机、笔记本计算机、网络服务器、便携计算设备、个人数字助理、智能电话、移动电话、分布计算网络设备,和/或其它设备,其具有必需的组件和/或能力用以如这里所述地操作,由此根据本公开的一个或多个图示方面配置为专用设备。计算机100可以包括中央处理单元或其它处理器103,RAM或其它易失性存储器105,ROM或其它引导存储器107,通过其计算机100可以连接到广域网和/或局域网(例如,因特网、LAN、WAN、PAN等)的网络接口109(例如以太网、无线网络接口、调制解调器等),输入/输出端口111(例如,键盘、鼠标、监视器、打印机、USB端口,串行端口、并行端口、IEEE 1394/火线端口等),以及非易失性存储器113(例如,固定盘、光盘、全息存储器、可移动存储介质、闪存驱动器等)。计算机100可以在存储器113中存储各种程序、指令、应用和数据,包含但不限于操作系统软件115、字体小服务程序(servlet)117(例如,一个或多个插件和/或这里描述的其它字体软件)、数据119(例如,文档、文件和这里描述的其它数据)、以及字体数据库121(例如,一个或多个字体文件和/或这里描述的其它文件)。
本公开的一个或多个方面可以体现在计算机可用数据、和/或计算机可执行指令中,如在一个或多个程序模块中,由一个或多个计算机或其它设备执行,以表现用于输出在诸如显示器或打印机的设备上的一个或多个字体。通常,程序模块包含例程、程序、对象、组件、数据结构等,其在计算机或其它数据处理设备中由一个或多个处理器执行时,执行特定任务或者实施特定的抽象数据类型。计算机可执行指令可以存储在计算机可读介质上,如硬盘、光盘、可移除存储介质、固态存储器、RAM等。如将所认识到的,可以如各种实施例中希望地组合或者分布程序模块的功能。此外,功能可以全部或者部分地体现在固件或者硬件等同物上,如集成电路、现场可编程门阵列(FPGA)等。特定的数据结构可以用于更加有效地实施本公开的一个或多个方面,并且这样的数据结构预期在这里描述的计算机可执行指令、和计算机可用数据的范围内。
图2图示了可以实施本公开的一个或多个方面的示例网络环境200。网络环境200可以包括一个或多个计算机,如web开发者计算机205、web用户计算机210、web域服务器220、小服务程序主机225和字体服务器230。此外,网络环境200可以包含一个或多个局域网(“LAN”)和/或一个或多个广域网(“WAN”,例如,因特网215)。
根据一个或多个方面,web开发者计算机205可以是在设计或者开发网站、和/或级联样式表(“CCS”)代码中,由网站开发者或者其它用户使用的计算机。CSS是一种样式表语言,通过其可以控制和/或修改诸如网页的结构化文档的一个或多个式样参数。例如,用户可以使用CSS定义要显示在网页中的文本的字体和字体式样。因此,不是必须直接在每个网页中复制和/或包括字体或字体式样编码,而是网页可以引用或者调用相关CSS。如果多个网页使用相同的字体或字体式样、以及其它定义在CSS中的式样属性,那么它们可以使用相同的CSS。
web用户计算机210可以是在浏览因特网215上的一个或多个网站和网页中,由web用户使用的计算机。web域服务器220可以是计算机,其中存储一个或多个网站和/或CSS代码,和/或从该计算机响应远程请求,服务一个或多个网站和/或CSS代码。小服务程序主机225可以是计算机,其中根据这里进一步描述的一个或多个方面,存储一个或多个字体请求处理和/或字体服务计算机程序和/或脚本。字体服务器230可以是计算机,其中根据这里进一步描述的一个或多个方面,存储一个或多个字体和/或一个或多个字体数据库。
例如,网站开发者可以使用web开发者计算机205,设计并开发包括CSS代码的网站。随后,网站开发者可以经由因特网215上载网站/网页到web域服务器220。可替代地或此外,网站开发者或其它用户可以从开发者计算机205在域名服务器220上,远程地开发网站/网页。此后,web用户可以使用web用户计算机210经由因特网215访问网站/网页。在访问网站或网页并执行其中包含的CSS代码中,用户可以触发字体请求。作为触发字体请求的结果,web用户计算机210、和/或web域服务器220可以发送字体请求到小服务程序主机225。该字体请求可以包括字体请求服务器地址、客户标识符、安全令牌、字体名称、字体文件名称、和/或上述组合。响应于接收字体请求,小服务程序主机225可以处理字体请求,其可以包括解析字体请求,估计字体请求服务器地址、客户标识符、安全令牌、和/或字体名称或字体文件名称。如果小服务程序主机225确定该字体请求是无效的或者未授权的,小服务程序主机225可以不采取任何进一步的动作,或者小服务程序主机可以传送拒绝该字体请求的消息,或者另外提供一些其它相似的响应。另一方面,如果小服务程序主机225确定字体请求是有效的和/或授权的,小服务程序主机225可以从字体服务器230,请求对应于字体请求的一个或多个字体。响应于这样的请求,字体服务器230可以发送对应于字体请求的一个或多个字体到小服务程序主机225、web域服务器220、和/或web用户计算机210。此外或者可替代地,响应于从字体服务器230接收对应于字体请求的一个或多个字体,小服务程序主机225可以发送对应于字体请求的一个或多个字体到web域服务器220、和/或web用户计算机210。此后,响应于接收对应于字体请求的一个或多个字体,web用户计算机210可以显示和/或打印有一个或多个接收的字体的网站。
虽然网络环境200描述为包括适于执行各种功能的各种计算机,但是应当理解,系统可以修改为包括更多或者更少数目的计算机,这些计算机可以单独或者组合使用以提供相同的功能。例如,单个计算机可以用于执行描述的所有功能,并且一个或多个用户可以通过一个或多个终端和/或用户接口与单个计算机交互。在另一示例中,第一计算机可以用于执行web开发者计算机205和web用户计算机210的所有功能,并且第二计算机可以用于执行web域服务器220、小服务程序主机225和字体服务器230的所有功能。
图3图示了根据本公开的一个或多个方面的方法,通过该方法可以创建和维护库。该库可以包括一个或多个数据库,该数据库可以包括在或者耦合到一个或多个计算平台(例如,以上结合图1和图2描述的计算实体的任意组合)。在步骤302中,可以接收图像原型(或更具体地,可以接收对应于要产生原型的一个或多个字形的信息或数据)。图像原型可以使用一个或多个通信介质或协议接收为数据文件。可替代地或此外,图像原型的接收可以包括选择地在一个或多个计算机创建图像原型的步骤。图像原型可以对应于要添加到库的字体类型,并可以包括一个或多个代表符号、字符、数字等的字形。
在步骤308中,接收的图像原型可以表现或转换为一个或多个格式。例如,接收的图像原型可以转换为位图格式。不同于或者除了位图的格式可以在一些实施例中使用。
在步骤314中,图像原型可以经历缩小处理。例如,可以使用1位深度位图缩小。从彩色图像到1位深度图像的缩小可以由实体提供,如与主机操作系统关联的图形服务(例如)。缩小处理可以用于帮助下面结合图4描述的比较。
在步骤320中,可以计算与图像原型关联的边界。边界可以用于确定图像原型的大小或范围。例如,在文本文档的环境中,计算的边界可以用于确定第一个字形(例如,字符)哪里结束和第二字形(例如,数字)哪里开始,第一和第二字形哪里相邻、接续或相互靠近。在一个特定示例中,系统可以执行图像分析以识别字形的最左像素、最右像素、最顶像素和最底像素。计算的边界也可以用于帮助如结合步骤326描述的规格化处理。
在步骤326中,可以关于图像原型进行规格化处理。在一些实施例中,规格化可以包括将图像原型规格化为预定义的宽度和高度。例如,宽度可以是128像素。其它值(例如,32、64、256等)可以用于一些实施例中的(像素)宽度。在一些实施例中,规格化可以发生在长度或者高度维度,并且宽度可以成比例地缩放。结合步骤320计算的边界可以用于获得缩小后图像原型中的比例。
在步骤332中,图像原型可以存储在上述一个或多个操作之后的库中。
在一些实施例中,字形的子集可以经历以上结合图3描述的操作。在那些实施例中,剩余的字形或者可以丢弃,或者可以经历图3的一个或多个步骤,但是分配给结合步骤332的临时存储。在一些实施例中,可以期望向图像原型中不同的字形提供不同的处理。例如,不同处理可以用于在存储器/存储容量和/或处理资源和/或电源容量(例如,诸如在电池供电设备中)受限制的实施例。在那些实施例中,各种准则可以用于确定存储哪些字形。例如,可以存储预期频繁使用的字形(例如,元音或者标点),然而那些没有预期为频繁使用的字形可以或者丢弃,或者分配给临时存储。
图4的方法可以结合图3的方法使用,以将接收的字形匹配到一个或多个图像原型。在步骤404中,可以接收要分析的字形。字形可以经由一个或多个计算实体(例如,图1和2所示的一个或多个计算实体)接收。字形可以作为扫描图像(例如,复写或传真)、电子邮件、(文本)消息,作为文件或者文档等接收。
在步骤410中,接收的字形可以转换为一个或多个格式。例如,步骤410的转换可以对应于结合图3的步骤308执行的转换。因此,在与步骤308关联的转换承担生成位图的实施例中,步骤410可以包括生成步骤404中接收的字形的位图。
在步骤416中,可以缩小接收的字形。例如,步骤416的缩小可以对应于结合图3的步骤314执行的缩小。因此,在与步骤314关联的缩小导致1位深度的位图的实施例中,步骤416可以包括将接收字形的位图缩小到1位深度。
步骤422中,可以计算与接收的字形关联的边界。计算的边界可以用于确定接收字形的大小或者范围。计算的边界也可以用于帮助如结合步骤428描述的规格化处理。
在步骤428中,可以关于接收的字形进行规格化处理。在一些实施例中,规格化可以包括将接收的字形规格化为预定义的宽度和/或成比例的高度。例如,预定义宽度可以是128像素。其它值(例如,32、64、256等)可以在一些实施例中用于(像素)宽度。在一些实施例中,规格化可以发生于长度或者高度维度,并且宽度可以成比例地缩放。在一个示例中,预定义宽度和高度可以匹配库中存储的图像原型的预定义高度和宽度。结合步骤422计算的边界可以用于获得缩小后的图像原型的比例。在一些实施例中,步骤428的规格化可以对应于结合图3的步骤326进行的规格化,以便帮助下面结合步骤434描述的比较。
在步骤434中,结合图3的步骤332,比较发生在接收的字形(接着结合步骤404-428执行的处理)、和库中存储的一个或多个图像原型之间。在一些实施例中,可以在步骤440中输出一个或多个图像原型。图5示出和下面描述的说明性算法可以用于执行图4的步骤434和440的比较与输出。
步骤1:对于选择的存储在库中的图像原型,设置第一变量(此后称为error_accumularor)为零。error_accumularor可以提供选择的图像原型和接收的字形间的误差或者距离分数。
步骤2:设置第二变量(此后称为min_num_rows)等于选择的图像原型行数和接收字形的行数中的较小者。
步骤3:对于达到min_num_rows的每一行,异或(xor)接收的字形与选择的图像原型,并累计(例如,加)异或的输出是“1”或者“真”的位的计数到error_accumularor。结合该步骤执行的xor函数,可以对应于在接收的字形和选择的图像原型之间的逐像素xor操作,其中对接收的字形和选择的图像原型的每个像素的值“1”或者“真”对应于“开”或者“黑”的像素,并且对接收的字形和选择的图像原型的每个像素的值“0”或者“假”对应于“关”或者“白”的像素。
步骤4:对于超过结合步骤3比较的行的每行,在或者接收的字形或者选择的图像原型(无论哪个有较大数量的行)中,计数在行中置位的位的数量(例如,使用灰度图像,图像中的位是黑色或者存在的位的数量),添加计数到error_accumularor。
步骤5:保存error_accumularor值作为选择的图像原型的分数。
步骤6:确定是否已经计分所有候选图像原型,对存储在库中的每个候选图像原型重复步骤1-5。候选的图像原型可以包括所有存储在库中的图像原型,或者其子集。
步骤7:排序结合步骤5存储的分数,因此获得对候选图像原型的分数的排序列表。
步骤8:确定排序分数中最低的对应于最接近地匹配接收字形的图像原型。在一些实施例中,可以输出最接近匹配接收字形的图像原型。输出可以包括一个或多个适于在显示设备(例如,计算机监视器)上显示的显示屏、电子邮件、文本消息、文档、音频消息等。
图6图示了以上结合图5描述的步骤1-5的可视表示。在图6中,图像原型示出为有三行和三列并且粗略地呈“X”型。接收的字形,可能已经经历与图4关联的处理,可以具有四行和三列。因此,行的最小数(如图5的步骤2所确定的)是三,对应于图像原型的三行。根据图5的步骤3,在图像原型和接收的字形之间的像素方面的xor操作可以对三行的每行发生,并且该结果示出在图6的xor结果部分的第一个三行中,其中xor结果的行#1列#3中的阴影块反映“开”或者“黑”的图像原型中的对应像素,以及“关”或者“白”的接收的字形中的对应像素。因此,基于xor操作,error_accumularor可以具有完成图5的步骤3之后的值。根据图5的步骤4,在接收的字形中像素是“开”或者“黑”的第四行的像素,可以求和或者加。这通过xor结果的行#4列#2中像素的阴影反映在图6中,该结果跟踪在行#4列#2中接收字形中为“开”或者“黑”的对应像素。因此,会结合图5的步骤4以1递增error_accumularor,导致图5的步骤4完成后error_accumularor的值为2。这个为2的error_accumularor值可以对这个特定的图像原型,结合图5的步骤5保存。
可以对任何额外的候选图像原型(未在图6中示出),重复上面结合图6描述的处理(结合图5的步骤6),以便确定对图6示出的接收字形,哪个候选图像原型具有最低分数(结合图5的步骤7和8)。
图6中所示的表示是说明性的。在一些实施例中,可以使用不同的图像原型和/或字形。例如,图6中所示图像原型和字形的宽度对应于用于图示简化目的的三个像素。在一些实施例中,可以使用其它维数。
在一些实施例中,上述方法和架构的变形是可能的。例如,在一些实施例中,可以进行图3和图4所示的方法的多种途径,以便获得“最适合”结果或者以便提高或改进精度。
在一些实施例中,可以调整或修改与图3的步骤320关联的边界、和/或与图4的步骤422关联的边界的计算(例如,递增、递减等)。这样的调整可以解决图像原型和接收字形之一相对于另一个的转变或者偏斜。可以通过对一个或多个计算的边界加或减偏移值进行调整。在一些实施例中,可以通过使计算的边界乘以不是1的数来调整计算的边界(其中小于1的数将趋于缩短计算的边界,并且大于1的数将趋于扩展计算的边界)。
在一些实施例中,可以修改或者变更与位深度缩小关联的技术(例如,图3的步骤314和图4的步骤416)。例如,当将位图缩小为图像时,代替使用50%阈值技术(其中如果一位是黑被当做“开”,并且如果是白被当做“关”),可以使用不同的阈值。例如,在一些实施例中可以使用75%的阈值,以补偿在现实世界环境中可能遇见的打印/墨水颜色和/或纸张问题(例如,机械问题)。不同的阈值可以用于细调接收字形中的哪些位是“开”或者“关”。
在一些实施例中,可以使用最近邻算法,选择地结合缩小步骤。例如,位值或者对给定像素的分配可以是接收字形中的对应位置、和对应位置的相邻位置两者的函数。以这种方式,可以有效地采用过滤算法,并且过滤算法可以用于提供在接收字形中的过渡点上的平均或者平滑效应。
在一些实施例中,在应用图4所示的算法中可以转变(例如,旋转)接收的字形。这样的转变(例如,旋转)可以用于补偿在生成字形中的机械或者人工误差。例如,如果字形作为扫描处理的结果生成,可以对接收的字形执行旋转以补偿扫描字形时字形的无意旋转。
在一些实施例中,结合图5的步骤8确定的最低分数将对应于被使用的图像原型。在一些实施例中,使用另一分数代替最低分数是有利的。例如,如果在一些实施例中最低分数和第二最低分数之间的差别小于阈值,视听提示可以呈现对应于最低和第二最低分数的图像原型,并且可以请求用户选择图像原型中的一个。
在一些实施例中,可以在确定使用哪个图像原型中考虑许可期限。例如,结合图5(步骤8)的最低分数可以对应于具有繁重的、和难以负担的许可期限的图像原型,而第二最低分数可以对应于具更有利的许可期限的图像原型。在那些实施例中,如果两个图像原型之间的许可期限的差别大于阈值,可以使用对应于第二最低分数的图像原型。
除了其它准则,上面描述的准则(阈值、许可期限等的使用),可以在一些实施例中使用以打破分数之间的平局(tie)。
尽管不要求,但是本领域普通技术人员将认识到,这里描述的各个方面可以具体化为方法、装置、或者存储计算机可执行指令的一个或多个计算机可读介质。因此,那些方面可以采用如下的形式:完全硬件实施例,完全软件实施例,完全固件实施例,或者以任意组合组合软件、硬件和固件的方面的实施例。此外,如这里描述的表示数据或事件的各种信号可以通过诸如金属线、光纤和/或无线传输介质(例如,空气和/或空间)的信号传导介质,以光、和/或电磁波传播的形式,在源和目的地之间传送。通常,一个或多个计算机可读介质可以包含一个或多个暂时和/或者非暂时计算机可读介质。
如这里所描述的,各种方法和动作可以跨一个或多个计算机服务器和一个或多个网络操作。功能可以以任何方式分布,或者可以位于单个计算设备(例如,服务器、客户端计算机等)中。如这里所讨论的,技术可以用于将接收的字形匹配到一个或多个候选图像原型。
如这里所描述的,方法的动作和处理可以联系到特定的机器或装置。例如,如这里所描述的,用户计算机、服务器等可以在本公开的各种实施例中使用,以将接收的字形匹配到一个或多个候选图像原型。更一般地,一个或多个计算机可以包括一个或多个处理器和存储指令的存储器,当执行指令时,执行这里描述的方法的动作和处理。而且,这里描述的方法的动作和处理可以执行多种功能,包括将物品(例如,接收的字形)变换为不同的状态或事物(例如,具有与一个或多个图像原型关联的特性或属性的表现或显示的字形)。
本公开的各方面根据其图示的实施例已经进行了描述。对本领域普通技术人员,从阅读本公开,将出现在权利要求的范围和精神之内的许多的其它实施例、修改和变形。例如,本领域普通技术人员将认识到在图示的附图中图示的步骤可以以不同于列举的顺序执行,并且根据本公开的各方面,图示的一个或多个步骤可以是可选择的。

Claims (20)

1.一种方法,包括:
接收字形;
将接收的字形缩小为预定义的格式;
规格化缩小的字形;
比较规格化的字形与多个图像原型;以及
基于该规格化的字形与该多个图像原型的比较,输出多个图像原型中的至少一个。
2.根据权利要求1所述的方法,其中将接收的字形缩小为预定义格式包括:将该接收的字形缩小为1位深度位图格式。
3.根据权利要求1所述的方法,其中规格化缩小的字形包括:将该缩小的字形规格化为预定义宽度和成比例高度。
4.根据权利要求3所述的方法,其中该多个图像原型中的每个规格化为该预定义宽度。
5.根据权利要求1所述的方法,进一步包括:
在库中存储该多个图像原型。
6.根据权利要求1所述的方法,其中该规格化的字形与该多个图像原型的比较包括:
确定该规格化的字形的行数,和该多个图像原型中选择的一个的行数;
对该规格化的字形的行数和该多个图像原型中选择的一个的行数的较少者,异或xor该规格化的字形的像素与该多个图像原型中选择的一个的对应像素;
累计异或该规格化的字形的像素、与该多个图像原型中选择的一个的对应像素的结果;
对没有异或的该规格化的字形和该多个图像原型中选择的一个的每一行,将对应于该规格化的字形、或该多个图像原型中选择的一个中像素“开”的数量的数,加到该结果;以及
保存加的结果。
7.根据权利要求6所述的方法,其中该规格化的字形和该多个图像原型的比较进一步包括:
确定在该多个图像原型中的至少第二选择的一个中的行数;
对该规格化的字形的行数、和该多个图像原型中的至少第二选择的一个的行数的较小者,异或xor该规格化的字形的像素、与该多个图像原型中的至少第二选择的一个的对应像素;
累计异或该规格化的字形的像素、与该多个图像原型中的至少第二选择的一个的对应像素的至少第二结果;
对没有异或的该规格化的字形、和该多个图像原型中的至少第二选择的一个中的每一行,将对应于该规格化的字形、或该多个图像原型中的至少第二选择的一个中像素“开”的数量的数,加到该至少第二结果;
保存加的至少第二结果;以及
确定该加的结果和该加的至少第二结果的最小值。
8.根据权利要求7所述的方法,其中该多个图像原型中至少一个的输出包括:输出对应于确定的该加的结果和该加的至少第二结果的最小值的图像原型。
9.根据权利要求1所述的方法,进一步包括:
计算与该接收的字形关联的边界,
其中该缩小的字形的规格化是基于计算的边界。
10.一个或多个非暂时性计算机可读介质,其具有存储在其上的指令,其当通过一个或多个计算机执行指令时,使得该一个或多个计算机执行:
接收字形;
将接收的字形缩小为预定义的格式;
规格化缩小的字形;
比较规格化的字形与多个图像原型;以及
基于该规格化的字形与该多个图像原型的比较,输出该多个图像原型中至少一个。
11.根据权利要求10所述的一个或多个非暂时性计算机可读介质,其中当通过一个或多个计算机执行指令时,指令使得一个或多个计算机执行:
将该接收的字形缩小为1位深度位图格式。
12.根据权利要求10所述的一个或多个非暂时性计算机可读介质,其中当通过一个或多个计算机执行指令时,指令使得一个或多个计算机执行:
将该缩小的字形规格化为预定义宽度和成比例高度。
13.根据权利要求10所述的一个或多个非暂时性计算机可读介质,其中当通过一个或多个计算机执行指令时,指令使得一个或多个计算机执行:
确定该规格化的字形的行数,和该多个图像原型中选择的一个的行数;
对该规格化的字形的行数、和该多个图像原型中选择的一个的行数中的较小者,异或xor该规格化的字形的像素与该多个图像原型中选择的一个的对应像素;
累计异或该规格化的字形的像素、与该多个图像原型中选择的一个的对应像素的结果;
对没有异或的该规格化的字形、和该多个图像原型中选择的一个的每一行,将对应于该规格化的字形、或该多个图像原型中选择的一个中像素“开”的数量的数,加到该结果;以及
保存加的结果。
14.根据权利要求13所述的一个或多个非暂时性计算机可读介质,其中当通过一个或多个计算机执行指令时,指令使得一个或多个计算机执行:
确定在该多个图像原型中的至少第二选择的一个中的行数;
对该规格化的字形的行数、和该多个图像原型中至少第二选择的一个的行数的较小者,异或xor该规格化的字形的像素、与该多个图像原型中至少第二选择的一个的对应像素;
累计异或该规格化的字形的像素、与该多个图像原型中至少第二选择的一个的对应像素的至少第二结果;
对没有异或的该规格化的字形、和该多个图像原型中至少第二选择的一个中的每一行,将对应于该规格化的字形、或该多个图像原型中至少第二选择的一个中像素“开”的数量的数,加到该至少第二结果;
保存加的至少第二结果;以及
确定该加的结果和该加的至少第二结果的最小值。
15.一种装置,包括:
至少一个处理器;以及
存储指令的存储器,当通过至少一个处理器执行指令时,使得该装置执行:
接收字形;
将接收的字形缩小为预定义的格式;
规格化缩小的字形;
比较规格化的字形与多个图像原型;以及
基于该规格化的字形与该多个图像原型的比较,输出该多个图像原型中的至少一个。
16.根据权利要求15所述的装置,其中当通过至少一个处理器执行指令时,指令使得该装置执行:
将该接收的字形缩小为1位深度位图格式。
17.根据权利要求15所述的装置,其中当通过至少一个处理器执行指令时,指令使得该装置执行:
规格化缩小的字形为预定义宽度和成比例高度。
18.根据权利要求15所述的装置,其中当通过至少一个处理器执行指令时,指令使得该装置执行:
旋转该规格化的字形;以及
比较旋转的字形和多个图像原型。
19.根据权利要求15所述的装置,其中当通过至少一个处理器执行指令时,指令使得该装置执行:
计算与该接收的字形关联的边界,其中规格化该缩小的字形是基于计算的边界;
转变计算的边界一偏移量;
基于转变的边界规格化该缩小的字形;
比较基于转移的边界规格化的缩小的字形和多个图像原型;
基于比较确定从多个图像原型选择的、最接近地匹配接收的字形的至少一个图像原型;以及
输出确定的至少一个图像原型。
20.根据权利要求15所述的装置,其中当通过至少一个处理器执行指令时,指令使得该装置执行:
基于最近邻算法缩小接收的字形。
CN201110315750.4A 2010-08-02 2011-08-02 字体匹配 Active CN102375883B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/848,246 US8488886B2 (en) 2010-08-02 2010-08-02 Font matching
US12/848,246 2010-08-02

Publications (2)

Publication Number Publication Date
CN102375883A true CN102375883A (zh) 2012-03-14
CN102375883B CN102375883B (zh) 2016-04-06

Family

ID=44910037

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110315750.4A Active CN102375883B (zh) 2010-08-02 2011-08-02 字体匹配

Country Status (4)

Country Link
US (1) US8488886B2 (zh)
EP (1) EP2416281A3 (zh)
JP (1) JP5885956B2 (zh)
CN (1) CN102375883B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681978A (zh) * 2012-05-15 2012-09-19 深圳市万兴软件有限公司 一种在pdf文档中显示文本的方法及系统
CN112052647A (zh) * 2019-06-05 2020-12-08 珠海金山办公软件有限公司 一种文档编辑方法、装置、电子设备和可读存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11687626B2 (en) 2020-06-17 2023-06-27 Capital One Services, Llc System and method for securing a browser against font usage fingerprinting

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5237627A (en) * 1991-06-27 1993-08-17 Hewlett-Packard Company Noise tolerant optical character recognition system
TW565803B (en) * 1999-02-26 2003-12-11 Hewlett Packard Co System and method for accurately recognizing text font in a document processing system
CN101246596A (zh) * 2007-01-24 2008-08-20 三星电子株式会社 在文本图像编码和解码系统中匹配符号的设备和方法
US20080199081A1 (en) * 2007-02-21 2008-08-21 Fuji Xerox Co., Ltd. Image processing apparatus, image processing method and computer-readable medium

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0484380A (ja) * 1990-07-27 1992-03-17 Ricoh Co Ltd 文字認識装置
JPH04219883A (ja) * 1990-12-20 1992-08-10 Nec Corp 活字文字認識装置
US5091968A (en) * 1990-12-28 1992-02-25 Ncr Corporation Optical character recognition system and method
JP3329528B2 (ja) * 1993-09-20 2002-09-30 株式会社東芝 ドキュメント読取り装置
JP3819074B2 (ja) * 1996-07-02 2006-09-06 富士写真フイルム株式会社 文字認識装置
JP3815704B2 (ja) * 1997-10-28 2006-08-30 株式会社リコー 図形分類処理方法、図形検索処理方法、図形分類システム、図形検索システム、図形分類用特徴抽出処理方法、図形分類用表作成処理方法、情報記録媒体、図形間の類似度又は相異度の評価処理方法、図形正規化処理方法、及び、図形間対応付け処理方法
JP2000076378A (ja) * 1998-08-27 2000-03-14 Victor Co Of Japan Ltd 文字認識方法
EP1093058A1 (en) * 1999-09-28 2001-04-18 Cloanto Corporation Method and apparatus for processing text and character data
US8224092B2 (en) * 2008-07-08 2012-07-17 Xerox Corporation Word detection method and system
JP2010224145A (ja) * 2009-03-23 2010-10-07 Seiko Epson Corp 情報処理装置、制御装置及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5237627A (en) * 1991-06-27 1993-08-17 Hewlett-Packard Company Noise tolerant optical character recognition system
TW565803B (en) * 1999-02-26 2003-12-11 Hewlett Packard Co System and method for accurately recognizing text font in a document processing system
CN101246596A (zh) * 2007-01-24 2008-08-20 三星电子株式会社 在文本图像编码和解码系统中匹配符号的设备和方法
US20080199081A1 (en) * 2007-02-21 2008-08-21 Fuji Xerox Co., Ltd. Image processing apparatus, image processing method and computer-readable medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681978A (zh) * 2012-05-15 2012-09-19 深圳市万兴软件有限公司 一种在pdf文档中显示文本的方法及系统
CN112052647A (zh) * 2019-06-05 2020-12-08 珠海金山办公软件有限公司 一种文档编辑方法、装置、电子设备和可读存储介质

Also Published As

Publication number Publication date
JP5885956B2 (ja) 2016-03-16
EP2416281A3 (en) 2014-01-22
CN102375883B (zh) 2016-04-06
US8488886B2 (en) 2013-07-16
EP2416281A2 (en) 2012-02-08
JP2012048711A (ja) 2012-03-08
US20120027308A1 (en) 2012-02-02

Similar Documents

Publication Publication Date Title
US11270212B2 (en) Knowledge graph processing method and device
US10783367B2 (en) System and method for data extraction and searching
CN100465945C (zh) 从扫描文档填充电子表格的方法和装置
JP2020511726A (ja) 電子文書からのデータ抽出
US11468694B1 (en) Systems and methods for document image processing using neural networks
CN101297318B (zh) 用于混合介质文档系统的数据组织和访问
JP2012059248A (ja) フォーム・フィールドを検出および生成するシステム、方法およびプログラム
US9658997B2 (en) Portable page template
US20150193387A1 (en) Cloud-based font service system
US8804139B1 (en) Method and system for repurposing a presentation document to save paper and ink
CN109726712A (zh) 文字识别方法、装置及存储介质、服务器
WO2020060632A1 (en) Converting an image into a structured table
JP2017134822A (ja) 箇条書きリスト
EP2884425B1 (en) Method and system of extracting structured data from a document
US20140334731A1 (en) Methods and systems for evaluating handwritten documents
US11908215B2 (en) Information processing apparatus, information processing method, and storage medium
US20130132812A1 (en) Method and system for repurposing a spreadsheet to save paper and ink
CN102375883A (zh) 字体匹配
Singh et al. Salient object detection in hyperspectral images using deep background reconstruction based anomaly detection
JP6262708B2 (ja) 深い検索性を有するオブジェクト化及びハードコピーからオリジナルの電子ファイルを検出するドキュメント検出方法
US9798724B2 (en) Document discovery strategy to find original electronic file from hardcopy version
JP5113653B2 (ja) データ処理装置、プログラムおよびデータ処理方法
US20170154025A1 (en) Method and system for generating a graphical organization of a page
US20200311059A1 (en) Multi-layer word search option
EP3933678A1 (en) Information processing system, data output system, image processing method, and carrier means

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