How to use ADS delivered MICR Font
MICR (aka Magnetic ink character recognition code) is a special font used for printing checks or official documents processed by banks (e.g. to print bank id, customer account number or check number in the checks). Normally to print this font in Adobe forms, we need to purchase a third party font and install in ADS/printer.
Standard ADS Font
Recently I came across SAP note SAP Note 2447246 which provides details on standard ADS delivered MICR font (‘MICR Std’) in Adobe forms. It is available with below ADS versions:
- ADS for NW 7.31 and higher release or
- SAP Cloud Platform Forms by Adobe (incl. S/4HANA Cloud)
- LiveCycle Designer 10.4 and higher version.
Printing Special Characters using MICR Std Font:
To print special characters using MICR Font we need to print following unicode values in the form:
- ⑆ 0x2446 (transit: used to delimit a bank code)
- ⑇ 0x2447 (amount: used to delimit a transaction amount)
- ⑈ 0x2448 (on-us: used to delimit a customer account number)
- ⑉ 0x2449 (dash: used to delimit parts of numbers—e.g., routing numbers or account numbers)
Steps to apply this font in Adobe Form
With the steps below, we will print three sample MICR codes:using transit& on-us in the document.
- Add following fields in the form interface Import Section to pass values for MICR printing
- Create three text fields in Adobe Form and bind these fields to interface fields from Data Bindings.
- Go to Font Palette and apply MICR Std font for all three fields:
- Define variables for passing unicode values as below and concatenate to the raw value of the text field.You can also have additional character in the input field(e.g. U for ‘On-Us’ symbol) to conditionally print MICR ornaments in the text.
- Sample code for Field 1, 2 & 3:
//Sample code for Field 1: var sym_on_us = String.fromCharCode(0x2448); var mystring = this.rawValue; this.rawValue = sym_on_us + mystring + sym_on_us; //Sample code for Field 2: var sym_transit = String.fromCharCode(0x2446); var mystring = this.rawValue; this.rawValue = sym_transit + mystring + sym_transit; //Sample code for Field 3: var sym_on_us = String.fromCharCode(0x2448); var mystring = this.rawValue; this.rawValue = mystring + sym_on_us;
- Execute this form and provide sample values:
- Sample Output:
With the release of MICR Std Font, we can remove dependency from external Third Party Font/Printer for this purpose.
Referred Site: Info on MICR Font
Thanks a lot with this article. I checked this information last year when I upgraded my LiveCycle Designer to 10.4 and I was happy to see MICR std font there but never tried.
Now, this will be really useful for my project.
Also, there is another wonderful blogpost for checks and fonts in Adobe which gives insights in S/4HANA cloud environment:
First set of characters -> Auxiliary On-US like Check Number
Second set of characters -> Transit number
Third set of characters -> On-US number
Important point: Since this is scanned electronically the allowed tolerance or MICR character skew is around 1.5 degree. You need to use special MICR ink in order to be read by a scanner.