OCR-A
1. 개요
OCR-A는 미국 국립 표준 협회(ANSI)에서 표준화된 광학 문자 인식 글꼴이다. 초기에는 기계 판독에 최적화되었으나, 이후 다양한 구현과 유니코드 지원을 통해 사용되고 있다. OCR-A는 수표 인코딩, 광고, 영화 자막 등에 활용되며, 독특한 외관으로 인해 시각적인 효과를 주기도 한다.
이미지 준비중입니다.
| 스타일 | 산세리프 |
|---|---|
| 출시일 | 1968년 |
| 창작자 | 아메리칸 타입 파운더스 |
| 의뢰 기관 | 미국 국가 표준 협회 |
| 변형 | OCR-A 확장 |
| 최초 개발 | 1961년 (숫자 글꼴) |
|---|---|
| 알파뉴메릭 글꼴 출시 | 1966년 (57자, 대문자) |
| 표준 개정 | 1981년 (ANSI X3.17-1981) |
| 표준 준수 | 미국 국가 표준 협회 (ANSI), 독일 DIN 66008 |
| 대체 버전 | 표준 ISO-Adobe 문자 세트 포함 |
-
광학 문자 인식 -
자동 번호판 인식
-
광학 문자 인식 -
광학 마크 인식
광학 마크 인식(OMR)은 광학적으로 마크 유무를 감지하여 데이터를 입력하는 기술로, 시험 채점, 설문 조사 등에 활용되며 OMR 소프트웨어 발전을 통해 데이터 처리가 빨라지고 정확해지고 있다. -
고정폭 글꼴 -
OCR-B
OCR-B는 1960년대 ECMA에서 개발되어 ISO 1073-2로 채택된 광학 문자 인식 관련 표준 글꼴이며, 다양한 디지털 환경에서 사용되고 퍼블릭 도메인 버전도 존재한다. -
고정폭 글꼴 -
로보토
로보토는 크리스찬 로버트슨이 디자인한 구글의 산세리프 글꼴로, 2013년부터 안드로이드 운영체제 및 여러 구글 서비스에서 기본 시스템 글꼴로 사용되고 있으며, 네오 그로테스크 양식에 속해 다양한 굵기와 스타일을 제공한다. -
마이크로소프트 글꼴 -
맑은 고딕
맑은 고딕은 윈도우 비스타부터 기본 한글 글꼴로 사용된 훈민정음 기반의 글꼴이며, KS X 1001의 모든 특수 문자와 한글 11172자를 지원하고 클리어타입 렌더링을 최적화했지만 백슬래시 기호 표시 문제점이 있다. -
마이크로소프트 글꼴 -
Comic Sans
Comic Sans는 1994년 빈센트 코나레가 개발한 폰트이며, 마이크로소프트 밥의 말풍선 글꼴 대체용으로 개발되어 윈도우 95 등에 기본 글꼴로 제공되었지만, 남용에 대한 비판을 받기도 한다.
2. 표준
OCR-A 글꼴은 미국 국립 표준 협회(ANSI)에서 ANSI X3.17-1981로 표준화했다. X3.4 이후 INCITS가 작업했으며, OCR-A 표준은 현재 ISO 1073-1:1976으로 불린다. OCR-A의 DIN 66008이라는 독일 표준도 있다.
ISO 표준 ISO 2033:1983과, 이에 상응하는 일본 산업 규격 JIS X 9010:1984 (원래 JIS C 6229-1984)는 OCR-A, OCR-B, E-13B에 대한 문자 인코딩을 정의한다. OCR-A는 대문자, 숫자, 구두점 및 기호의 하위 집합, 그리고 몇몇 추가 기호만을 포함하는 수정된 7비트 ASCII 세트(ISO-IR 번호 ISO-IR-91로도 알려져 있음)를 정의한다. ASCII를 기준으로 단순히 생략되는 것이 아니라 재정의된 코드는 다음과 같다.
| 문자 | 이미지 | 위치 | ASCII에서 | 비고 |
|---|---|---|---|---|
| £ | -- | 0x23 | # | ISO 646의 영국 변형인 BS 4730과 일치한다. |
| { | -- | 0x28 | ( | 문자 이름은 중괄호를 표시하지만, 여전히 "LEFT PARENTHESIS"이다. 일반적인 왼쪽 중괄호 ASCII 코드 0x7B는 생략된다. |
| } | -- | 0x29 | ) | 문자 이름은 중괄호를 표시하지만, 여전히 "RIGHT PARENTHESIS"이다. 일반적인 오른쪽 중괄호 ASCII 코드 0x7D는 생략된다. |
| ⑀ | -- | 0x3C | < | |
| ⑁ | -- | 0x3E | > | |
| ¥ | -- | 0x5C | \ | JIS X 0201과 일치한다. JIS X 9010에 포함되어 있지만, ISO 2033에서는 생략되었다. |
| ⑂ | -- | 0x5D | ] |
또한, 긴 수직선 표시(--)는 ASCII 수직 막대(|)에 해당하는 0x7C에 인코딩된다.
3. 구현
1968년, 아메리칸 타입 파운더스(American Type Founders, ATF)는 미국 표준국(US Bureau of Standards)의 기준을 충족하는 최초의 광학 문자 인식 글꼴 중 하나인 OCR-A를 제작했다. 초기 디자인은 기계 판독에 최적화되어 사람의 가독성은 낮았다.
금속 활자에서 컴퓨터 조판 방식으로 전환되면서, Tor Lillqvist가 메타폰트(MetaFont)를 사용하여 OCR-A 글꼴을 디자인했다. Richard B. Wales가 MetaFont 정의를 개선했으며, 이들의 작업은 CTAN에서 확인할 수 있다.
John Sauter는 2004년 포트레이스(potrace)와 폰트포지(FontForge)를 사용하여 MetaFont 정의를 트루타입(TrueType)으로 변환, 무료 버전 글꼴을 사용자에게 제공했다. Gürkan Sengün은 2007년 이 구현을 기반으로 데비안(Debian) 패키지를 만들었다. 2008년, 뤽 데브로이(Luc Devroye)는 John Sauter의 구현에서 수직 위치를 수정하고 소문자 z에 대한 작업을 완료했다.
매튜 스칼라(Matthew Skala)는 mftrace를 사용하여 MetaFont 정의를 트루타입 형식으로 변환했다. 2011년, 매튜 스칼라는 Metafont 정의를 다시 작성하여 중간 버전 추적 없이 직접 윤곽선을 생성하는 새 버전을 출시, 2012년에 업데이트했다. 매튜 스칼라는 OCR-A 및 OCR-B 글꼴과 소스 모두를 퍼블릭 도메인으로 공개했다.
상용 OCR-A 글꼴도 여러 공급업체에서 판매되고 있다. 토바이어스 프레르-존스(Tobias Frere-Jones)는 1995년에 장식 활자(swashes)와 긴 s가 있는 OCR-A 재설계인 Estupido-Espezial을 만들었다. Maxitype은 OCR-A 글꼴을 기반으로 한 OCR-X 글꼴을 디자인했다.
4. 유니코드
ASCII의 현재 계열은 ISO 10646으로도 알려진 유니코드이다. 유니코드는 ASCII를 포함하고 있으며 OCR 문자에 대한 특수 규정이 있어, OCR-A의 일부 구현은 문자 코드 할당에 대한 지침으로 유니코드를 고려한다.
4.1. 유니코드의 OCR-A 전용 문자
ASCII의 현재 계열은 ISO 10646으로도 알려진 유니코드이다. 유니코드는 ASCII를 포함하고 있으며 OCR 문자에 대한 특수 규정이 있으므로 OCR-A의 일부 구현은 문자 코드 할당에 대한 지침으로 유니코드를 고려해야 한다.
다음 문자는 제어 목적으로 정의되었으며 현재 "광학 문자 인식" 유니코드 범위 2440–245F에 있다.
4.2. 공백, 숫자 및 악센트 없는 문자
OCR-A의 모든 구현은 공백에 U+0020, 십진수 숫자에 U+0030부터 U+0039까지, 악센트 없는 대문자에 U+0041부터 U+005A까지, 악센트 없는 소문자에 U+0061부터 U+007A까지를 사용한다.
--
--
--
4.3. 일반 문자
숫자와 악센트가 없는 문자를 제외하고, OCR-A의 많은 문자는 ASCII에 명백한 코드 포인트를 가지고 있다. 그렇지 않은 문자 중 대부분은, OCR-A의 모든 악센트가 있는 문자를 포함하여 유니코드에 명백한 코드 포인트를 가지고 있다.
| 이름 | 글리프 | 유니코드 |
|---|---|---|
| 느낌표 | -- | U+0021 |
| 큰따옴표 | -- | U+0022 |
| 넘버 기호 | -- | U+0023 |
| 달러 기호 | -- | U+0024 |
| 퍼센트 기호 | -- | U+0025 |
| 앰퍼샌드 | -- | U+0026 |
| 작은따옴표 | -- | U+0027 |
| 왼쪽 괄호 | -- | U+0028 |
| 오른쪽 괄호 | -- | U+0029 |
| 별표 | -- | U+002A |
| 더하기 기호 | -- | U+002B |
| 쉼표 | -- | U+002C |
| 하이픈-마이너스 | -- | U+002D |
| 마침표 | -- | U+002E |
| 솔리두스 (슬래시) | -- | U+002F |
| 콜론 | -- | U+003A |
| 세미콜론 | -- | U+003B |
| 보다 작음 기호 | -- | U+003C |
| 등호 | -- | U+003D |
| 보다 큼 기호 | -- | U+003E |
| 물음표 | -- | U+003F |
| 골뱅이 기호 | -- | U+0040 |
| 왼쪽 대괄호 | -- | U+005B |
| 역 슬래시 | -- | U+005C |
| 오른쪽 대괄호 | -- | U+005D |
| 곡절 악센트 | -- | U+005E |
| 왼쪽 중괄호 | -- | U+007B |
| 오른쪽 중괄호 | -- | U+007D |
| 파운드 기호 (파운드) | -- | U+00A3 |
| 엔 기호 | -- | U+00A5 |
| 라틴 대문자 A (분음 부호 포함) | -- | U+00C4 |
| 라틴 대문자 A (링 첨가) | -- | U+00C5 |
| 라틴 대문자 AE | -- | U+00C6 |
| 라틴 대문자 N (물결표 포함) | -- | U+00D1 |
| 라틴 대문자 O (분음 부호 포함) | -- | U+00D6 |
| 라틴 대문자 O (가로선 포함) | -- | U+00D8 |
| 라틴 대문자 U (분음 부호 포함) | -- | U+00DC |
4.4. 나머지 문자
ASCII의 현재 계열은 ISO 10646으로도 알려진 유니코드이다. 유니코드는 ASCII를 포함하고 있으며 OCR 문자에 대한 특수 규정이 있으므로, OCR-A의 일부 구현은 문자 코드 할당에 대한 지침으로 유니코드를 고려해야 한다. 라이노타입(Linotype)은 OCR-A의 나머지 문자에 대한 유니코드 인코딩을 정의했다. 긴 수직 막대는 U+007C (수직선)를 사용한다.
| 이름 | 글리프 | 유니코드 | 유니코드 이름 |
|---|---|---|---|
| 긴 수직 막대 | -- | U+007C | 수직선 |
4.5. 추가 문자
Tor Lillqvist와 Richard B. Wales의 작업을 기반으로 한 글꼴은 ASCII 문자 집합을 채우기 위해 OCR-A에 없는 네 개의 문자를 정의한다. 이 모양은 OCR-A 문자 모양과 동일한 스타일을 사용한다.
| 이름 | 글리프 | 유니코드 |
|---|---|---|
| 밑줄 | -- | U+005F |
| 억음 부호 | -- | U+0060 |
| 세로선 | -- | U+007C |
| 물결표 | -- | U+007E |
린노타입(Linotype)은 또한 추가 문자를 정의한다.
4.6. 예외
5. 활용
광학 문자 인식 기술이 발전하여 더 이상 단순한 글꼴이 필요하지 않게 되었지만, OCR-A 글꼴은 계속 사용되고 있다. 전 세계적으로 수표 인코딩에 널리 사용되고 있다. 일부 락박스 회사는 여전히 청구서 반환 양식에 계정 번호와 지불해야 할 금액을 OCR-A로 인쇄하도록 요구한다. 또한 독특한 외관 때문에 광고 및 디스플레이 그래픽에도 사용되기도 한다.
특히, 블랙리스트와 같은 영화 및 텔레비전 시리즈의 자막과 프리텐더의 메인 타이틀에 사용된다. 또한, OCR-A는 크림슨 타이드와 13시간: 벵가지의 비밀 병사들 영화에도 사용된다.