magnetic code for checks

Brian K. White brian at aljex.com
Thu Sep 15 21:03:14 PDT 2005


----- Original Message ----- 
From: "Dennis Malen" <dmalen at malen.com>
To: <filepro-list at lists.celestial.com>
Sent: Thursday, September 15, 2005 4:13 PM
Subject: magnetic code for checks


> This question has been asked before.
>
> Does anyone have code that can be used in filePro that can create the 
> magnetic fonts on the bottom of a check?
>
> I can't seem to get a hold of Jim Asman.

You need to get the micr font in the form of a soft font you send to the 
printer or in the form of a permanently installed rom chip.

I just got done making a check format for a customer who got several HP 
LaserJet 1320n printers with a rom chip installed, and the rom chip has 
several common special fonts including 3 or 4 varieties of micr (the one you 
need for the bottom of the check) and a custom font that has his logo.

The price for the printer, with this custom rom chip was hardly more than 
buying the bare printer from anywhere else he said.

The company that made the rom chip and provides preconfigured printers is 
http://www.micrtech.com/
They keep your rom chip on file too and it's nothing to call them up later 
and get another clone of your printer.

using the micr font is a little hard to figure out at first until you 
realize that the font only has characters for the numbers and 4 or 5 special 
characters.
I had to create a table of every possible character, each with its' number 
next to it, and manually make a print job that had the codes to switch into 
the micr font and print the table.
then noted what numbers that special characters were, then looked at the 
same numbers in an ascii chart to see what normal characters correspond.

Because of the way the line needs to be formatted, I had to build the whole 
line in processing rather than drop fields on the output format.
mine looks like this:

If: ' 20050726 bkw - print MICR line on bottom
Then: ' "$ & - /"  are the 4 special symbols in micr font
If: ' acct #, routing #,  for MICR line on checks
Then: dd(15,.0) = goactno(1) ; de(9,rj0) = goactno(4)
If: ' micr line - special format & spacing, special chrs in micr font
Then: df = "/" { doedit(23,"rj0","6") { "/ &" { de { "&" < dd { "/"

df ends up looking like "/001234/ &012345678& 123456789/"

and when printed in the micr font the /'s and &'s become special symbols.

I determined the codes to switch into the micr font by using a web browser 
and logging into the built-int print server and there is a button to print a 
font list.
The font list is nice and includes the necessary escape codes to use each 
font, and shows how to adjust the codes to make the font big or small where 
available.

In my case, the codes look like this, but you can't go by this unless you 
get a printer and a font chip from the same company and they set it all up 
the same way.
You really have to get the printer to tell you like I did.
at the beginning of the last line in the form I have this code 122, and at 
the end of the line I have code 4 since it's also the last character on the 
page.
122 : $1b (8M $1b (s0p8.00h12.0v0s0b360T : MICR E13B 600 font

I send a small pjl job to the printer as part of the printer init to make 
sure the printer is in 600 dpi mode with this code:
129 : %"600.pjl" : set 600 dpi

600.pjl is in $PFDLDIR and just has these 2 lines:
.%-12345X at PJL SET RESOLUTION=600
@PJL ENTER LANGUAGE=PCL

The reason is because I send a full sheel overlay image that has the 
miscelaneous other stuff from the check like the company logo and address 
and some other little bits like the tiny, vertical  "Pay to the order of" 
etc... And It looks noticably nicer in 600 dpi than 300.
The customer just whipped it up in Word himself easily and mailed me the 
.doc file. I used an admittedly klunky sequence of events to arrive at a pcl 
file that is suitably free of page/job/printer control codes for filepro to 
use in a %"filename" print code. But it still only took a few minutes.
* load the doc in OpenOffice
* export tp pdf
* load the pdf on Adobe PhotoShop (6.0 in my case) at 600dpi
* save as 600dpi pcx
* ftp pcx file to unix box
* mkpcl -r 600 -c 4 check.pcx check.pcl

I probably could have managed to get right from the pdf to the pcl in one 
step with ghostscript and I think I actually tried that and the resulting 
file was large or there was some other reason I found it unsuitable. 
Everyone here should get mkpcl from Jim.

The top-left corner character on the form has this code 128 on it:
128 : %130 %"check.pcl" %130 %131 : check overlay
129 : %"600.pjl" : set 600 dpi
130 : $1b &a0c0R : home cursor
131 : $1b 9 : clear horiz margins

$PFDLDIR is different for each qualifier and so the code and the output 
formats and the .prt file are all common to all qualifiers yet they print 
checks with different logos and account numbers.

Oh and the form is defned as a 64 line form and the 64th line is the micr 
line.
the first 2 lines are not printable by the printer as far as I could tell, 
even by clearing all margins. It'll count the lines but won't actually put 
ink there. So I decided it makes more sense to define to form as 64 lines 
and send an init code that does the same and so it's more wysiwyg.
The init code used in the F8 options is this 126:
126 : $1b &l1e64F %131 : 64 printable lines, no h margin

The rest of the form is all plain old stock 10 cpi courrier except for the 
check number where I dip into this neat OCR font that's another one of the 
goodies on the rom chip.
132 : $1b (0O $1b (s0p10.00h12.1v0s0b104T : OCR-A font

Heres wht the printer font-list page(s) looks like so you see what I mean 
about how to select the fonts.
http://www.aljex.com/bkw/tmp/check-printer-fonts.PDF


Brian K. White  --  brian at aljex.com  --  http://www.aljex.com/bkw/
+++++[>+++[>+++++>+++++++<<-]<-]>>+.>.+++++.+++++++.-.[>+<---]>++.
filePro  BBx    Linux  SCO  FreeBSD    #callahans  Satriani  Filk!



More information about the Filepro-list mailing list