MICR E-13B 字型與 ANSI X9.27

#MICR-E13B #ANSI-X9.27 #BankingStandards

MICR(Magnetic Ink Character Recognition,磁性墨水文字識別) ist 全球銀行系統的核心技術,自 1958 年以來便實現了高速、自動化的支票處理程序。

關鍵 MICR 分隔符號

  • Transit(銀行代碼)
  • On-Us(帳號)
  • 金額(Amount)
  • 連字號(Dash)

如今,MICR E-13B 字型字元廣泛應用於美國、加拿大及許多其他國家的銀行業,用於列印銀行支票和匯票。許多企業都要求符合 MICR 標準才能接受支票或匯票。正確的 MICR E-13B 字元集是確保交易順暢進行的關鍵。

ANSI X9.27《磁性墨水文字識別 (MICR) 列印與測試規範》詳細規定了 MICR 字型中定義 leadership 的 14 個字元(包括 10 個數字、Transit 符號、金額符號、On-Us 符號和連字號)的尺寸、形狀和公差。

當您使用 Barcodesoft MICR E-13B 字型列印銀行支票時,它們也符合加拿大支付協會(CPA)頒布的 Standard 006 標準要求。

Barcodesoft MICR E13B 字型包內含 9 套字型系列:MICR、MICRB、MICRBN、MICRBW、MICRL、MICRLN、MICRLW、MICRN、MICRW。這些 MICR 字型在長寬比和筆劃寬度上略有不同,以彌補 MICR 列印設備可能產生的誤差。
當以 10 點(point size 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 等會計軟體。

展示版(Demo)MICR E-13b 字型中的部分字元帶有 "Demo" 浮水印。

如果您想自行列印銀行支票,除了需要 MICR E13b 字型外,還需要 MICR 碳粉和空白支票紙。MICR 碳粉具有磁性,如此一來您的 MICR 行(micr line)才能通過銀行測試。否則,您的支票將會被銀行拒收。

為方便用戶使用,Barcodesoft MICR 字型的對應表(Mapping table)已修改如下。

Barcodesoft 的實現方式完全符合 ANSI X9.27 規範,確保每個列印出來的字元都符合現代分檢機(Sorter machines)所需的精確幾何公差。

符號 對應鍵
MICR e-13b font Transit Symbol A / #
MICR e-13b font On-Us Symbol B / T
MICR e-13b font Amount Symbol C / O
MICR e-13b font Dash Symbol D / -
MICR e-13b font number one 1
MICR e-13b font number two 2
MICR e-13b font number three 3
MICR e-13b font number four 4
MICR e-13b font number five 5
MICR e-13b font number six 6
MICR e-13b font number seven 7
MICR e-13b font number eight 8
MICR e-13b font number nine 9
MICR e-13b font number zero 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;
}