## Printing a MICR line using the MICR font from a SIMM or Cartridge.

The following codes must be sent from the application that is printing the check data (the amount, data, payee, etc.) This operation normally requires a change to the source code.

## The Quick and Easy Solution

• Select the MICR Font.

Send: esc(8Mesc(s0p8h12v0s0b80T

• Position the Cursor. All coordinates are 4th quadrant: starting from the upper left corner, right is positive X and down is positive Y. The actual printable area starts 1/4 inch in and down from the actual edge of the paper on laser printers.

Use the MICR gauge to determine the X coordinate of the first character of the sample MICR line. The first character of the Routing field (character 43) starts at 5.6875 inches from the right edge of the paper, which on a letter width page is 2.8125 inches from the left edge of the paper. We must reduce the position by 1/4 inch to compinsate for the non-printable margin between the edge of the paper and the first place all laser printers are allowed to print so we are left with 2.5625 or  1845/720ths of an inch. Each character space to the right adds 1/8 inch or 90/720ths.

For example: Character 53 is at 945/720ths (starting from character 43 at 1845/720ths subtract 10 times 90/720ths) and the next space to the right would be 945+90=1035.

For the Y-coordinate, measure from the top of the form to the top of the MICR line and subtract .25" then multiply by 720. Example 3.15 inches less 0.25" times 720 is 2088. You may need to fine tune the X and Y coordinates for each printer so we very strongly recommend that these positions be stored in an "initialization" file or record that can be easily adjusted by the operator.

Send: esc&a(X-coordinate)h(Y-coordinate)V

h for horizontal, V for vertical. In our example this would be:

esc&a945h2088V

• Print the MICR line including numbers and special symbols. The four special symbols are printed using the standard characters listed on the MICR gauge. (e.g. used & for the Transit symbol. )

For Example, send:

/(check number)/ &89317050&3458989

• Switch back to the normal font. If you are normally printing in the Courier font use:

esc(8Uesc(s0p10h0b3T

## The Elegant and Complete Solution

If the font being used to print the data is not known, this slightly more complex version can be used.

<esc>&f0S<esc>&a<xposition>h<yposition>V<esc>&f0S<SO><esc>)8M<esc>)s0p8h12v0s0b80T<the MICR line><esc>&f1S<esc>&a<xcheck#offset>H<the check number><SI><esc>&f1S

where:

• <esc> is replaced by the escape character ASCII (27)
• <SI> is replaced by the shift-in character ASCII (15)
• <SO> is replaced by the shift-out character ASCII (14)
• <xposition> is replaced by the position of the first character of the routing sequence in the MICR line from the left edge minus .25 inches (for a LJ) and times 720. Normally this is 1845 ((2.8125 inches - .25 inches) * 720)
• <yposition> is replaced by the position of the first character of the MICR line from the top edge minus .25 inches (for a LJ) and times 720.You may need to fine tune the X and Y coordinates for each printer so we very strongly recommend that these positions be stored in an "initialization" file or record that can be easily adjusted.
• <the MICR line> is replaced by the the MICR line numbers and symbols. Normally this is &<routing number>& <account number> Check with the bank for details.
• <xcheck#offset) is the offset from the start of the routing sequence to the start of the check number sequence. For a standard business check this is usually -900. Most personal checks will be at +1170. Note: the plus or minus sign is not optional.
• <the check number> is replaced by the check number. Leading zeros may or may not be desired by the customer's bank (check with bank, or match to existing checks.) Most banks want a "/" before and one after the check number.

It is easier if the last line on the check is the MICR line. The MICR line contains a sequence of different printer codes. The 1st part of the line contains the printer codes that set the x,y coordinates of the MICR line. Before this, the current cursor position can be saved  with the sequence <esc>&f0S. The printer codes for setting the coordinates are - <esc> & a <xposition>h<yposition>V (spaces added for clarity) Note that due to variations of the printers and check stock, the <xposition> and <yposition> may need to be adjusted by the end user.

If the font that the other data should print be printed in is not known or will not be set before each part of data is printed, the <SI> character/command can be used to select the alternate font selection available in PCL printers. Changes made in this alternate selection space should not affect the primary font selected and another character/command can be used after printing the MICR line to switch back to the primary font. This is not necessary if the font to be used for other data on the check is known; in that case the font selection string for that font can simply be sent after printing the MICR line so that the remaining data is printed in the correct font. The PCL codes that engage the MICR printing are:

<esc>(8M <esc>(s0p8h12v0s0b80T  (if the <SI> is not used) or

<esc>)8M <esc>)s0p8h12v0s0b80T (if the <SI> is used. Reversing the ")" selects the font in the secondary space.)

After these codes are sent, the bank & account info are sent. Next the positioning of the check # needs to be sent. These codes are - <esc>&a<xposition>H .It is possible to avoid having to adjust the check number position separately from the rest of the MICR line by using a relative position specified with a plus or minus sign before the number. Refer to the MICR positioning gauge for more information on this. Next, the check# is sent.  The check# may need to be padded with leading zeros and may need a "/" before or before and after (up to the bank). Next, the shutdown MICR printing codes are sent. These codes are -

<SO> (if the <SI> code was used) or
<esc>(8U <esc>(s0p10h0s0b4099T ( if the <SI> code was not used and data is printed in the standard Courier font at 10CPI) or
(use the font selection sequence from the printers typeface list for other fonts if the <SI> code is not used and the data is not in Courier)

Finally, attention should be paid to the position that the next piece of regular data will be printed. If the save cursor position code is used (see above) the position of the cursor prior to printing the MICR line can be restored with the command <esc>&f1S allowing printing to continue as if nothing had happened. If the MICR line is the last item printed on the page (not last by position but last by time sequence) then the print position will automatically be reset for the next page when the current page is finished.

The order in which the bank, account, and check number print may vary by bank. Making these codes user configurable will add to the flexibility of the program.

!IMPORTANT!

There cannot be any Carriage Return - LineFeed codes in any part of the above sequence.

## The Top-Of-The-Line Web Generated Version.

We are working on a form that will collect the required data from an internet form and generate the best, most complex, appropriate code for your application while placeing the bulk of the code in the e-form itself so that you don't have to send anything more than a few simple commands from your system. The only required commands would be one to set the Cursor Position for the MICR line (see above) and another to call the code from the e-form <esc>&f#y2X

## The E-Form data formatting Solution

Alternativly, the developer can save time by not positioning the variable data. Just print each piece of data with esc&f#yX in front of it and esc&f1X after it. Replace # with a unique ID number for each data item, starting with 1000. The first piece of data (perhaps the date) is 1001, the next piece (perhaps the customer name) is 1002, and so on. Select the check e-form via the Macro ID command and use the Macro Execute command. The macro can now position each bit of data, and select its font, size, color, etc.. including the MICR line and the copy of the check number on the MICR line. There is no need to send a data item more than once as the Macro can print each data item any number of times in any position, font, size, etc... This allows your customers to have the data printed in a more attractive format and to move the data or emphasise an item at any time via a new or updated e-form. For example, a customer may decide that they wish to print a new accounting telephone number on each check to aid in processing. The cost of changing the print positions of the data in the program would make this cost prohibitive but with this method, one e-mailed e-form is all that is required. Standard ID number mappings have been setup for e-Forms data formatted checks.

Example:

Data Description
escE Reset the printer and prepare for a new page
esc&f1021yX1234esc&f1X check number 1234
esc&f1035yX10/10/99esc&f1X dated 10/10/99
esc&f1001yXJames Newtonesc&f1X to James Newton
esc&f1029yX\$1,000,000.00esc&f1X for one million dollars
esc&f1030yXOne million dollars and no centsesc&f1X Yes! Really one million dollars!

## ...

esc&a428h870V Position the MICR line (the 428 and 870 will need to be adjustable)
esc&f11Yesc&f2X Overlay the check face, MICR line and print all the data to produce the check.
Since no data has actually been printed, we can also setup the page size, tray, etc...

One important point: It may be necessary to fine tune the X and Y coordinate position of the MICR line for each printer. Accurate position of the MICR line will affect the ability of the bank to automatically process the checks more than any other common factor. These custom settings can be coded in the e-form but it would be better to store them in an "initialization" file or record that can be easily adjusted and send them to the printer just like the other data.

Questions:

I am creating checks with an aspx form, but need to embed pcl code to access a source technologies micr printer that has a resident micr font. How do I embed escape characters that turn on the micr font, print and then turnoff the micr font to print the remainder of the document? currently I am using a computer resident micr font for testing purposes and it works great running through our hp laserjet, but must use the micr printer.
James Newton of James Newton's Massmind replies: The documentation for selecting the font in that printer must come from the maker of that printer. Try here: http://www.sourcetech.com/support/manuals.asp.+

+

I'm having trouble with a new bank accepting laser printed checks because of the positioning of the MICR line. They tell me the entire MICR line needs to be moved 5/32" to the right. The PCL values in the micr table of our application is &a940h7400V

What value would shift it 5/32" to the right?
James Newton replies: The &a#h#V command uses decipoints or 720ths of an inch. So 5/32 = 0.15625 * 720 = 112. The # before the H is the horizontal position in the 4th quadrant (e.g. larger numbers move to the right) so you want to change the 7400 to 7512. I would be curious to know what your application program is?+

+

 file: /Techref/language/pcl/micr.htm, 14KB, , updated: 2008/12/24 14:31, local time: 2024/8/11 12:30, TOP NEW HELP FIND:  18.206.13.10:LOG IN

 ©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?Please DO link to this page! Digg it! / MAKE! Printing a MICR line using the MICR font from a SIMM or Cartridge.

After you find an appropriate page, you are invited to your to this massmind site! (posts will be visible only to you before review) Just type a nice message (short messages are blocked as spam) in the box and press the Post button. (HTML welcomed, but not the <A tag: Instead, use the link box to link to another page. A tutorial is available Members can login to post directly, become page editors, and be credited for their posts.

Attn spammers: All posts are reviewed before being made visible to anyone other than the poster.
 Did you find what you needed? "No. I'm looking for: " "No. Take me to the search page." "No. Take me to the top so I can drill down by catagory" "No. I'm willing to pay for help, please refer me to a qualified consultant"

### Welcome to sxlist.com!

Site supported by
& kind contributors
just like you!

(here's why

Copies of the site on CD
are available at minimal cost.

.