Patentable/Patents/US-8488886
US-8488886

Font matching

PublishedJuly 16, 2013
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

Methods, computer readable media, and apparatuses for font matching are presented. A glyph may be received and processed. The processing of the received glyph may include reducing the glyph, computing bounds associated with the glyph, and normalizing the glyph. The processed glyph may be compared to a repository of image prototypes. The comparison may include determining a distance of the processed glyph from one or more the image prototypes, sorting the determined distances, and selecting one or more of the image prototypes based on the determined distances. Additional techniques may be used to enhance the resolution or accuracy associated with the various methods and algorithms.

Patent Claims
21 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method, comprising: receiving, by at least one computing device, a glyph; reducing, by the at least one computing device, the received glyph to a predefined format; normalizing, by the at least one computing device, the reduced glyph; comparing, by the at least one computing device, the normalized glyph to a plurality of image prototypes; and outputting, by the at least one computing device, at least one of the plurality of image prototypes based on the comparison of the normalized glyph to the plurality of image prototypes, wherein comparing the normalized glyph to the plurality of image prototypes includes: determining a number of rows in the normalized glyph and a number of rows in a selected one of the plurality of image prototypes; for the lesser of the number of rows in the normalized glyph and the number of rows in the selected one of the plurality of image prototypes, exclusive-or'ing (xor'ing) pixels of the normalized glyph with corresponding pixels of the selected one of the plurality of image prototypes; accumulating a result of the xor'ing of the pixels of the normalized glyph with the corresponding pixels of the selected one of the plurality of image prototypes; for each row of the normalized glyph and the selected one of the plurality of image prototypes that was not xor'ed, adding to the result a number corresponding to the number of pixels ‘on’ in the normalized glyph or the selected one of the plurality of image prototypes; and saving the added result.

2

2. The method of claim 1 , wherein reducing the received glyph to a predefined format comprises reducing the received glyph to a 1-bit depth bitmap format.

3

3. The method of claim 1 , wherein normalizing the reduced glyph comprises normalizing the reduced glyph to a predefined width and a proportional height.

4

4. The method of claim 3 , wherein each of the plurality of image prototypes are normalized to the predefined width.

5

5. The method of claim 1 , further comprising: storing, by the at least one computing device, the plurality of image prototypes in a repository.

6

6. The method of claim 1 , wherein comparing the normalized glyph to the plurality of image prototypes further includes: determining a number of rows in at least a second selected one of the plurality of image prototypes; for the lesser of the number of rows in the normalized glyph and the number of rows in the at least second selected one of the plurality of image prototypes, exclusive-or'ing (xor'ing) pixels of the normalized glyph with corresponding pixels of the at least second selected one of the plurality of image prototypes; accumulating at least a second result of the xor'ing of the pixels of the normalized glyph with the corresponding pixels of the at least second selected one of the plurality of image prototypes; for each row of the normalized glyph and the at least second selected one of the plurality of image prototypes that was not xor'ed, adding to the at least second result a number corresponding to the number of pixels ‘on’ in the normalized glyph or the at least second selected one of the plurality of image prototypes; saving the added at least second result; and determining a minimum of the added result and the added at least second result.

7

7. The method of claim 6 , wherein the outputting of the at least one of the plurality of image prototypes comprises outputting an image prototype corresponding to the determined minimum of the added result and the added at least second result.

8

8. The method of claim 1 , further comprising: computing, by the at least one computing device, bounds associated with the received glyph, wherein the normalization of the reduced glyph is based on the computed bounds.

9

9. One or more non-transitory computer-readable media having instructions stored thereon, that when executed by one or more computers, cause the one or more computers to perform: receiving a glyph; reducing the received glyph to a predefined format; normalizing the reduced glyph; comparing the normalized glyph to a plurality of image prototypes; and outputting at least one of the plurality of image prototypes based on the comparison of the normalized glyph to the plurality of image prototypes, wherein comparing the normalized glyph to the plurality of image prototypes includes: determining a number of rows in the normalized glyph and a number of rows in a selected one of the plurality of image prototypes; for the lesser of the number of rows in the normalized glyph and the number of rows in the selected one of the plurality of image prototypes, exclusive-or'ing (xor'ing) pixels of the normalized glyph with corresponding pixels of the selected one of the plurality of image prototypes; accumulating a result of the xor'ing of the pixels of the normalized glyph with the corresponding pixels of the selected one of the plurality of image prototypes; for each row of the normalized glyph and the selected one of the plurality of image prototypes that was not xor'ed, adding to the result a number corresponding to the number of pixels ‘on’ in the normalized glyph or the selected one of the plurality of image prototypes; and saving the added result.

10

10. The one or more non-transitory computer-readable media of claim 9 , wherein the instructions, when executed by the one or more computers, cause the one or more computers to perform: reducing the received glyph to a 1-bit depth bitmap format.

11

