koreth@panarthea.ebay.sun.com (Steven Grimm) (02/04/90)
Submitted-by: csrobe@cs.wm.edu (Chip Roberson)
Posting-number: Volume 3, Issue 25
Archive-name: barcodes
I noticed that someone was asking about barcodes recently and in
my metafont searches for [La]Tex, I discovered the barcodes.mf. I
know nothing more that what it says in the header and I have not
tried it. If you decide to use this you will need TeX (or LaTeX)
and metafont (available from archive-server@panarthea.ebay.sun.com).
barcodes.mf can be anonymously ftp'd from sun.soe.clarkson.edu's
pub/tex-fonts directory.
cheers,
-chip
-=- Charles S. Roberson ARPANET: csrobe@cs.wm.edu -=-
-=- VA Remote Sensing Study UUCP: ...!uunet!cs.wm.edu!csrobe -=-
-=- Dept of Comp. Sci. Compu$erve: 71500.2056@compuserve.com -=-
-=- College of William and Mary Ma Bell: (804) 221-3455 [W] -=-
-=- Williamsburg, VA 23185 (804) 229-5530 [H] -=-
Fur: The look that kills.
---Begin barcodes.mf---
% 10-Nov-87 14:05:55-PST,10055;000000000000
% Return-Path: <CLDLV%NASAGISS.BITNET@forsythe.stanford.edu>
% Date: Tue, 10 Nov 87 15:46:49 EDT
% From: Dimitri Vulis <CLDLV%NASAGISS.BITNET@forsythe.stanford.edu>
% Subject: Foo (bar codes)
%
% Dear Malcolm: I believe that the following file would of general
% interest, but I think it's too long for the digest:
%
% I was amazed to find out that business people pay enormous money for the
% ability to produce bar codes. This ought to be TRIVIAL with \TeX.
% So, I got hold of a public domain BASIC program that supposedly does that and
% lifted the codes and put them into METAFONT (it was EASY). Caveat(s): I have
% never tested these codes with an OCR. The BASIC program said it used `3 of 9'
% encoding. I presume it's not the same as UPC. The sizes may be off---I
% took them from the BASIC program that used HP LJ's 100dpi graphics mode.
% Disclaimer: I haven't tested these codes. Use them at your own risk.
% Remarks:
% 1) White space is a displayable character.
% 2) There are 9 significant strips, bwbwbwbwb; 3 of them are wide.
% 3) The white_naro; at the end of each code is the inter-code spacing.
% Credits: the original BASIC program was written by `Bill Wood Mil., WI' and
% later re-written by `Bill Baines, Enfield, CT.'. METAFONT version is by
% `Dimitri Vulis CLDLV@NASAGISS.BITNET'
mode_setup;
font_identifier "DVBar"; font_size .35in#;
naro#:=.01in#; % narrow strip width
wide#:=3naro#; % wide strip width
wdth#:=3wide#+7naro#; % common width of all codes
hght#:=.35in#; % common height of all codes
define_pixels(naro,wide,wdth,hght);
def white_naro=
wid:=wid+naro;
enddef;
def black_naro=
filldraw (wid,0)--(wid,hght)--(wid+naro,hght)--(wid+naro,0)--cycle;
wid:=wid+naro;
enddef;
def white_wide=
wid:=wid+wide;
enddef;
def black_wide=
filldraw (wid,0)--(wid,hght)--(wid+wide,hght)--(wid+wide,0)--cycle;
wid:=wid+wide;
enddef;
beginchar("1",wdth#,hght#,0);
wid:=0;
black_wide; white_naro; black_naro; white_wide; black_naro;
white_naro; black_naro; white_naro; black_wide; white_naro;
endchar;
beginchar("2",wdth#,hght#,0);
wid:=0;
black_naro; white_naro; black_wide; white_wide; black_naro;
white_naro; black_naro; white_naro; black_wide; white_naro;
endchar;
beginchar("3",wdth#,hght#,0);
wid:=0;
black_wide; white_naro; black_wide; white_wide; black_naro;
white_naro; black_naro; white_naro; black_naro; white_naro;
endchar;
beginchar("4",wdth#,hght#,0);
wid:=0;
black_naro; white_naro; black_naro; white_wide; black_wide;
white_naro; black_naro; white_naro; black_wide; white_naro;
endchar;
beginchar("5",wdth#,hght#,0);
wid:=0;
black_wide; white_naro; black_naro; white_wide; black_wide;
white_naro; black_naro; white_naro; black_naro; white_naro;
endchar;
beginchar("6",wdth#,hght#,0);
wid:=0;
black_naro; white_naro; black_wide; white_wide; black_wide;
white_naro; black_naro; white_naro; black_naro; white_naro;
endchar;
beginchar("7",wdth#,hght#,0);
wid:=0;
black_naro; white_naro; black_naro; white_wide; black_naro;
white_naro; black_wide; white_naro; black_wide; white_naro;
endchar;
beginchar("8",wdth#,hght#,0);
wid:=0;
black_wide; white_naro; black_naro; white_wide; black_naro;
white_naro; black_wide; white_naro; black_naro; white_naro;
endchar;
beginchar("9",wdth#,hght#,0);
wid:=0;
black_naro; white_naro; black_wide; white_wide; black_naro;
white_naro; black_wide; white_naro; black_naro; white_naro;
endchar;
beginchar("0",wdth#,hght#,0);
wid:=0;
black_naro; white_naro; black_naro; white_wide; black_wide;
white_naro; black_wide; white_naro; black_naro; white_naro;
endchar;
beginchar("A",wdth#,hght#,0);
wid:=0;
black_wide; white_naro; black_naro; white_naro; black_naro;
white_wide; black_naro; white_naro; black_wide; white_naro;
endchar;
beginchar("B",wdth#,hght#,0);
wid:=0;
black_naro; white_naro; black_wide; white_naro; black_naro;
white_wide; black_naro; white_naro; black_wide; white_naro;
endchar;
beginchar("C",wdth#,hght#,0);
wid:=0;
black_wide; white_naro; black_wide; white_naro; black_naro;
white_wide; black_naro; white_naro; black_naro; white_naro;
endchar;
beginchar("D",wdth#,hght#,0);
wid:=0;
black_naro; white_naro; black_naro; white_naro; black_wide;
white_wide; black_naro; white_naro; black_wide; white_naro;
endchar;
beginchar("E",wdth#,hght#,0);
wid:=0;
black_wide; white_naro; black_naro; white_naro; black_wide;
white_wide; black_naro; white_naro; black_naro; white_naro;
endchar;
beginchar("F",wdth#,hght#,0);
wid:=0;
black_naro; white_naro; black_wide; white_naro; black_wide;
white_wide; black_naro; white_naro; black_naro; white_naro;
endchar;
beginchar("G",wdth#,hght#,0);
wid:=0;
black_naro; white_naro; black_naro; white_naro; black_naro;
white_wide; black_wide; white_naro; black_wide; white_naro;
endchar;
beginchar("H",wdth#,hght#,0);
wid:=0;
black_wide; white_naro; black_naro; white_naro; black_naro;
white_wide; black_wide; white_naro; black_naro; white_naro;
endchar;
beginchar("I",wdth#,hght#,0);
wid:=0;
black_naro; white_naro; black_wide; white_naro; black_naro;
white_wide; black_wide; white_naro; black_naro; white_naro;
endchar;
beginchar("J",wdth#,hght#,0);
wid:=0;
black_naro; white_naro; black_naro; white_naro; black_wide;
white_wide; black_wide; white_naro; black_naro; white_naro;
endchar;
beginchar("K",wdth#,hght#,0);
wid:=0;
black_wide; white_naro; black_naro; white_naro; black_naro;
white_naro; black_naro; white_wide; black_wide; white_naro;
endchar;
beginchar("L",wdth#,hght#,0);
wid:=0;
black_naro; white_naro; black_wide; white_naro; black_naro;
white_naro; black_naro; white_wide; black_wide; white_naro;
endchar;
beginchar("M",wdth#,hght#,0);
wid:=0;
black_wide; white_naro; black_wide; white_naro; black_naro;
white_naro; black_naro; white_wide; black_naro; white_naro;
endchar;
beginchar("N",wdth#,hght#,0);
wid:=0;
black_naro; white_naro; black_naro; white_naro; black_wide;
white_naro; black_naro; white_wide; black_wide; white_naro;
endchar;
beginchar("O",wdth#,hght#,0);
wid:=0;
black_wide; white_naro; black_naro; white_naro; black_wide;
white_naro; black_naro; white_wide; black_naro; white_naro;
endchar;
beginchar("P",wdth#,hght#,0);
wid:=0;
black_naro; white_naro; black_wide; white_naro; black_wide;
white_naro; black_naro; white_wide; black_naro; white_naro;
endchar;
beginchar("Q",wdth#,hght#,0);
wid:=0;
black_naro; white_naro; black_naro; white_naro; black_naro;
white_naro; black_wide; white_wide; black_wide; white_naro;
endchar;
beginchar("R",wdth#,hght#,0);
wid:=0;
black_wide; white_naro; black_naro; white_naro; black_naro;
white_naro; black_wide; white_wide; black_naro; white_naro;
endchar;
beginchar("S",wdth#,hght#,0);
wid:=0;
black_naro; white_naro; black_wide; white_naro; black_naro;
white_naro; black_wide; white_wide; black_naro; white_naro;
endchar;
beginchar("T",wdth#,hght#,0);
wid:=0;
black_naro; white_naro; black_naro; white_naro; black_wide;
white_naro; black_wide; white_wide; black_naro; white_naro;
endchar;
beginchar("U",wdth#,hght#,0);
wid:=0;
black_wide; white_wide; black_naro; white_naro; black_naro;
white_naro; black_naro; white_naro; black_wide; white_naro;
endchar;
beginchar("V",wdth#,hght#,0);
wid:=0;
black_naro; white_wide; black_wide; white_naro; black_naro;
white_naro; black_naro; white_naro; black_wide; white_naro;
endchar;
beginchar("W",wdth#,hght#,0);
wid:=0;
black_wide; white_wide; black_wide; white_naro; black_naro;
white_naro; black_naro; white_naro; black_naro; white_naro;
endchar;
beginchar("X",wdth#,hght#,0);
wid:=0;
black_naro; white_wide; black_naro; white_naro; black_wide;
white_naro; black_naro; white_naro; black_wide; white_naro;
endchar;
beginchar("Y",wdth#,hght#,0);
wid:=0;
black_wide; white_wide; black_naro; white_naro; black_wide;
white_naro; black_naro; white_naro; black_naro; white_naro;
endchar;
beginchar("Z",wdth#,hght#,0);
wid:=0;
black_naro; white_wide; black_wide; white_naro; black_wide;
white_naro; black_naro; white_naro; black_naro; white_naro;
endchar;
beginchar("-",wdth#,hght#,0); % minus
wid:=0;
black_naro; white_wide; black_naro; white_naro; black_naro;
white_naro; black_wide; white_naro; black_wide; white_naro;
endchar;
beginchar(".",wdth#,hght#,0); %period
wid:=0;
black_wide; white_wide; black_naro; white_naro; black_naro;
white_naro; black_wide; white_naro; black_naro; white_naro;
endchar;
beginchar(" ",wdth#,hght#,0); %white space
wid:=0;
black_naro; white_wide; black_wide; white_naro; black_naro;
white_naro; black_wide; white_naro; black_naro; white_naro;
endchar;
beginchar("*",wdth#,hght#,0); %ascii asterisk
wid:=0;
black_naro; white_wide; black_naro; white_naro; black_wide;
white_naro; black_wide; white_naro; black_naro; white_naro;
endchar;
beginchar("$",wdth#,hght#,0); %dollar sign
wid:=0;
black_naro; white_wide; black_naro; white_wide; black_naro;
white_wide; black_naro; white_naro; black_naro; white_naro;
endchar;
beginchar("/",wdth#,hght#,0); %forward slash
wid:=0;
black_naro; white_wide; black_naro; white_wide; black_naro;
white_naro; black_naro; white_wide; black_naro; white_naro;
endchar;
beginchar("+",wdth#,hght#,0); %plus
wid:=0;
black_naro; white_wide; black_naro; white_naro; black_naro;
white_wide; black_naro; white_wide; black_naro; white_naro;
endchar;
beginchar("%",wdth#,hght#,0); %percent sign
wid:=0;
black_naro; white_naro; black_naro; white_wide; black_naro;
white_wide; black_naro; white_wide; black_naro; white_naro;
endchar;
end; %all done
---End barcodes.mf---