summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/fonts/barcode2
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/fonts/barcode2')
-rw-r--r--Master/texmf-dist/doc/fonts/barcode2/README72
-rw-r--r--Master/texmf-dist/doc/fonts/barcode2/bcfaq.bbl47
-rw-r--r--Master/texmf-dist/doc/fonts/barcode2/bcfaq.tex597
-rw-r--r--Master/texmf-dist/doc/fonts/barcode2/changes18
-rw-r--r--Master/texmf-dist/doc/fonts/barcode2/eandoc.tex355
-rw-r--r--Master/texmf-dist/doc/fonts/barcode2/examples.tex138
6 files changed, 1227 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/fonts/barcode2/README b/Master/texmf-dist/doc/fonts/barcode2/README
new file mode 100644
index 00000000000..0ad209f8bb5
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/barcode2/README
@@ -0,0 +1,72 @@
+This package consists of
+ BCFAQ.TEX (* Some more documentation)
+ BARCODES.STY (* some often used macros for barcoding)
+ CODE39.TEX (* macros in TeX for producing code 39 barcode,
+ documented in itself)
+ CODEAN.PL ( Preprocessor for EAN and code 128 (written in Perl))
+ EANDOC.TEX (* Documentation for WLEAN.MF and CODEAN.PL)
+ EXAMPLES.TEX (* demo sheet showing the use of all barcode fonts)
+ WLC128.MF (* Raw Code 128 in Metafont format)
+ WLC39.MF (* Metafont source for Code 39)
+ WLC93.MF (* Metafont source for Code 93)
+ WLC11.MF (* Metafont source for Code 11)
+ WLEAN.MF (* Metafont source for EAN)
+ WLCR39.MF (* Metafont source for Code 39 rotated running down)
+ WLCDB.VPL ( virtual font for codabar barcode)
+ WLITF.VPL ( virtual font for ITF barcode---interleaved
+ 2 of 5)
+ WLCF39.VPL ( virtual full ascii code 39)
+ CHANGES ( text file listing the changes made)
+ README ( this file)
+ BARCODES.INS ( run this through TeX to make the files
+ ( marked above with a star*)
+ BARCODES.DTX ( required by barcodes.ins)
+
+At first you should run barcodes.ins through TeX to obtain the files
+marked above with an asterisk.
+
+To use wlitf and/or wlcdb, run it through vptovf, move the tfm and vf
+files, then in TeX say, e.g.
+
+\font\bcfont=wlitf scaled 2000
+{\bcfont+1234-}
+
+for ITF. The second line will print 1234 as ITF barcode.
++ and - make the itf start and stop sign, respectively. Please note
+that ITF requires an even number of digits.
+
+For Code 39, you may use something like
+
+\font\bcfont=wlc39 scaled 2000
+{\bcfont @Hello\char32{}12345@}
+
+This will yield the word Hello, a space and the digits from one to five.
+Please note that the @ is used as start/stop sign in this font.
+
+Code 128 requires wlc128.mf to be copied to a place where metafont can
+find it. Also you should use codean.pl to preprocess your input.
+Read the docs, code 128 is somewhat complicated.
+
+One last example:
+
+\font\bcfont=wlcdb scaled 2000
+{\bcfont a5678t \qquad b2345n \qquad c6789* \qquad d1234e}
+
+The last two code lines show the use of codabar.
+Please note that the start/stop signs for codabar get decoded, too.
+
+Usage ist freely permitted, comments are welcome, any warranty is
+void. If you may find any inconveniences, bugs, or improvements, do
+not hesitate to tell me.
+
+Please note, the package is still far from complete.
+Especially, barcodes.sty needs lots of refinement and some documentation.
+Also, code 93 is not thoroughly tested.
+
+April, 1998
+Peter Willadt
+(email: Willadt@t-online.de)
+
+
+
+
diff --git a/Master/texmf-dist/doc/fonts/barcode2/bcfaq.bbl b/Master/texmf-dist/doc/fonts/barcode2/bcfaq.bbl
new file mode 100644
index 00000000000..4dcbe98f544
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/barcode2/bcfaq.bbl
@@ -0,0 +1,47 @@
+%%
+%% This is file `bcfaq.bbl',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% barcodes.dtx (with options: `bcfaqbbl')
+%% As this is a generated file, you may perhaps not want to edit it.
+%% This file belongs to the barcode package.
+%% It may be of no great use without the rest of the barcode package.
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\begin{thebibliography}{Sau92}
+
+\bibitem[Ol{\v{s}}94]{bc:ean}
+Peter Ol{\v{s}}ak.
+\newblock The ean barcodes by {\TeX}.
+\newblock {\em TUGboat}, 15(4):459--464, 1994.
+
+\bibitem[Sau92]{bc:sauter}
+John Sauter.
+\newblock Postnet codes using metafont.
+\newblock {\em TUGboat}, 13(4):472--476, 1992.
+
+\bibitem[Vul91]{bc:vulis}
+Dimitri Vulis.
+\newblock {\TeX} and envelopes.
+\newblock {\em TUGboat}, 12(2):279--284, 1991.
+
+\end{thebibliography}
+\endinput
+%%
+%% End of file `bcfaq.bbl'.
diff --git a/Master/texmf-dist/doc/fonts/barcode2/bcfaq.tex b/Master/texmf-dist/doc/fonts/barcode2/bcfaq.tex
new file mode 100644
index 00000000000..8e2e1085961
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/barcode2/bcfaq.tex
@@ -0,0 +1,597 @@
+%%
+%% This is file `bcfaq.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% barcodes.dtx (with options: `bcfaq')
+%% As this is a generated file, you may perhaps not want to edit it.
+%% This file belongs to the barcode package.
+%% It may be of no great use without the rest of the barcode package.
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\documentclass[a4paper]{article}
+\bibliographystyle{alpha}
+
+
+\font\itf=wlitf scaled 1200
+
+\def\bcbox#1{\lower3pt\hbox{\itf +#1-}}
+
+\newbox\bsavebox
+\newdimen\bcboxdepth
+\bcboxdepth=4pt
+\def\bdbox#1{\setbox\bsavebox\hbox{\itf +#1-}
+\vbox{\hsize=\wd\bsavebox\offinterlineskip%
+\copy\bsavebox%
+\vskip-\ht\bsavebox\vskip\bcboxdepth%
+\box\bsavebox\vskip-\bcboxdepth}}
+\def\bebox#1{\setbox\bsavebox\hbox{\itf +#1-}
+\vbox{\hsize=\wd\bsavebox\offinterlineskip%
+\copy\bsavebox%
+\copy\bsavebox%
+\vskip-\ht\bsavebox\vskip\bcboxdepth%
+\box\bsavebox\vskip-\bcboxdepth}}
+
+\def\tbs{{\tt\char92}}
+\begin{document}
+\title{Barcodes-FAQ}
+\author{Peter Willadt}
+\date{1997-11-09}
+\maketitle
+\begin{abstract}
+
+This file deals with questions about barcode fonts created for
+\TeX{}. Its purpose is not to replace the regular documents, but to add
+informations that may be of no interest for the casual reader.
+
+\end{abstract}
+
+\section{Changelog}
+
+\subsection{Changes of the barcode package in general}
+\begin{tabular}{ll}
+\em Date & \em Change\\
+1998-11-28 & included wlcr39, wlcf39, and wlc93\\
+1998-04-21 & fixed wlitf bug\\
+1998-04-10 & switched partially to docstrip archive\\
+ & added support for code 11\\
+1998-01-24 & added code 128 in MF format, changed codean.pl\\
+1997-11-08 & changed metrics of {\sc itf} start/stop chars\\
+1997-10-09 & released first version of the barcode package
+\end{tabular}
+
+\subsection{Changes within this document}
+
+\begin{tabular}{ll}
+\em Date & \em Change\\
+1998-11-28 & added docs about code 93\\
+1998-04-10 & added docs about code 11\\
+1998-01-24 & added information about code 128\\
+1997-12-08 & added contributions to {\sc ean} coding by Kalvis M. Jansons\\
+ & changed section on plessey\\
+1997-11-09 & added several items, rearranged sections\\
+1997-11-08 & started writing first version
+\end{tabular}
+
+\section{Introduction}
+
+The barcode package itself can be found on {\tt ctan} in the
+subdirectory\\ {\tt fonts/barcodes/willadt}. It contains---among
+others---several fonts in {\sc vpl} format, so your {\sc dvi} driver
+should be able to handle virtual fonts. If it doesn't, you may perhaps
+use {\em dvicopy} to resolve the references to virtual fonts, or you
+may perhaps upgrade to a more modern \TeX{} package.
+
+\section{What about docs?}
+
+\subsection{Docs about barcodes}
+
+With the barcode package, there comes documentation about {\sc ean}
+fonts. In the README file, there are short examples of the use of
+the other fonts, too. Also the files {\tt examples.tex} shows the look
+and basic usage of the barcodes.
+
+In {\sl TUGboat}, barcoding has been covered in several
+articles \cite{bc:ean,bc:sauter,bc:vulis}. The barcode package itself
+is covered in an article that has appeared in the december issue,
+1997, of {\sl TUGboat}.
+
+\subsection{Some information about code 128}
+
+Code 128 is able to print all 128 ascii chars. There are a little more
+than a hundred glyphs that are interpreted in three different
+ways. Some of the glyphs are used as shift chars to determine which
+interpretation to use. A checksum is mandatory. To use it, you must
+install {\tt wlc128.mf}.
+
+The preprocessing---switching among the different character sets,
+coding efficiently, calculating the checksum---is handled by the
+newer versions of codean.pl. This is perhaps not as pleasing as to do
+it with \TeX{} alone, but, alas, it works.
+
+The way to run the preprocessor is described in {\tt eandoc.tex}. To
+use code 128, you have to write a line starting with {\tt\tbs cxxviii\{}
+followed by the characters you want to code and followed by a closing
+brace. Non-printing seven-bit ascii characters may be specified in hex
+in C or \TeX{} style, like {\tt\tbs x3f} or \verb|^^3f|. Anything up to
+the rightmost closing brace in this line will be coded---there is no
+brace matching. But you will get a warning message if your text
+includes a right brace. So you may want to code braces in hex form to
+avoid this message. Please note that {\tt codean.pl} does almost no
+checking for errors, so if you intend to produce garbage, there are
+lots of ways. If you need code 128 escape characters, they may be
+included as hex characters with codes starting at 0x80.
+
+\begin{tabular}{lllll}
+\em Input Code & \em C128 number &\multicolumn{3}{c}{\em meaning}\\
+\em(hex) & \em(dec.) & \em Set A & \em Set B & \em Set C\\
+0x80 & 96 & FNC3 & FNC3 & 96\\
+0x81 & 97 & FNC2 & FNC2 & 97\\
+0x82 & 98 & SHIFT & SHIFT & 98\\
+0x83 & 99 & CODE C& CODE C& 99\\
+0x84 & 100 & CODE B& FNC4 & CODE B\\
+0x85 & 101 & FNC4 & CODE A& CODE A\\
+0x86 & 102 & FNC1 & FNC1 & FNC1\\
+0x87 & 103 & START A& START A& START A\\
+0x88 & 104 & START B& START B& START B\\
+0x89 & 105 & START C& START C& START C\\
+0x8a & 106 & STOP & STOP & STOP
+\end{tabular}
+
+But please keep in mind that {\tt codean.pl} does almost anything for you,
+you should not have the need to insert start/stop codes and the
+like. Only if you use EAN128, you will need {\tt FNC1}. Just to make
+it clear: For your barcode to include {\tt FNC1} you have to write
+\verb|^^86| before preprocessing.
+
+{\tt codean.pl} will insert a sequence of hex digits; the original
+text will be appended to the line as a comment.
+Also, your \TeX{} file has to define some macros. They look like
+this:
+
+\begin{verbatim}
+\font\fntcxx=wlc128 scaled \magstep3
+\def\CXXVIII{\bgroup\fntcxx\let\next\hexchar\next}
+\def\cxxviii{\message{OOPS, use codean.pl}}
+\def\hexchar#1#2{\if#1@
+ \global\let\next\egroup
+ \else\char"#1#2\fi\next}
+\end{verbatim}
+
+If you do not like end recursion, you might use other ones. If
+you dislike the hex format produced by {\tt codean.pl}, you are free to
+change it---as long as you don't redistribute.
+
+\subsection{A little bit about code 11}
+
+Code 11 is a numeric-only barcode. It is almost as space-efficient as
+{\sc itf}, and it comes with a checksum. The checksum should be
+swallowed by the reading device. The checksum is a weighted mod-11
+checksum. There are apparently two kinds of checksum in use: such with
+one checkdigit and such with two checkdigits.
+
+To use code 11, you should include {\tt barcode.sty}. \TeX{} will
+calculate the checksum on its own. If you need two check digits, you
+should say\\
+{\tt\tbs codexichecksumktrue}.\\
+How many check digits you
+actually need should be made clear in the documentation to your
+reading device\footnote{You may also want to check the documentation
+to find out if your reading device supports code 11 at all; code 11 is
+not that common.}. You may code the digits 0--9, and the minus
+sign. The start and stop sign is mapped to the @ character. Here is a
+full example. {Please note: If you do not use \LaTeX{}, you may
+have to supply a definition for {\tt\tbs makeatletter}
+and {\tt\tbs makeatother}}:
+
+\begin{verbatim}
+\input barcodes.sty
+%% with two check digits
+\codexichecksumktrue
+\codxi{12-1234}
+
+%% with only one check digit.
+\codexichecksumkfalse
+\codxi{12-1234}
+\bye
+\end{verbatim}
+
+\subsection{About code 93}
+
+Code 93 is a little bit more compact than code 39 (as it uses also the
+gap between the characters), but in other aspects it is quite
+similiar. A checksum with two digits is mandatory. As with code 11,
+checksumming works by weighing the characters different depending on
+their position within the barcode.
+
+The version of code 93 that is included within the package resorts to
+uppercase ascii, digits, and to some other signs. Start and stop sign
+are mapped to {\tt<} and {\tt>}, respectively.
+
+Full ascii works similiar to full ascii with code 39 (that means with
+escape characters), but fortunately the escape characters are
+different from ordinary characters, so that you can hardly be
+misunderstood. Unfortunately the escape characters are named (\$),
+(\%), (/), and (+), so I decided to map them to opening and closing
+parentheses and brackets, respectively. This may not seem very clever
+when it comes to full ascii, but these characters may also appear as
+checksum characters, so we need them when doing uppercase ascii,
+too. For full ascii, it would be clever to redo the font in a
+completely different way and to map start sign, stop sign and the four
+escape characters to positions above 128, so that any 7 bit ascii
+character can be input directly.
+
+Code 93 is supported by codean.pl in the same way as ean or code 128
+are. You have to write {\tt\tbs xciii\{YOUR DATA 123\}}, run the file
+through {\tt codean.pl}, then you'll get\\
+{\tt\tbs XCIII\{YOUR DATA 123NN\}\%Code93(YOUR DATA 123)}
+
+The NN make up the two check characters. Normally, they are different,
+but in this example they are equal, by incident.
+
+\subsection{Docs about VPL Files}
+
+VPL files are documented in the files {\tt VPtoVF.WEB} and {\tt
+VFtoVP.WEB}. Both files can be found on {\sc ctan} under {\tt
+SYSTEMS/KNUTH}. {\em WEAVE} may be used to produce \TeX{} files. The
+documentation about the VPL/VF file formats is covered within the
+first few sections.
+
+\section{I want other metrics etc.}
+
+\subsection{My barcodes should have depth}
+
+You have got several possibilities to obtain depth. The most simple
+approach may be to set the barcodes with the regular barcode fonts into an
+{\tt\tbs hbox} and then to {\tt\tbs lower} this hbox.
+
+Let's look at an example:
+
+\begin{verbatim}
+\font\itf=wlitf scaled 1200
+\def\bcbox#1{\lower3pt\hbox{\itf +#1-}}
+ Example:
+{\sc itf} barcode looks like \quad\bcbox{1009}\quad
+for 1009, e.g.
+\end{verbatim}
+
+This code yields the following result:
+
+{\sc itf} barcode looks like \quad\bcbox{1009}\quad for 1009, e.g.
+
+Another approach is to edit the font sources. In case of {\sc vpl}
+files, this is quite painful. Rules in {\sc vpl} files do not have
+depth, so you have to change the characters mapping in a way that you
+add a {\em movedown} before you draw, and a {\em moveup} afterwards.
+You may see the changes for an arbitrary character from {\tt
+WLITF.VPL}:
+
+\begin{verbatim}
+(CHARACTER D48
+ (COMMENT from WLITF.VPL}
+ (CHARWD D 14) (CHARHT R 10)
+ (CHARDP R 0) (CHARIC R 0.0)
+ (MAP
+ (SETRULE R 14 R 1)(MOVERIGHT R 1)
+ (SETRULE R 14 R 1)(MOVERIGHT R 1)
+ (SETRULE R 14 R 2)(MOVERIGHT R 2)
+ (SETRULE R 14 R 2)(MOVERIGHT R 2)
+ (SETRULE R 14 R 1)(MOVERIGHT R 1)
+ )
+ )
+\end{verbatim}
+
+This character may be lowered by four units by editing in a way that the
+following lines result. Please note that there were not only the {\em
+moveup} and {\em movedown} commands added, but also the height an
+depth have been changed.
+
+\begin{verbatim}
+(CHARACTER D48
+ (COMMENT Lowered to give some depth)
+ (CHARWD D 14) (CHARHT R 10)
+ (CHARDP R 4) (CHARIC R 0.0)
+ (MAP
+ (MOVEDOWN R 4)
+ (SETRULE R 14 R 1)(MOVERIGHT R 1)
+ (SETRULE R 14 R 1)(MOVERIGHT R 1)
+ (SETRULE R 14 R 2)(MOVERIGHT R 2)
+ (SETRULE R 14 R 2)(MOVERIGHT R 2)
+ (SETRULE R 14 R 1)(MOVERIGHT R 1)
+ (MOVEUP R 4)
+ )
+ )
+\end{verbatim}
+
+\subsection{My barcodes are too tall}
+
+For the sake of the person who has to scan the barcodes, barcodes just
+can't be tall enough. If the complete code is as tall as wide, the
+reading device can be twisted against the code at an angle of 45
+degrees. If they are half as high, the angle reduces to 26 degrees.
+
+If you really want short codes, you have to edit the sources. In the
+{\sc vpl} file, you have to change the {\em charht} and the first parameter
+to the {\em setrule} command at well. You also should change the {\em
+designsize} parameter.
+
+\subsection{My barcodes are not tall enough}
+
+You may also change the sources, like described in the previous
+subsection. But there is another solution that is perhaps more
+practical. The idea is simple that double black is still black and
+that you may overlay several printouts of the same barcode. Here is
+the example code (it may be made taller by adding more copies of the
+barcode box, of course). There is an extra dimension {\em bcboxdepth}
+added to yield depth for the barcodes.
+
+\begin{verbatim}
+\newbox\bsavebox
+\newdimen\bcboxdepth
+\bcboxdepth=4pt
+\def\bdbox#1{\setbox\bsavebox\hbox{\itf +#1-}
+\vbox{\hsize=\wd\bsavebox\copy\bsavebox%
+\vskip-\ht\bsavebox\vskip\bcboxdepth%
+\box\bsavebox\vskip-\bcboxdepth}}
+\def\bebox#1{\setbox\bsavebox\hbox{\itf +#1-}
+\vbox{\hsize=\wd\bsavebox\copy\bsavebox%
+\vskip0pt\copy\bsavebox%
+\vskip-\ht\bsavebox\vskip\bcboxdepth%
+\box\bsavebox\vskip-\bcboxdepth}}
+ Example:
+Tall {\sc itf} barcode looks like \quad\bdbox{1009}\quad
+or (still taller) \quad\bebox{1009}\quad for 1009, e.g.
+\end{verbatim}
+
+And here is the result, you may compare it with the output of the
+previous example:
+
+Tall {\sc itf} barcode looks like \quad\bdbox{1009}\quad or (still
+taller) \quad\bebox{1009}\quad for 1009, e.g.
+
+\subsection{My barcodes are too wide/too narrow}
+
+Perhaps you should change the barcode size (by changing
+{\tt\tbs magnification}) and then read the subsections above about too
+tall bars and bars that are not tall enough.
+
+\subsection{My barcodes should run vertically}
+
+Vertically oriented barcode is a good idea for cans, bottles and
+similiar things.
+
+It just depends on your {\sc dvi} driver. Perhaps there is a
+possibility to handle rotation via {\tt\tbs special}, as with {\em
+dvips} and the {\em rotate} macros. For experimantal purposes I have
+included a code 39 version running down instead right ({\tt
+wlcr39.mf}). You may perhaps use it with {\tt\tbs shortstack} or
+similiar. Here is some code I used (successfully) with plain \TeX:
+
+\begin{verbatim}
+\font\testfont=wlcr39 scaled 1200
+\def\bcbax{\let\next\bcbox\vbox\bgroup
+ \offinterlineskip\testfont\setbox0\hbox{@}\hsize=\wd0
+ \noindent{}@\hfil\break\next}
+\def\fertig{@\hfil\break\egroup}
+\def\bcbox#1{\if @#1\let\next\fertig\else#1\hfil\break\fi\next}
+
+Look buddy, this is \bcbax1406632@ code 39
+stacked and running downwards.
+\end{verbatim}
+
+\subsection{I heard something about full ascii code 39}
+
+Well, umh, now that you ask\dots The truth is: You may perhaps be able to
+configure your reading device to accept full ascii code~39. Then you may
+code any 7~bit character you may think of. The bad news is that most of
+the symbols have to be coded by two
+characters -- and as code 39 has already low density, you should not
+expect to get much use of it. Perhaps you might want to try code 128
+instead---it features full 7-bit ascii without any compromise.
+
+Another anti-feature is that switching to reading full-ascii code~39
+may lead to some bad reads of `normal' code~39. In full ascii, the lower
+case letters, e.g., are made by prepending the uppercase letters with a
+plus sign, so {\tt+A} is read as {\tt a}. So, if you have got regular
+code~39 that contains such character sequences, and you have switched
+your reading device to full ascii, you may get bad results.
+
+But, now that you want it: With the barcode package there comes a font
+{\tt wlcf39.vpl}. You may install it like the other vpl files. It has got
+132 characters and has already taken all the coding for full ascii, so
+when you typ {\tt e,\$4+A}, it will silently be mapped to what you
+would have typed as {\tt+E/L/D/KA}, if you would use the plain code~39
+format\footnote{Please take note: 6 characters are blown up to 9,
+think again about using another code}. In my version of full ascii
+code~39, the start/stop sign is mapped to @@ (or \verb|\char128|). So
+you actually had to add @@ to the front and the end of the example
+string. If you can not exclude that the character sequence @@ appears
+within the text you want to code, you have to avoid ligature
+processing. You may do that like this:
+
+\begin{verbatim}
+\font\fullas=wlcf39 scaled 1728
+\def\alphanolig{\char64\kern0pt}
+\def\printacode#1{{\fullas@@{\catcode`\@=\active%
+\let @=\alphanolig#1}@@}}
+\end{verbatim}
+
+You also have to escape or circumscribe special characters to make
+them really printable, of course, so that when you wanted a backspace,
+a tab, a space, a dollar sign, a percent sign, and a bell character to
+be coded, you would type something like
+
+\begin{verbatim}
+{\fullas @@\char8\char9\char32\$\%\char7}
+\end{verbatim}
+
+\section{Troubleshooting}
+
+\subsection{My barcodes can't be decoded}
+
+At first, try to make them larger. If that does't help, make them
+larger, again. If that will not help, obtain fonts in \TeX{} or
+Metafont format and make them brighter. Or, perhaps better, obtain a
+better printer.
+
+You also should check the contrast between bars and background,
+especially when using a dot matrix printer or coloured background
+or---still worse---red bars.
+
+\subsection{My decoder reads extra digits, sometimes}
+
+I guess you use {\sc itf} barcode with a number of digits that is
+sometimes even and sometimes odd. As {\sc itf} always codes two digits
+at once, you should take care just to code an even number of digits at
+any time. If an excess zero at the beginning of your number is not
+acceptable, you might try another kind of barcode instead of {\sc
+itf}.
+
+\section{Missing items}
+
+\subsection{I am missing two-of-five}
+
+I got specs for two-of-five (three bars). If you want it, let me know;
+I might implement it. For other kinds of two-of-five, I haven't got
+complete specs.
+
+\subsection{I am missing plessey}
+
+I got the specs but I haven't yet got the time to implement them. With
+plessey, there also rise several questions due to the fact that
+plessey has never been officialy standardized. The only thing that is
+absolutely sure about plessey is how binary ones and zeros are
+encoded. There are codes that are more wide-spread. Several modern
+barcode readers can't cope with plessey code.
+
+\subsection{I am missing \dots{} some other barcode}
+
+I have checked out several two-dimensional barcodes. But for most of
+them, support by \TeX{} seems to be rather pointless. Perhaps Metafont
+could be called any time you have to code something to draw the
+symbols, but you might as well use a custom drawing program that comes
+from the barcode vendor. Also, most two-dimensional barcodes (and
+other barcodes not mentioned here) are proprietary. Last not least the
+reading devices I have access to can deal only with a finite range of
+barcodes.
+
+I am sorry, but I haven't got the specs for further barcodes
+not mentioned here. If you could be so kind as to send them to me, I
+might perhaps implement them.
+
+\section{Contributions}
+
+\subsection{EAN without preprocessing}
+
+The following code is due to Kalvis M. Jansons.
+
+It handles printing of {\sc ean} without having to run a
+preprocessor. Not only are the {\sc ean} bars drawn, also the checksum
+checksum is checked. It can be easily
+adapted to non-\LaTeX{} use by omitting anything before \verb|\font|
+
+\begin{verse}
+Kalvis M. Jansons
+
+eMail: \verb|<kalvis@math.ucl.ac.uk>|
+
+\end{verse}
+
+An easy way to use the barcode fonts in \LaTeX{}:
+
+\begin{verbatim}
+\documentclass[a4paper]{article}
+
+\pagestyle{empty}
+
+\setlength{\oddsidemargin}{0pt}
+\setlength{\textwidth}{\paperwidth}
+\addtolength{\textwidth}{-2in}
+\setlength{\marginparwidth}{0pt}
+
+\setlength{\textheight}{\paperheight}
+\addtolength{\textheight}{-2.5in}
+\setlength{\topmargin}{0pt}
+
+\font\eanfont=WLEAN scaled 2000
+\def\ean#1{\vbox{\vskip20pt\eanfont#1\vskip20pt}}
+\newcount\num
+\def\a#1{\num=#1 \advance\num by `A \char\num}
+\def\b#1{\num=#1 \advance\num by `a \char\num}
+\def\c#1{\num=#1 \advance\num by `K \char\num}
+\def\C#1#2#3#4#5#6{\c#1\c#2\c#3\c#4\c#5\c#6}
+
+\def\A#1#2#3#4#5#6#7{\ifcase #7
+{\a#1\a#2\a#3\a#4\a#5\a#6}%
+\or {\a#1\a#2\b#3\a#4\b#5\b#6}%
+\or {\a#1\a#2\b#3\b#4\a#5\b#6}%
+\or {\a#1\a#2\b#3\b#4\b#5\a#6}%
+\or {\a#1\b#2\a#3\a#4\b#5\b#6}%
+\or {\a#1\b#2\b#3\a#4\a#5\b#6}%
+\or {\a#1\b#2\b#3\b#4\a#5\a#6}%
+\or {\a#1\b#2\a#3\b#4\a#5\b#6}%
+\or {\a#1\b#2\a#3\b#4\b#5\a#6}%
+\or {\a#1\b#2\b#3\a#4\b#5\a#6}%
+\fi}
+
+\newcount\cha
+\newcount\chb
+\makeatletter
+\long\def\for{\@for}
+\makeatother
+\gdef\mysix#1#2#3#4#5#6{,#1#2,#3#4,#5#6}
+\gdef\mywork#1#2{\advance\cha by #1 \advance\chb by #2}
+\gdef\barch#1.#2.#3.{
+\xdef\mylist{0#1\mysix#2\mysix#3}
+\cha=0
+\chb=0
+\for \x:=\mylist\do{\expandafter\mywork\x}
+\multiply\cha by 3
+\advance\chb by \cha
+\cha=\chb
+\divide\cha by 10
+\multiply\cha by -10
+\advance\chb by \cha}
+\def\bar#1.#2.#3.{\barch#1.#2.#3.
+\ifnum\chb>0 #1#2#3 has a bad check sum!\\[20pt]
+\else \ean{#1 +\A#2#1-\C#3+}\fi}
+\begin{document}
+
+ Examples
+
+\bar3.034325.106199.
+
+\bar4.074400.410000.
+
+\bar5.449000.055521.
+
+\bar5.010027.522336.
+
+\bar8.410005.421052.
+
+\bar9.780192.828941.
+
+\end{document}
+\end{verbatim}
+
+\bibliography{bcfaq}
+
+\end{document}
+\endinput
+%%
+%% End of file `bcfaq.tex'.
diff --git a/Master/texmf-dist/doc/fonts/barcode2/changes b/Master/texmf-dist/doc/fonts/barcode2/changes
new file mode 100644
index 00000000000..4214325c514
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/barcode2/changes
@@ -0,0 +1,18 @@
+This file documents changes to the barcode package.
+Its purpose is to make updating easier.
+
+1998-04-21 fixed wlitf bug
+1998-04-10 switched partly to docstrip-archive:
+ moved TeX and MF sources into barcodes.dtx,
+ added barcodes.ins
+ moved some macros to barcodes.sty (unfinished)
+ added code 11, so changed bcfaq.tex and examples.tex
+1998-01-24 Added Code 128. Adopted codean.pl to code 128
+ corrected isbn bug in codean.pl
+ Minor change to eandoc.tex
+ Added code 128 to bcfaq.tex, examples.tex, REAMDE
+1997-11-29 Added version date to examples.tex
+1997-11-08 Changed metrics of WLITF start and stop char
+ to remove the large whitespace.
+1997-11-08 Corrected README file.
+1997-10-09 Released first version of the barcode package. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/fonts/barcode2/eandoc.tex b/Master/texmf-dist/doc/fonts/barcode2/eandoc.tex
new file mode 100644
index 00000000000..c89375950da
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/barcode2/eandoc.tex
@@ -0,0 +1,355 @@
+%%
+%% This is file `eandoc.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% barcodes.dtx (with options: `eandoc')
+%% As this is a generated file, you may perhaps not want to edit it.
+%% This file belongs to the barcode package.
+%% It may be of no great use without the rest of the barcode package.
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\documentclass{article}
+\begin{document}
+\author{Peter Willadt}
+\title{EAN Barcodes by \TeX{} an Metafont}
+\date{1998-01-24}
+\maketitle
+\begin{abstract}
+This article documents the use of the font {\tt wlean.mf}. With the font,
+there also comes an auxiliary Perl file for preprocessing TeX source.
+Its use is also documented here.
+\end{abstract}
+
+\section{Legal Restrictions and Introduction}
+
+The files in this package come with no warranty. They may be freely
+used without permission. The complete contents of this package is
+described in the file {\tt readme}. That file also contains some
+information about the use of the other barcode fonts that are
+contained. For more information about these other files you may want
+to read an article that has appeared in the december, 1997 issue of
+{\em TUGboat}. Please see also the remarks in the section {\em
+Address} later in this file.
+
+\section{About {\sc ean}}
+
+In stores, {\sc upc} and {\sc ean} codes are widely used for automatic
+identification, pricing etc. {\sc ean} consist of either eight or
+thirteen digits. Twelve digit {\sc upc} codes are like thirteen digit
+{\sc ean} with the first digit equal to zero. {\sc ean} specifications
+do not only
+require bars, also the encoded number has to be written in plain text,
+in case a reader is defective or the code is too hard to read. {\sc
+ean} is a high-density code, and so it is highly vulnerable.
+
+\subsection{Coding}
+
+The last digit of an {\sc ean} is a weighted mod 10 checksum. Digits
+are alternatingly multiplied by 1 or 3. The so calculated sum over all
+digits has to be divisible by ten without any remainder.
+
+There are three different {\sc ean} character sets labeled A, B, and
+C. Eight digit {\sc ean} codes use character sets A and C, {\sc ean}
+codes with thirteen digits use all three character sets---see below.
+
+\begin{verse}
+{\sc ean} with eight digits consists of:\\
+a sidebar\\
+the first four digits (coded in character set A),\\
+the middle separator,\\
+the other four digits (coded in character set C)\\
+another sidebar.
+\end{verse}
+
+The first half of an {\sc ean} code with thirteen digits is coded in
+the character sets A and B, the second half in character set C. The
+coding of the very first digit is hidden in the varying use of the
+character sets A and B. A C programmer might use the following table
+and algorithm to decide which character set to use for digits 2--7:
+
+\begin{verbatim}
+static UBYTE abtab[10][6]={
+ {0,0,0,0,0,0}, /* 0 */
+ {0,0,1,0,1,1}, /* 1 */
+ {0,0,1,1,0,1}, /* 2 */
+ {0,0,1,1,1,0}, /* 3 */
+ {0,1,0,0,1,1}, /* 4 */
+ {0,1,1,0,0,1}, /* 5 */
+ {0,1,1,1,0,0}, /* 6 */
+ {0,1,0,1,0,1}, /* 7 */
+ {0,1,0,1,1,0}, /* 8 */
+ {0,1,1,0,1,0} /* 9 */
+};
+
+char eancode[18];
+char eansource[14]="4025700001030";
+
+eancode[0]=eansource[0];
+eancode[1]=' ';
+eancode[2]='+';
+for(i=1;i<7;i++)
+ eancode[i+2]='A'+eansource[i]-'0'
+ +abtab[eansource[0]-'0'][i-1]*('a'-'A');
+/* then the middle separator, digits 7--13,
+ * and the final + sign */
+\end{verbatim}
+
+A zero means to use character set A and a one means to use character
+set B for the respective digit. The printed code of an {\sc ean} 13
+consist of the following elements, from left to right:
+
+\begin{verse}
+The first digit in human-readable form\\
+an {\sc ean} sidebar\\
+six digits in character sets A or B\\
+the {\sc ean} middle separator\\
+six digits in character set C\\
+another {\sc ean} sidebar
+\end{verse}
+
+Magazines or codes with pricing have a so called extension following
+the main code with some fixed distance. This extension consists of one
+sidebar and two or five digits. As I have no full {\sc ean}
+documentation at hand at the time of this writing, I am sorry that I
+am not able to tell you more about this.
+
+The {\sc ean} digits themselves obey to the following rules: Each
+digit takes seven units of space. Some of the seven elements are
+white, others are black. Digits from character set A always are white
+at the left edge and black at the right, and they always have an odd numer
+of black elements. Digits from character set B are quit similiar, but
+they have an even number of black elements. Digits from Character set C
+always start with a black element and have an even number of
+black elements. The rightmost element in character set C is always white.
+The sidebars are three elements wide, the middle separator takes five
+elements.
+
+\subsection{What {\sc ean} numbers may I use?}
+
+For inhouse use, you may use any 13-digit {\sc ean} that starts with a
+2. If you want to have your products sold elsewhere, you have to buy a
+set of {\sc ean} numbers from the organisation in your country that
+holds these numbers. For germany, this organisation is the {\em
+Zentrale f\"ur Coorganisation} in Cologne. Almost any country has a
+similiar organisation.
+
+The first digit or sometimes the first two digits code the country of
+origin, the next five to six digits code the manufacturer, the eigth
+to twelfth digits are for free use by the manufacturer. The
+thirteenth digit is, as explained above, a checksum. {\sc ean} do not
+contain any qualifiers, so if you get an {\sc ean} from somewhere, you
+may find out about the country of origin and about the manufacturer of
+the product, but if you want to know more, you have to contact the
+manufacturer.
+
+\section{Using {\tt wlean.mf}}
+
+{\tt wlean.mf} is rather raw. It contains all three {\sc ean}
+character sets within one single font, but at different places.
+The character sets A, B, C, and the digits are
+featured through the following characters:
+
+\begin{verse}
+0 to 9 yield the digits from 0 to 9\\
+A to J yield the codes from character set A\\
+a to j yield the codes from character set B\\
+K to T yield the codes from character set C\\
++ makes the left and right sidebar and\\
+- makes the middle sign
+\end{verse}
+
+So, to code the number {\tt 2099993098253}, you have to write\\
+\verb*|{\eanfont2 +AJjjJd-KTSMPN+}|. The space is necessary to separate
+the leading 2 from the barcode.
+
+{\tt wlean.mf} does not use true {\sc ocr} digits, as it should. As
+the digits will not be used for {\sc ocr}, I do not consider this as
+a serious restriction. If you really need {\sc ocr} digits, there is
+an {\sc ocr} font on {\sc ctan}. And in {\em TUGboat}, there has been
+a publication about {\sc ean}, where \TeX{} draws the bars and
+the {\sc ocr} font prints the digits, see [1].
+
+{\tt wlean.mf} uses the normal {\sc ean} dimensions. If you would like
+lower bars---in contradiction to the {\sc ean} rules---you have to edit
+the source. The rules also make recommendations about the scaling. To
+be fully compatible, this font may be scaled 0.8, 0.9, 1, 1.2, 1.4,
+1.5, 1.7, 1.85, or 2 times the original size. With a 300 dpi printer,
+I do not recommend using sizes$<1.0$.
+
+\subsection{Installation}
+
+The installation itself is pretty mundane, like with any plain font.
+Just copy {\tt wlean.mf} to a location where Metafont can find
+it. Then invoke Metafont to create a {\sc tfm} file. Move this {\sc
+tfm} file where \TeX{} can find it. Type in the example at the end of
+this file and run it through \TeX{}. Then call Metafont again to
+produce a font suitable for your printer or previewer and move this
+font to an appropriate location. You may also want to edit {\tt
+codean.pl} to run on your shell. For this purpose you have to read
+your system's documentation or the documentation that comes with Perl.
+
+\subsection{Making readable output}
+
+Don't make {\sc ean} too small. With a 300 dpi printer, you should not
+use this font with magnification$<1$; {\tt scaled 1200} will be okay.
+If you want to do mass production, go to somebody with a barcode
+reader and check your output, {\em before} you loose money. You also
+should consider changes in the blackness that may be caused by
+production printing devices. And, of course, you should only use
+colours that can be used with barcode reading devices. Especially, do
+not use red and watch for much contrast between the colour you print
+and the colour of the paper.
+
+\subsection{Coding the numbers}
+
+You will perhaps not want to write something as ugly and error-prone
+as \verb*|{\eanfont2 +AJjjJd-KTSMPN+}| manually. So you have to use a
+preprocessor\footnote{See bcfaq.tex for \TeX{} code to go without
+preprocessing. It is very fine.}. With {\tt wlean.mf} there comes a
+tiny Perl program ({\tt codean.pl}) that does preprocessing within
+your \TeX{} sources\footnote{codean.pl in the meantime also handles
+code 128. See bcfaq.tex}.
+
+The \TeX{} file to be filtered may contain any number of lines
+that have one of the following commands starting at the leftmost position.
+
+\begin{itemize}
+\item \verb|\ean{|{\em12 or 13 digit number}\verb|}|
+The number will be coded as {\sc ean}. If it is only 12 digits long, the
+checksum will be calculated, too.
+
+\item \verb|\embed{|{\em12 or 13 digit number}\verb|}|
+The number is used as a base for embedding article numbers \&c.\
+within an {\sc ean}.
+
+\item \verb|\eean{|{\em number with at most 11 digits}\verb|}|
+This number is to be embedded within an {\sc ean}.
+
+\item \verb|\isbn{|{\em valid ISBN}\verb|}| An {\sc isbn} to
+make an embedded {\sc ean} of.
+\end{itemize}
+
+Let's look at an example: You want the {\sc isbn} {\tt0-201-13448-9}
+to be embedded. So you write \verb|\isbn{0201134489}|, but you might
+also use the embedding method and write
+\verb|\embed{9780000000000}| and, somewhere later in the file,
+\verb|\eean{020113448}|. In this latter case you have to omit the last digit,
+as {\sc isbn} loose their check digit in favour of the {\sc ean} check digit.
+Anyway you do it, you get your command replaced by
+\verb|\EAN{|{\em13-digit-number-coded-strange}\verb|}| in the output
+file.
+
+But embedding is especially useful if you also write the program that
+reads the barcodes. This program might then extract your article
+number from an {\sc ean} starting with {\tt20}, eg.
+
+What you have to do is, of course, to use stub definitions for the
+three macros mentioned above---as they shall never actually be
+typeset---and to use a valid definition for \verb|\EAN|. Then you run
+your \TeX{} source through {\tt codean.pl}. This program takes as
+first parameter the name of your original file and as second parameter
+the name of your destination file. If you omit the parameters, you will
+be asked for them.
+
+You may of course also peek the source of {\tt codean.pl} to see how
+{\sc ean} checksums are calculated, and so on.
+
+\subsection{Example}
+
+Here is a full example.
+Use this \TeX{} source:
+
+\begin{verbatim}
+\font\eanfont=WLEAN
+\def\ean#1{\message{Call codean.pl}}
+\def\eean#1{\message{Call codean.pl}}
+\def\isbn#1{\message{Call codean.pl}}
+\def\embed#1{}
+\def\EAN#1{\vbox{\vskip10pt\eanfont#1\vskip10pt}}
+ Now, something to do:
+\ean{4025700001030} % or, without checksum:
+\ean{402570000103}
+\embed{2500000000000}
+\eean{123}
+\isbn{0201134489}
+\end{verbatim}
+
+Having run your file through {\tt codean.pl}, the lines after the percent
+sign look like this:
+
+\begin{verbatim}
+ Now, something to do:
+\EAN{4 +AcFHaa-KKLKNK+} % or, without checksum: %(4025700001030)
+\EAN{4 +AcFHaa-KKLKNK+} %(402570000103)
+\embed{2500000000000}
+\EAN{2 +FAaaAa-KKLMNT+} % embedded(123)
+\EAN{9 +HiaCaB-LNOOSN+} % ISBN(0201134489)
+\end{verbatim}
+
+Running this file through \TeX{}, you get {\sc dvi} output containig
+{\sc ean} barcodes. Perhaps you wonder why there is not even a
+single {\sc ean} contained within this documentation. The reason is
+quite simple: You should be able to read the docs {\em before} you
+have installed the font. But now is the right time to try the example
+on your own. Better yet, you may code an {\sc ean} where you have
+taken the number from something like your favourite candy and then,
+having printed it, you may compare the bars. This is a nice way to
+spend your evenings. I actually started deciphering {\sc ean} codes in
+this way, several years ago.
+
+\section{The End}
+
+\subsection{Address}
+
+Just in case you want to write to me, here is my address---but
+please note: I am not the {\sc ean} guru.
+
+\begin{verbatim}
+Peter Willadt
+Heinrich-Wieland-Allee 5
+75177 Pforzheim
+Germany
+email: Willadt@t-online.de
+\end{verbatim}
+
+I also would appreciate if only one version of the material contained
+in this package is distributed. So if you have any corrections,
+suggestions, \&c., please do not hesitate to send them to me to
+incorporate them within this package.
+
+\subsection{Acknowledgement}
+
+I want to express my special thanks to Barbara Beeton for proofreading
+and making valuable suggestions. If there are still any typos or
+illegibilities, that is due to the fact that I had to change some
+things later on.
+
+\begin{thebibliography}{1}
+
+\bibitem{bc:ean}
+Peter Ol{\v{s}}ak.
+\newblock The {\sc ean} barcodes by {\TeX}.
+\newblock {\em TUGboat}, 15(4):459--464, 1994.
+
+\end{thebibliography}
+
+\end{document}
+\endinput
+%%
+%% End of file `eandoc.tex'.
diff --git a/Master/texmf-dist/doc/fonts/barcode2/examples.tex b/Master/texmf-dist/doc/fonts/barcode2/examples.tex
new file mode 100644
index 00000000000..520fcb78431
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/barcode2/examples.tex
@@ -0,0 +1,138 @@
+%%
+%% This is file `examples.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% barcodes.dtx (with options: `example')
+%% As this is a generated file, you may perhaps not want to edit it.
+%% This file belongs to the barcode package.
+%% It may be of no great use without the rest of the barcode package.
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% This file documents look and use of
+%% the barcodes this package belongs to.
+%% It may be freely used without any
+%% further permission.
+%% You should have received this file as part of
+%% the barcode package.
+%%
+%% Author: Peter Willadt
+%% Date: 1997-11-29
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% Note:
+%% 1. This file has already been run through codean.pl
+%%
+%% 2. You need to have the fonts installed, of course.
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Fonts
+%%
+\font\xlix=wlc39 scaled 2000
+\font\itf=wlitf scaled 2000
+\font\cdb=wlcdb scaled 2000
+\font\eanfont=WLEAN scaled 1200
+\font\fntcxx=wlc128 scaled \magstep3
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Inputs
+%%
+\input code39.tex
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Def's
+%%
+%% for EAN
+\def\ean#1{\message{Call codean.pl}}
+\def\eean#1{\message{Call codean.pl}}
+\def\isbn#1{\message{Call codean.pl}}
+\def\embed#1{}
+\def\EAN#1{\vbox{\hsize=0.4\hsize\vskip10pt\eanfont#1\vskip10pt}}
+%% for Code 128
+\def\CXXVIII{\bgroup\fntcxx\let\next\hexchar\next}
+\def\hexchar#1#2{\if#1@\global\let\next\egroup\else\char"#1#2\fi\next}
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Here we go
+\parindent0pt
+Hello, this is a test sheet of the barcode fonts.
+
+At first, we deal with code 39. Code 39 is represented in this package
+both in form of a native font (Metafont-source) and in form of
+\TeX{}-macros. code 39 features low-density alphanumeric encoding.
+
+Here you may see how HELLO looks like in code 39 (the start and stop
+sign is mapped to @, if you're curious, so in the source to this sheet
+I have written {\tt@HELLO@} after having selected the proper
+font). This first example uses the font.
+
+{\xlix@HELLO@}
+
+Another approach is to use \TeX{} macros to make up bars. Here is the
+same HELLO with macros:
+
+\begincodethirtynine{HELLO}\endcodethirtynine
+
+Interleaved two-of-five (ITF for short) features high-density
+numerical-only encoding. Your code has to have an even number of
+digits. The start sign is mapped to $+$, the end sign to $-$.
+So, to code 0123456789, you type {\tt+0123456789-}, and the result
+looks like this:
+
+{\itf+0123456789-}
+
+If you still have not got enough of barcoding, here is codabar. Here
+you got four sets of start/stop signs that get decoded together with
+the numbers. The start/stop sign pairs are a/t, b/n, c/*, and d/e. So
+{\tt a12345t} looks like this:\bigskip
+
+{\cdb a12345t}
+
+Now you should have a look at code 128. The bars itself look sometimes
+disrupted; this is due to the fact that the widest elements are four
+times as wide as the narrowest. Code 128 enables you to code any 7-bit
+ascii character. With digits only, it is as efficent as itf. The bad
+news is the preprocessing required, so you have to read the docs. The
+following bars mean {\tt Hallo123456}\bigskip
+
+\CXXVIII 6828414C4C4F630C2238506A@@ % Code128(Hallo123456)
+
+And, last and perhaps most important, the EAN font. Read {\tt
+eandoc.tex} to find out how these are coded, here is just the output
+of the example code mentioned there:
+\embed{2500000000000}
+
+\line{
+\EAN{4 +AcFHaa-KKLKNK+} % or, without checksum: %(4025700001030)
+\hfil
+\EAN{4 +AcFHaa-KKLKNK+} %(402570000103)
+}
+\line{
+\EAN{2 +FAaaAa-KKLMNT+} % embedded(123)
+\hfil
+\EAN{9 +HiaCaB-LNOOSN+} % ISBN(0201134489)
+}
+
+And that's all. Perhaps you may think that this is not a beautiful
+document---but barcodes aren't beautiful. As long as reading devices
+do not have \ae{}sthetic feelings, I don't regard this as a problem.
+\bye
+\endinput
+%%
+%% End of file `examples.tex'.