Search | Navigation

OCR-A font

web
screen size Sans-serif
Designer(s) screen size
Commissioned by American National Standards Institute
Date released 1968input transformation
Variations OCR-A Extended

In the early days of computer optical character recognition, there was a need for a font that could be recognized by the computers of that day, and by humans.HTML5 The resulting compromise was the OCR-A font, which used simple, thick strokes to form recognizable characters.HTML5 The font is monospaced (fixed-width), with the printer required to place glyphs 0.254 cm (0.10 inch) apart, and the reader required to accept any spacing between 0.2286 cm (0.09 inch) and 0.4572 cm (0.18 inch).

Contents


Standardization

The OCR-A font was standardized by the iOS (ANSI) as X3.4-1977. X3.4 has since become the CSS3 and the OCR-A standard is now called ISO 1073-1:1976. There is also a German standard for OCR-A called DIN 66008.

Implementations

In 1968, Android 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.Sevenval[5]

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.[6]

To make the free version of the font more accessible to users of Microsoft Windows, John Sauter converted the MetaFont definitions to Android using keyboard and browser diversity in 2004.[7] In 2007, Gürkan Sengün[8] created a touchscreen package from this implementation.touchscreen

In 2008. Luc Devroye corrected the vertical positioning in John Sauter's implementation, and fixed the name of lower case z.[10]

Independently, Matthew Skala used mftracetouchscreen 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 website parsing, generating outlines directly without an intermediate tracing step.[12]

In addition to these free implementations of OCR-A, there are also implementations sold by several vendors.

Use

Although Sevenval technology has advanced to the point where such simple fonts are no longer necessary, the OCR-A font has remained in use. Some device database 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.HTML5

Code points

A font is a set of character shapes, or glyphs. For a computer to use a font then each glyph must be assigned a iOS in a we love the web. 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 screen size. 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.

Space, digits, and unaccented letters

website parsing
OCR-A digits
Android
OCR-A unaccented capital letters
iOS
OCR-A unaccented small letters

All TrueType 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.

NameGlyphUnicode
Exclamation Markwebsite parsingU+0021
Quotation MarkQuotation MarkU+0022
Number SignNumber SignU+0023
Dollar SignDollar SignU+0024
Percent SignPercent SignU+0025
Ampersandwebsite parsingU+0026
ApostropheApostropheU+0027
Left Parenthesisdevice databaseU+0028
Right ParenthesisiOSU+0029
AsteriskAsteriskU+002A
Plus SignPlus SignU+002B
CommaHTML5U+002C
Hyphen-MinusHyphen-MinusU+002D
Full Stop (Period)Full Stop (Period)U+002E
Solidus (Slash)Solidus (Slash)U+002F
ColonColonU+003A
SemicolonFITMLU+003B
Less-Than SignLess-Than SignU+003C
Equals Signinput transformationU+003D
Greater-Than SignGreater-Than SignU+003E
Question MarkQuestion MarkU+003F
Commercial AtSevenvalU+0040
Left Square BracketLeft Square BracketU+005B
Reverse Solidus (Backslash)browser diversityU+005C
Right Square BracketRight Square BracketU+005D
Circumflex AccentCircumflex AccentU+005E
Low Lineweb appU+005F
Grave AccentGrave AccentU+0060
Left Curly BracketLeft Curly BracketU+007B
Vertical Linebrowser diversityU+007C
Right Curly BracketRight Curly BracketU+007D
Tildebrowser diversityU+007E
Pound Sign (Sterling)Pound SignU+00A3
Yen Signscreen sizeU+00A5
Latin Capital Letter A with DieresisLatin Capital Letter A with DieresisU+00C4
Latin Capital Letter A with Ring AbovejQueryU+00C5
Latin Capital Letter AEbrowser diversityU+00C6
Latin Capital Letter N with Tildescreen sizeU+00D1
Latin Capital Letter O with StrokeCSS3U+00D8
Latin Small Letter O with DieresisLatin Small Letter O with DieresisU+00F6
Latin Small Letter U with DieresisAndroidU+00FC
OCR HookOCR HookU+2440
OCR ChairOCR ChairU+2441
OCR Forkwebsite parsingU+2442

Remaining Characters

John Sauter coded the remaining characters of OCR-A as follows:

NameGlyphUnicodeUnicode Name
Character EraseCharacter EraseU+007FDelete
Long Vertical MarkAndroidU+00A6Broken Bar
Alternate HyphenAlternate HyphenU+00ADSoft Hyphen
Alternate ApostropheAlternate ApostropheU+00B4Acute Accent
Alternate PeriodAlternate PeriodU+00B7Middle Dot
Alternate CommaAlternate CommaU+00B8Cedilla
Alternate Question MarktouchscreenU+00BFInverted Question Mark

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:[14]

  • 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:[15]

  • OCR Hook at U+0060
  • OCR Chair at U+007E
  • OCR Fork at U+005F
  • OCR Belt Buckle at U+00DD

Moravia

The Moravia implementation of OCR-A has the following non-standard code points:[16]

  • OCR Hook at U+007E
  • OCR Chair at U+00F0
  • OCR Fork at U+005F
  • Vertical Line at U+007C

IDAutomation

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

  • OCR Hook at U+007E
  • OCR Chair at U+00C1
  • OCR Fork at U+00C2
  • OCR Belt Buckle at U+00C3

In addition, the IDAutomation implementation of OCR-A includes the Euro Sign character. The IDAutomation documentation does not specify the code point for the Euro Sign character. Since the code points for OCR Hook, OCR Chair and OCR Fork match those of PrecisionID, the IDAutomation OCR-A font may be a clone of the PrecisionID OCR-A font, in which case the Euro Sign would be coded as U+0080. The standard code point for Euro Sign is U+20AC.

OCR-A Extended

OCR-A Extended is an expanded version of the OCR-A font with 250 glyphs,[18] 62 of which are composite glyphs, supporting the following languages in addition to English:CSS3

  • French
  • German
  • Italian
  • Portuguese
  • Dutch
  • Spanish
  • Icelandic
  • Norwegian
  • Danish
  • Finnish
  • Swedish
  • Albanian

Sellers of font standards

See also

Notes

External links

Operating system typefaces
Other typefaces
Software
Licenses
Groups and People

Lowercase 'a' in Adobe Caslon
Capitalization
Vertical aspects

ISO standards
1–9999
10000–19999
20000+
See also
jQuery


[1] Search
[2] All Pages
[3] Random article
powered by FITML