11. The one or more non-transitory computer-readable media of claim 9 , wherein the instructions, when executed by the one or more computers, cause the one or more computers to perform: normalizing the reduced glyph to a predefined width and a proportional height.

12

12. The one or more non-transitory computer-readable media of claim 9 , wherein comparing the normalized glyph to the plurality of image prototypes further includes: determining a number of rows in at least a second selected one of the plurality of image prototypes; for the lesser of the number of rows in the normalized glyph and the number of rows in the at least second selected one of the plurality of image prototypes, exclusive-or'ing (xor'ing) pixels of the normalized glyph with corresponding pixels of the at least second selected one of the plurality of image prototypes; accumulating at least a second result of the xor'ing of the pixels of the normalized glyph with the corresponding pixels of the at least second selected one of the plurality of image prototypes; for each row of the normalized glyph and the at least second selected one of the plurality of image prototypes that was not xor'ed, adding to the at least second result a number corresponding to the number of pixels ‘on’ in the normalized glyph or the at least second selected one of the plurality of image prototypes; saving the added at least second result; and determining a minimum of the added result and the added at least second result.

13

13. The one or more non-transitory computer-readable media of claim 12 , wherein the outputting of the at least one of the plurality of image prototypes comprises outputting an image prototype corresponding to the determined minimum of the added result and the added at least second result.

14

14. An apparatus, comprising: at least one processor; and memory storing instructions that, when executed by the at least one processor, cause the apparatus to perform: receiving a glyph; reducing the received glyph to a predefined format; normalizing the reduced glyph; comparing the normalized glyph to a plurality of image prototypes; and outputting at least one of the plurality of image prototypes based on the comparison of the normalized glyph to the plurality of image prototypes, wherein comparing the normalized glyph to the plurality of image prototypes includes: determining a number of rows in the normalized glyph and a number of rows in a selected one of the plurality of image prototypes; for the lesser of the number of rows in the normalized glyph and the number of rows in the selected one of the plurality of image prototypes, exclusive-or'ing (xor'ing) pixels of the normalized glyph with corresponding pixels of the selected one of the plurality of image prototypes; accumulating a result of the xor'ing of the pixels of the normalized glyph with the corresponding pixels of the selected one of the plurality of image prototypes; for each row of the normalized glyph and the selected one of the plurality of image prototypes that was not xor'ed, adding to the result a number corresponding to the number of pixels ‘on’ in the normalized glyph or the selected one of the plurality of image prototypes; and saving the added result.

15

15. The apparatus of claim 14 , wherein the instructions, when executed by the at least one processor, cause the apparatus to perform: reducing the received glyph to a 1-bit depth bitmap format.

16

16. The apparatus of claim 14 , wherein the instructions, when executed by the at least one processor, cause the apparatus to perform: normalizing the reduced glyph to a predefined width and a proportional height.

17

17. The apparatus of claim 14 , wherein the instructions, when executed by the at least one processor, cause the apparatus to perform: rotating the normalized glyph; and comparing the rotated glyph to the plurality of image prototypes.

18

18. The apparatus of claim 14 , wherein the instructions, when executed by the at least one processor, cause the apparatus to perform: computing bounds associated with the received glyph, wherein the normalization of the reduced glyph is based on the computed bounds; translating the computed bounds by an offset amount; normalizing the reduced glyph based on the translated bounds; comparing the normalized reduced glyph based on the translated bounds to the plurality of image prototypes; determining at least one image prototype selected from the plurality of image prototypes that most closely matches the received glyph based on the comparisons; and outputting the determined at least one image prototype.

19

19. The apparatus of claim 14 , wherein the instructions, when executed by the at least one processor, cause the apparatus to perform: reducing the received glyph based on a nearest-neighbors algorithm.

20

20. The apparatus of claim 14 , wherein comparing the normalized glyph to the plurality of image prototypes further includes: determining a number of rows in at least a second selected one of the plurality of image prototypes; for the lesser of the number of rows in the normalized glyph and the number of rows in the at least second selected one of the plurality of image prototypes, exclusive-or'ing (xor'ing) pixels of the normalized glyph with corresponding pixels of the at least second selected one of the plurality of image prototypes; accumulating at least a second result of the xor'ing of the pixels of the normalized glyph with the corresponding pixels of the at least second selected one of the plurality of image prototypes; for each row of the normalized glyph and the at least second selected one of the plurality of image prototypes that was not xor'ed, adding to the at least second result a number corresponding to the number of pixels ‘on’ in the normalized glyph or the at least second selected one of the plurality of image prototypes; saving the added at least second result; and determining a minimum of the added result and the added at least second result.

21

21. The apparatus of claim 20 , wherein the outputting of the at least one of the plurality of image prototypes comprises outputting an image prototype corresponding to the determined minimum of the added result and the added at least second result.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

August 2, 2010

Publication Date

July 16, 2013

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Font matching” (US-8488886). https://patentable.app/patents/US-8488886

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.