OCR-A

Typeface designed for early computer OCR


title: "OCR-A" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["monospaced-typefaces", "sans-serif-typefaces", "microsoft-typefaces", "iso-standards", "open-source-typefaces", "optical-character-recognition", "ocr-typefaces", "american-type-founders-typefaces", "computer-related-introductions-in-1968"] description: "Typeface designed for early computer OCR" topic_path: "geography/united-states" source: "https://en.wikipedia.org/wiki/OCR-A" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0

::summary Typeface designed for early computer OCR ::

::data[format=table title="Infobox font"]

FieldValue
nameOCR-A
imageOCR-A font.svg
sample[[File:Typeface specimen OCR A.svg
styleSans-serif
classificationsGeometric
releasedate1966
foundryAmerican Type Founders
commissioned_byAmerican National Standards Institute
variationsOCR-A Extended
::

| name = OCR-A | image = OCR-A font.svg | sample = [[File:Typeface specimen OCR A.svg|220px]] | style = Sans-serif | classifications = Geometric | releasedate = 1966 | foundry = American Type Founders | commissioned_by = American National Standards Institute | variations = OCR-A Extended OCR-A is a font issued in 1966 and first implemented in 1968. A special font was needed in the early days of computer optical character recognition, when there was a need for a font that could be recognized not only by the computers of that day, but also by humans. OCR-A uses simple, thick strokes to form recognizable characters. The font is monospaced (fixed-width), with the printer required to place glyphs cm ( inch) apart, and the reader required to accept any spacing between cm ( inch) and cm ( inch).

Standardization

The OCR-A font was standardized by the American National Standards Institute (ANSI) as ANSI X3.17-1981. X3.4 has since become the INCITS and the OCR-A standard is now called ISO 1073-1:1976.

Implementations

In 1968, American Type Founders produced OCR-A, one of the first optical character recognition typefaces to meet the criteria set by the U.S. Bureau of Standards. The design is simple so that it can be easily read by a machine, but it is more difficult for the human eye to read.

As metal type gave way to computer-based typesetting, Tor Lillqvist used Metafont to describe the OCR-A font. That definition was subsequently improved by Richard B. Wales. Their work is available from CTAN.

To make the free version of the font more accessible to users of Microsoft Windows, John Sauter converted the Metafont definitions to TrueType using potrace and FontForge in 2004. In 2007, Gürkan Sengün created a Debian package from this implementation. In 2008. Luc Devroye corrected the vertical positioning in John Sauter's implementation, and fixed the name of lower case z.

Independently, Matthew Skala used mftrace to convert the Metafont definitions to TrueType format in 2006. In 2011 he released a new version created by rewriting the Metafont definitions to work with METATYPE1, generating outlines directly without an intermediate tracing step. On September 27, 2012, he updated his implementation to version 0.2.

In addition to these free implementations of OCR-A, there are also implementations sold by several vendors. As a joke, Tobias Frere-Jones in 1995 created Estupido-Espezial, a redesign with swashes and a long s. It was used in a "technology"-themed section of Rolling Stone.

Maxitype designed the OCR-X typeface—based on the OCR-A typeface with OpenType features, alien/technology-themed dingbats and available in six weights (Thin, Light, Regular, Medium, Bold, Black).

Japanese typeface foundry Visual Design Laboratory (VDL) designed two typefaces based on the OCR-A typeface: one for Simplified Chinese characters named Jieyouti and one for Japanese characters named Yota G (ヨタG) , both available in five weights (Light, Regular, Medium, Semi Bold, Bold).

Use

::figure[src="https://upload.wikimedia.org/wikipedia/commons/d/de/Verrechnungsscheck,_WestLB,_Landeshauptkasse_Düsseldorf,_2004.jpg" caption="bank check]]. The ⑂, ⑀ and ⑁ characters are used to delimit particular fields in the machine-readable line (shown here partially redacted)."] ::

Although optical character recognition technology has advanced to the point where such simple fonts are no longer necessary, the OCR-A font has remained in use. Its usage remains widespread in the encoding of checks around the world. Some lock box companies still insist that the account number and amount owed on a bill return form be printed in OCR-A. Also, because of its unusual look, it is sometimes used in advertising and display graphics.

Notably, it is used for the subtitles in films and television series such as Blacklist and for the main titles in The Pretender. Additionally, OCR-A is used in the titles and subtitles for the films 13 Hours: The Secret Soldiers of Benghazi and Hoppers (film). It was also used for the logo, branding, and marketing material of the children's toy line Hexbug.

Code points

A font is a set of character shapes, or glyphs. For a computer to use a font, each glyph must be assigned a code point in a character set. When OCR-A was being standardized the usual character coding was the American Standard Code for Information Interchange or ASCII. Not all of the glyphs of OCR-A fit into ASCII, and for five of the characters there were alternate glyphs, which might have suggested the need for a second font. However, for convenience and efficiency all of the glyphs were expected to be accessible in a single font using ASCII coding, with the additional characters placed at coding points that would otherwise have been unused.

The modern descendant of ASCII is Unicode, also known as ISO 10646. Unicode contains ASCII and has special provisions for OCR characters, so some implementations of OCR-A have looked to Unicode for guidance on character code assignments.

Pre-Unicode standard representation

The ISO standard ISO 2033:1983, and the corresponding Japanese Industrial Standard JIS X 9010:1984 (originally JIS C 6229–1984), define character encodings for OCR-A, OCR-B and E-13B. For OCR-A, they define a modified 7-bit ASCII set (also known by its ISO-IR number ISO-IR-91) including only uppercase letters, digits, a subset of the punctuation and symbols, and some additional symbols. Codes which are redefined relative to ASCII, as opposed to simply omitted, are listed below:

::data[format=table]

CharacterImageLocationIn ASCIIComments
£[[Image:OCR-A char Pound Sign.svg12pxPound Sign]]0x23
{[[Image:OCR-A char Left Curly Bracket.svg12pxLeft Curly Bracket]]0x28
}[[Image:OCR-A char Right Curly Bracket.svg12pxRight Curly Bracket]]0x29
[[Image:OCR-A char OCR Hook.svg12pxOCR Hook]]0x3C
[[Image:OCR-A char OCR Chair.svg12pxOCR Chair]]0x3E
¥[[Image:OCR-A char Yen Sign.svg12pxYen Sign]]0x5C
[[Image:OCR-A char OCR Fork.svg12pxOCR Fork]]0x5D
::

Additionally, the long vertical mark ([[Image:OCR-A char Long Vertical Mark.svg|12px|class=skin-invert|Long Vertical Mark]]) is encoded at 0x7C, corresponding to the ASCII vertical bar (|).

Dedicated OCR-A characters in Unicode

Main article: Optical Character Recognition (Unicode block)

The following characters have been defined for control purposes and are now in the "Optical Character Recognition" Unicode range 2440–245F:

::data[format=table title="Dedicated OCR-A code points based on ASCII and Unicode{{Cite web |access-date=4 January 2023 |title=Optical Character Recognition |url=https://www.unicode.org/charts/PDF/U2440.pdf |url-status=live |archive-url=https://web.archive.org/web/20230104125606/https://www.unicode.org/charts/PDF/U2440.pdf |archive-date=4 January 2023 |website=[[Unicode Consortium]]}}"]

NameImageTextUnicode
OCR Hook[[Image:OCR-A char OCR Hook.svg12pxOCR Hook]]
OCR Chair[[Image:OCR-A char OCR Chair.svg12pxOCR Chair]]
OCR Fork[[Image:OCR-A char OCR Fork.svg12pxOCR Fork]]
OCR Inverted fork****U+2443
OCR Belt buckle****U+2444
OCR Bow tie****U+2445
::

Space, digits, and unaccented letters

::figure[src="https://upload.wikimedia.org/wikipedia/commons/2/24/OCR-A_char_digits.svg" caption="OCR-A digits"] ::

::figure[src="https://upload.wikimedia.org/wikipedia/commons/9/92/OCR-A_char_unaccented_capital_letters.svg" caption="OCR-A unaccented capital letters"] ::

::figure[src="https://upload.wikimedia.org/wikipedia/commons/a/a6/OCR-A_char_unaccented_small_letters.svg" caption="OCR-A unaccented small letters"] ::

All implementations of OCR-A use U+0020 for space, U+0030 through U+0039 for the decimal digits, U+0041 through U+005A for the unaccented upper case letters, and U+0061 through U+007A for the unaccented lower case letters.

Regular characters

In addition to the digits and unaccented letters, many of the characters of OCR-A have obvious code points in ASCII. Of those that do not, most, including all of OCR-A's accented letters, have obvious code points in Unicode. ::data[format=table title="Additional OCR-A code points based on ASCII and Unicode"]

NameGlyphUnicode
Exclamation Mark[[Image:OCR-A char Exclamation Mark.svg12px
Quotation Mark[[Image:OCR-A char Quotation Mark.svg12px
Number Sign[[Image:OCR-A char Number Sign.svg12px
Dollar Sign[[Image:OCR-A char Dollar Sign.svg12px
Percent Sign[[Image:OCR-A char Percent Sign.svg12px
Ampersand[[Image:OCR-A char Ampersand.svg12px
Apostrophe[[Image:OCR-A char Apostrophe.svg12px
Left Parenthesis[[Image:OCR-A char Left Parenthesis.svg12px
Right Parenthesis[[Image:OCR-A char Right Parenthesis.svg12px
Asterisk[[Image:OCR-A char Asterisk.svg12px
Plus Sign[[Image:OCR-A char Plus Sign.svg12px
Comma[[Image:OCR-A char Comma.svg12px
Hyphen-Minus[[Image:OCR-A char Hyphen-Minus.svg12px
Full Stop (Period)[[Image:OCR-A char Full Stop.svg12px
Solidus (Slash)[[Image:OCR-A char Solidus.svg12px
Colon[[Image:OCR-A char Colon.svg12px
Semicolon[[Image:OCR-A char Semicolon.svg12px
Less-Than Sign[[Image:OCR-A char Less-Than Sign.svg12px
Equals Sign[[Image:OCR-A char Equals Sign.svg12px
Greater-Than Sign[[Image:OCR-A char Greater-Than Sign.svg12px
Question Mark[[Image:OCR-A char Question Mark.svg12px
Commercial At[[Image:OCR-A char Commercial At.svg12px
Left Square Bracket[[Image:OCR-A char Left Square Bracket.svg12px
Reverse Solidus (Backslash)[[Image:OCR-A char Reverse Solidus.svg12px
Right Square Bracket[[Image:OCR-A char Right Square Bracket.svg12px
Circumflex Accent[[Image:OCR-A char Circumflex Accent.svg12px
Left Curly Bracket[[Image:OCR-A char Left Curly Bracket.svg12px
Right Curly Bracket[[Image:OCR-A char Right Curly Bracket.svg12px
Pound Sign (Sterling)[[Image:OCR-A char Pound Sign.svg12px
Yen Sign[[Image:OCR-A char Yen Sign.svg12px
Latin Capital Letter A with Dieresis[[Image:OCR-A char A with Dieresis.svg12px
Latin Capital Letter A with Ring Above[[Image:OCR-A char A with Ring Above.svg12px
Latin Capital Letter AE[[Image:OCR-A char AE.svg12px
Latin Capital Letter N with Tilde[[Image:OCR-A char N with Tilde.svg12px
Latin Capital Letter O with Dieresis[[Image:OCR-A char o with Dieresis.svg12px
Latin Capital Letter O with Stroke[[Image:OCR-A char O with Stroke.svg12px
Latin Capital Letter U with Dieresis[[Image:OCR-A char u with Dieresis.svg12px
::

Remaining characters

Linotype coded the remaining characters of OCR-A as follows:

::data[format=table title="Additional OCR-A Characters"] | Name | Glyph | Unicode || Unicode Name | |---|---|---| | Long Vertical Mark | [[Image:OCR-A char Long Vertical Mark.svg|12px|Long Vertical Mark]] | U+007C | ::

Additional characters

The fonts that descend from the work of Tor Lillqvist and Richard B. Wales define four characters not in OCR-A to fill out the ASCII character set. These shapes use the same style as the OCR-A character shapes. They are: ::data[format=table title="Additional ASCII characters"]

NameGlyphUnicode
Low Line[[Image:OCR-A char Low Line.svg12px
Grave Accent[[Image:OCR-A char Grave Accent.svg12px
Vertical Line[[Image:OCR-A char Vertical Line.svg12px
Tilde[[Image:OCR-A char Tilde.svg12px
::

Linotype also defines additional characters.

Exceptions

Some implementations do not use the above code point assignments for some characters.

PrecisionID

The PrecisionID implementation of OCR-A has the following non-standard code points:

  • OCR Hook at U+007E
  • OCR Chair at U+00C1
  • OCR Fork at U+00C2
  • Euro Sign at U+0080

Barcodesoft

The Barcodesoft implementation of OCR-A has the following non-standard code points:

  • OCR Hook at U+0060
  • OCR Chair at U+007E
  • OCR Fork at U+005F
  • Long Vertical Mark at U+007C (agrees with Linotype)
  • Character Erase at U+0008

Morovia

The Morovia implementation of OCR-A has the following non-standard code points:

  • OCR Hook at U+007E (agrees with PrecisionID)
  • OCR Chair at U+00F0
  • OCR Fork at U+005F (agrees with Barcodesoft)
  • Long Vertical Mark at U+007C (agrees with Linotype)

IDAutomation

The IDAutomation implementation of OCR-A has the following non-standard code points:

  • OCR Hook at U+007E (agrees with PrecisionID)
  • OCR Chair at U+00C1 (agrees with PrecisionID)
  • OCR Fork at U+00C2 (agrees with PrecisionID)
  • OCR Belt Buckle at U+00C3

Sellers of font standards

Notes

References

  1. National Institute of Standards and Technology. (1981). "American National Standard Character Set for Optical Character Recognition (OCR-A)". American National Standards Institute, Inc.
  2. [https://typekit.com/fonts/ocr-a-std Background on the OCR-A font from Adobe]
  3. "OCR A".
  4. [http://www.microscan.com/en-us/technology/opticalcharacterrecognition.aspx Motivation for OCR-A from Microscan]
  5. "Background on OCR from Embedded Software Engineering".
  6. [https://ctan.org/pkg/ocr-a The MetaFont sources for OCR-A from CTAN]
  7. [https://sourceforge.net/project/showfiles.php?group_id=121297 John Sauter's 2004 OCR-A font from those MetaFont sources]
  8. [https://packages.debian.org/search?keywords=fonts-ocr-a The fonts-ocr-a Debian packages, based on John Sauter's SourceForge project]
  9. [http://luc.devroye.org/fonts-48501.html Luc Devroye's account of his changes to John Sauter's implementation of OCR-A]
  10. [https://ansuz.sooke.bc.ca/ Matthew Skala's home page]
  11. [http://packages.debian.org/mftrace The mftrace Debian package]
  12. [https://tsukurimashou.org/ocr.php.en Matthew Skala's 2012 OCR-A font from the MetaFont sources]
  13. "Two Fools".
  14. (1997-11-27). "Technology, Fall '97".
  15. "OCR-X typeface". Maxitype.
  16. "Jieyouti typeface". Visual Design Laboratory.
  17. "Yota G typeface". Visual Design Laboratory.
  18. (1970). "The History of OCR". Data Processing Magazine.
  19. "Description of a lockbox service, note "The bill contains an invoice and a statement with patient information contained in a scannable Optical Character Recognition (OCR) line. The OCR line is similar in appearance to that found on a credit card statement or telephone bill."".
  20. (1985-08-01). "Japanese OCR-A Graphic Character Set".
  21. (1975-12-01). "The set of graphic characters of the United Kingdom 7-bit data code".
  22. "Optical Character Recognition".
  23. [https://www.linotype.com/1085573/ocr-a-regular-product.html Linotype's OCR-A font: choose Character Map to see the characters and their coding]
  24. [https://www.linotype.com/900974/ocr-a-extended-product.html Linotype's OCR-A Extended font: choose Character Map then Show all]
  25. [http://www.precisionid.com/tutorials/OCR_Font_User_Manual.pdf PrecisionID User Guide for the PrecisionID implementation of the OCR-A font]
  26. [http://www.barcode-soft.com/ocr_font.aspx Information page for the Barcode implementation of the OCR-A font]
  27. [http://www.ozgrid.com/barcodes/ocr-font.htm Another source of information about the Barcode fonts]
  28. [http://morovia.com/font/ocr.asp Information page for the Morovia implementation of the OCR-A font]
  29. [http://www.idautomation.com/ocr-a-and-ocr-b-fonts/#product-information Information page for the IDAutomation implementation of the OCR-A and OCR-B fonts]

::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::

monospaced-typefacessans-serif-typefacesmicrosoft-typefacesiso-standardsopen-source-typefacesoptical-character-recognitionocr-typefacesamerican-type-founders-typefacescomputer-related-introductions-in-1968