MICR E-13B フォントと ANSI X9.27
MICR(Magnetic Ink Character Recognition:磁気インク文字認識)は、世界の銀行システムを支える基盤技術であり、1958年以来、高速かつ自動化された小切手処理を可能にしています。
主要な MICR デリミタ(区切り文字)
- ⑆ Transit(銀行コード)
- ⑈ On-Us(口座番号)
- ⑇ 金額(Amount)
- ⑉ ダッシュ(ハイフン)
今日、MICR E-13B フォントの文字は、米国、カナダ、その他多くの国の銀行業界で、銀行小切手や郵便為替(マネーオーダー)の印刷に広く使用されています。小切手や郵便為替を受け入れるために、多くの企業でMICR規格への準拠が義務付けられています。適切な MICR E-13B 文字セットを使用することが、取引をスムーズに行うための鍵となります。
磁気インク文字認識(MICR)の印刷およびテスト仕様である「ANSI X9.27」では、MICRフォントで定義されている14文字(10個の数字、Transit記号、金額記号、On-Us記号、ダッシュ記号を含む)の寸法、形状、許容誤差について詳細に規定されています。
Barcodesoftの MICR E-13B フォントを使用して銀行小切手を印刷する場合、カナダ決済協会(CPA)が発行する「Standard 006」の要件にも適合します。
Barcodesoft MICR E13B フォントパッケージには、MICR、MICRB、MICRBN、MICRBW、MICRL、MICRLN、MICRLW、MICRN、MICRW の9つのフォントセットが含まれています。これらのMICRフォントは、MICR印刷機器の不正確さを補うために、アスペクト比とストローク幅(線の太さ)がわずかに異なっています。
10ポイントのサイズで印刷した場合、Barcodesoft MICR フォントは ANSI X9.27 ドキュメントの要件を満たすように設計されています。
Barcodesoft MICR フォントは、TrueType、PostScript、PCL フォーマット、OpenType(eot)、Web Open Font Format(woff / woff2)、および SVG で利用可能です。Adobe PDF ファイルやウェブページに埋め込むことができます。
Barcodesoft MICR E-13B フォントは、Peachtree や QuickBooks などの会計ソフトウェアで動作します。
デモ版の MICR E-13B フォントの一部の文字には、"Demo" のウォーターマーク(透かし)が入っています。
ご自身で銀行小切手を印刷する場合は、MICR E13B フォントに加えて、MICR トナーとブランク小切手用紙が必要になります。MICR トナーは磁気性を帯びているため、印刷された MICR ラインが銀行のテストを通過できます。そうでない場合、小切手は銀行によって拒否されます。
ユーザーの利便性を考慮し、Barcodesoft MICR フォントのマッピングテーブルは以下のように変更されています。
Barcodesoftの設計は ANSI X9.27 仕様に完全準拠しており、印刷されたすべての文字が現代のソーターマシン(分類機)で要求される正確な幾何学的許容誤差を満たしていることを保証します。
| 記号 | マッピング |
|---|---|
| A / # | |
| B / T | |
| C / O | |
| D / - | |
| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| 6 | |
| 7 | |
| 8 | |
| 9 | |
| 0 |
開発者向けインテグレーション
#include "stdafx.h"
#include "atlbase.h"
#import "bcspreciseocr.tlb"
using namespace BCSPreciseOCRLib;
int _tmain(int argc, _TCHAR* argv[])
{
USES_CONVERSION;
CoInitialize(NULL);
try
{
IBCSOCRPtr pOCR(__uuidof(BCSOCR));
pOCR->raw_SetMode(0); // 0: スキャナーモード
pOCR->raw_SetFont(0); // 0: MICRフォントOCR用
_bstr_t strOCR = pOCR->Recognize(T2OLE(_T("image.bmp")));
_tprintf(L"%s", OLE2CT(strOCR));
}
catch (const _com_error& e)
{
_tprintf("Error: 0x%08x %s\n", e.Error(), e.ErrorMessage());
}
CoUninitialize();
return 0;
}