diff options
author | Karl Berry <karl@freefriends.org> | 2007-08-07 00:26:02 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2007-08-07 00:26:02 +0000 |
commit | 99fd92a6916e20374728792534ed7f201172aeba (patch) | |
tree | 2143eac2b9104766655bd6bbfcdced34dc82b978 | |
parent | 19de762b4dff70b0b8ead478b4681b72d2f89853 (diff) |
rm barcode2, it is now in barcodes a la ctan
git-svn-id: svn://tug.org/texlive/trunk@4707 c570f23f-e606-0410-a88d-b1316a301751
33 files changed, 0 insertions, 8628 deletions
diff --git a/Master/texmf-dist/doc/fonts/barcode2/README b/Master/texmf-dist/doc/fonts/barcode2/README deleted file mode 100644 index 0ad209f8bb5..00000000000 --- a/Master/texmf-dist/doc/fonts/barcode2/README +++ /dev/null @@ -1,72 +0,0 @@ -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 deleted file mode 100644 index 4dcbe98f544..00000000000 --- a/Master/texmf-dist/doc/fonts/barcode2/bcfaq.bbl +++ /dev/null @@ -1,47 +0,0 @@ -%% -%% 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 deleted file mode 100644 index 8e2e1085961..00000000000 --- a/Master/texmf-dist/doc/fonts/barcode2/bcfaq.tex +++ /dev/null @@ -1,597 +0,0 @@ -%% -%% 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 deleted file mode 100644 index 4214325c514..00000000000 --- a/Master/texmf-dist/doc/fonts/barcode2/changes +++ /dev/null @@ -1,18 +0,0 @@ -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 deleted file mode 100644 index c89375950da..00000000000 --- a/Master/texmf-dist/doc/fonts/barcode2/eandoc.tex +++ /dev/null @@ -1,355 +0,0 @@ -%% -%% 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 deleted file mode 100644 index 520fcb78431..00000000000 --- a/Master/texmf-dist/doc/fonts/barcode2/examples.tex +++ /dev/null @@ -1,138 +0,0 @@ -%% -%% 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'. diff --git a/Master/texmf-dist/fonts/source/public/barcode2/wlc11.mf b/Master/texmf-dist/fonts/source/public/barcode2/wlc11.mf deleted file mode 100644 index 39e07aef3c6..00000000000 --- a/Master/texmf-dist/fonts/source/public/barcode2/wlc11.mf +++ /dev/null @@ -1,101 +0,0 @@ -%% -%% This is file `wlc11.mf', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% barcodes.dtx (with options: `code11mf') -%% 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 \~} -%% -%% Code 11 in Metafont format -%% Peter Willadt 1998-04-10 -%% For copyright and the like see the documentation -%% to the barcode package, from which this file is part of. -%% If you received only this file, -%% then maybe someone fooled you. -%% -%% Code 11 requires one or two check digits. -%% These check digtis are calculated using a weighted mod 11-checksum. -%% You have to see the docs. -%% Start and stop chars are mapped to @, -%% codeable are 0--9 and the minus sign. - -mode_setup; - -bheight#:=5mm#; - -bwidth# :=.33 mm#; - -designsize :=bheight#; -font_slant :=0; -font_normal_space :=8*bwidth#; -font_extra_space :=0; -font_normal_stretch:=0; -font_normal_shrink :=0; -font_quad :=15*bwidth#; - -define_pixels(bheight, bwidth); - -def CODExichar(expr charnum, spex) = -numeric mywid, asval, i; -mywid=6; -for i= 0 upto 4: -asval:=ASCII(substring(i,i+1) of spex); -asval:=asval-ASCII("0"); -mywid:=mywid+asval; -endfor; -beginchar(charnum, mywid*bwidth#,bheight#,0); -y1=y2=0; -y3=y4=bheight; -numeric myright,myleft,barweight,spcweight; -myright:=0;myleft:=0;barweight:=0;spcweight:=0; -for i=0 upto 4: -asval:=ASCII(substring(i,i+1) of spex); -asval:=asval-ASCII("0"); -myright:=myright+(asval+1)*bwidth; -if not odd (i): -x1:=myleft-blacker; -x4:=x1; -x2:=myright+blacker; -x3:=x2; -fill (z1)--(z2)--(z3)--(z4)--cycle; -fi -myleft:=myright; -endfor; -endchar; -enddef; - -CODExichar("-","00100"); -CODExichar("0","00001"); -CODExichar("1","10001"); -CODExichar("2","01001"); -CODExichar("3","11000"); -CODExichar("4","00101"); -CODExichar("5","10100"); -CODExichar("6","01100"); -CODExichar("7","00011"); -CODExichar("8","10010"); -CODExichar("9","10000"); -CODExichar("@","00110"); - -end;% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\endinput -%% -%% End of file `wlc11.mf'. diff --git a/Master/texmf-dist/fonts/source/public/barcode2/wlc128.mf b/Master/texmf-dist/fonts/source/public/barcode2/wlc128.mf deleted file mode 100644 index 0bd4c466657..00000000000 --- a/Master/texmf-dist/fonts/source/public/barcode2/wlc128.mf +++ /dev/null @@ -1,187 +0,0 @@ -%% -%% This is file `wlc128.mf', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% barcodes.dtx (with options: `code128mf') -%% 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 \~} -%% -%% Code 128, in Metafont mode -%% This gives a raw font, that should be mapped properly -%% so read the docs! -%% Willadt 1997-08-17 - -mode_setup; - -bheight#:=5mm#; - -%% high res: .264 mm# -%% med res: .33 mm# -bwidth# :=.33 mm#; - -designsize :=bheight#; -font_slant :=0; -font_normal_space :=11*bwidth#; -font_extra_space :=0; -font_normal_stretch:=0; -font_normal_shrink :=0; -font_quad :=11*bwidth#; - -define_pixels(bheight, bwidth); - -def CXXVIIIchar(expr charnum, spex) = -numeric mywid, asval, i; -mywid=0; -beginchar(charnum, 11*bwidth#,bheight#,0); -y1=y2=0; -y3=y4=bheight; -numeric myright,myleft,barweight,spcweight; -myright:=0;myleft:=0;barweight:=0;spcweight:=0; -for i=0 upto 8: -asval:=ASCII(substring(i,i+1) of spex); -exitif asval=-1; -asval:=asval-ASCII("0"); -myright:=myright+asval*bwidth; -if not odd (i): -x1:=myleft-blacker; -x4:=x1; -x2:=myright+blacker; -x3:=x2; -fill (z1)--(z2)--(z3)--(z4)--cycle; -fi -myleft:=myright; -endfor; -endchar; -enddef; - -CXXVIIIchar(107,"212222"); % Ersatz fuer Null -CXXVIIIchar( 0,"212222"); -CXXVIIIchar( 1,"222122"); -CXXVIIIchar( 2,"222221"); -CXXVIIIchar( 3,"121223"); -CXXVIIIchar( 4,"121322"); -CXXVIIIchar( 5,"131222"); -CXXVIIIchar( 6,"122213"); -CXXVIIIchar( 7,"122312"); -CXXVIIIchar( 8,"132212"); -CXXVIIIchar( 9,"221213"); -CXXVIIIchar( 10,"221312"); -CXXVIIIchar( 11,"231212"); -CXXVIIIchar( 12,"112232"); -CXXVIIIchar( 13,"122132"); -CXXVIIIchar( 14,"122231"); -CXXVIIIchar( 15,"113222"); -CXXVIIIchar( 16,"123122"); -CXXVIIIchar( 17,"123221"); -CXXVIIIchar( 18,"223211"); -CXXVIIIchar( 19,"221132"); -CXXVIIIchar( 20,"221231"); -CXXVIIIchar( 21,"213212"); -CXXVIIIchar( 22,"223112"); -CXXVIIIchar( 23,"312131"); -CXXVIIIchar( 24,"311222"); -CXXVIIIchar( 25,"321122"); -CXXVIIIchar( 26,"321221"); -CXXVIIIchar( 27,"312212"); -CXXVIIIchar( 28,"322112"); -CXXVIIIchar( 29,"322211"); -CXXVIIIchar( 30,"212123"); -CXXVIIIchar( 31,"212321"); -CXXVIIIchar( 32,"232121"); -CXXVIIIchar( 33,"111323"); -CXXVIIIchar( 34,"131123"); -CXXVIIIchar( 35,"131321"); -CXXVIIIchar( 36,"112313"); -CXXVIIIchar( 37,"132113"); -CXXVIIIchar( 38,"132311"); -CXXVIIIchar( 39,"211313"); -CXXVIIIchar( 40,"231113"); -CXXVIIIchar( 41,"231311"); -CXXVIIIchar( 42,"112133"); -CXXVIIIchar( 43,"112331"); -CXXVIIIchar( 44,"132131"); -CXXVIIIchar( 45,"113123"); -CXXVIIIchar( 46,"113321"); -CXXVIIIchar( 47,"133121"); -CXXVIIIchar( 48,"313121"); -CXXVIIIchar( 49,"211331"); -CXXVIIIchar( 50,"231131"); -CXXVIIIchar( 51,"213113"); -CXXVIIIchar( 52,"213311"); -CXXVIIIchar( 53,"213131"); -CXXVIIIchar( 54,"311123"); -CXXVIIIchar( 55,"311321"); -CXXVIIIchar( 56,"331121"); -CXXVIIIchar( 57,"312113"); -CXXVIIIchar( 58,"312311"); -CXXVIIIchar( 59,"332111"); -CXXVIIIchar( 60,"314111"); -CXXVIIIchar( 61,"221411"); -CXXVIIIchar( 62,"431111"); -CXXVIIIchar( 63,"111224"); -CXXVIIIchar( 64,"111422"); -CXXVIIIchar( 65,"121124"); -CXXVIIIchar( 66,"121421"); -CXXVIIIchar( 67,"141122"); -CXXVIIIchar( 68,"141221"); -CXXVIIIchar( 69,"112214"); -CXXVIIIchar( 70,"112412"); -CXXVIIIchar( 71,"122114"); -CXXVIIIchar( 72,"122411"); -CXXVIIIchar( 73,"142112"); -CXXVIIIchar( 74,"142211"); -CXXVIIIchar( 75,"241211"); -CXXVIIIchar( 76,"221114"); -CXXVIIIchar( 77,"413111"); -CXXVIIIchar( 78,"241112"); -CXXVIIIchar( 79,"134111"); -CXXVIIIchar( 80,"111242"); -CXXVIIIchar( 81,"121142"); -CXXVIIIchar( 82,"121241"); -CXXVIIIchar( 83,"114212"); -CXXVIIIchar( 84,"124112"); -CXXVIIIchar( 85,"124211"); -CXXVIIIchar( 86,"411212"); -CXXVIIIchar( 87,"421112"); -CXXVIIIchar( 88,"421211"); -CXXVIIIchar( 89,"212141"); -CXXVIIIchar( 90,"214121"); -CXXVIIIchar( 91,"412121"); -CXXVIIIchar( 92,"111143"); -CXXVIIIchar( 93,"111341"); -CXXVIIIchar( 94,"131141"); -CXXVIIIchar( 95,"114113"); -CXXVIIIchar( 96,"114311"); -CXXVIIIchar( 97,"411113"); -CXXVIIIchar( 98,"411311"); -CXXVIIIchar( 99,"113141"); -CXXVIIIchar(100,"114131"); -CXXVIIIchar(101,"311141"); -CXXVIIIchar(102,"411131"); -CXXVIIIchar(103,"211412"); -CXXVIIIchar(104,"211214"); -CXXVIIIchar(105,"211232"); -CXXVIIIchar(106,"2331112"); - -end; -\endinput -%% -%% End of file `wlc128.mf'. diff --git a/Master/texmf-dist/fonts/source/public/barcode2/wlc39.mf b/Master/texmf-dist/fonts/source/public/barcode2/wlc39.mf deleted file mode 100644 index 8c330143bca..00000000000 --- a/Master/texmf-dist/fonts/source/public/barcode2/wlc39.mf +++ /dev/null @@ -1,121 +0,0 @@ -%% -%% This is file `wlc39.mf', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% barcodes.dtx (with options: `code39mf') -%% 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 \~} -%% -%% Code 39, in Metafont mode -%% Willadt 1997-08-17 -mode_setup; - -bheight#:=5mm#; - -%% high res .2 mm, -%% med res .3 mm, -%% lo res .4 mm. - -bwidth# :=.3mm#; - -designsize :=bheight#; -font_slant :=0; -font_normal_space :=13*bwidth#; -font_extra_space :=0; -font_normal_stretch:=0; -font_normal_shrink :=0; -font_quad :=13*bwidth#; - -define_pixels(bheight, bwidth); - -def thirtyninechar(expr charnum, spex) = - beginchar(charnum, 13*bwidth#,bheight#,0); - numeric myright,myleft; - numeric asval, i; - myright:=0;myleft:=0; - y1=y2=0;y3=y4=bheight; - for i=0 upto 11: - asval:=ASCII(substring(i,i+1) of spex); - exitif asval=-1; - asval:=asval-ASCII("0"); - myright:=myright+asval*bwidth; - if not odd (i): -x1:=myleft-blacker; -x4:=x1; -x2:=myright+blacker; -x3:=x2; -fill (z1)--(z2)--(z3)--(z4)--cycle; - fi - myleft:=myright; - endfor; - endchar; -enddef; - -\thirtyninechar("0")("1112212111"); -\thirtyninechar("1")("2112111121"); -\thirtyninechar("2")("1122111121"); -\thirtyninechar("3")("2122111111"); -\thirtyninechar("4")("1112211121"); -\thirtyninechar("5")("2112211111"); -\thirtyninechar("6")("1122211111"); -\thirtyninechar("7")("1112112121"); -\thirtyninechar("8")("2112112111"); -\thirtyninechar("9")("1122112111"); -\thirtyninechar( 64)("1211212111"); % start = @ -\thirtyninechar("-")("1211112121"); -\thirtyninechar("+")("1211121211"); -\thirtyninechar("$")("1212121111"); -\thirtyninechar("/")("1212111211"); -\thirtyninechar(".")("2211112111"); -\thirtyninechar( 37)("1112121211"); % percent -\thirtyninechar( 32)("1221112111"); % space -\thirtyninechar("A")("2111121121"); -\thirtyninechar("B")("1121121121"); -\thirtyninechar("C")("2121121111"); -\thirtyninechar("D")("1111221121"); -\thirtyninechar("E")("2111221111"); -\thirtyninechar("F")("1121221111"); -\thirtyninechar("G")("1111122121"); -\thirtyninechar("H")("2111122111"); -\thirtyninechar("I")("1121122111"); -\thirtyninechar("J")("1111222111"); -\thirtyninechar("K")("2111111221"); -\thirtyninechar("L")("1121111221"); -\thirtyninechar("M")("2121111211"); -\thirtyninechar("N")("1111211221"); -\thirtyninechar("O")("2111211211"); -\thirtyninechar("P")("1121211211"); -\thirtyninechar("Q")("1111112221"); -\thirtyninechar("R")("2111112211"); -\thirtyninechar("S")("1121112211"); -\thirtyninechar("T")("1111212211"); -\thirtyninechar("U")("2211111121"); -\thirtyninechar("V")("1221111121"); -\thirtyninechar("W")("2221111111"); -\thirtyninechar("X")("1211211121"); -\thirtyninechar("Y")("2211211111"); -\thirtyninechar("Z")("1221211111"); - -\end; - -\endinput -%% -%% End of file `wlc39.mf'. diff --git a/Master/texmf-dist/fonts/source/public/barcode2/wlc93.mf b/Master/texmf-dist/fonts/source/public/barcode2/wlc93.mf deleted file mode 100644 index f92734f7f9f..00000000000 --- a/Master/texmf-dist/fonts/source/public/barcode2/wlc93.mf +++ /dev/null @@ -1,144 +0,0 @@ -%% -%% This is file `wlc93.mf', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% barcodes.dtx (with options: `code93mf') -%% 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 \~} -%% -%% Code 93 in Metafont format -%% Peter Willadt 1998-04-21 -%% For copyright and the like see the documentation -%% to the barcode package, from which this file is part of. -%% If you received only this file, -%% then maybe someone fooled you. -%% -%% Code 93 requires one or two check digits. -%% These check digtis are calculated using a weighted mod 11-checksum. -%% You have to see the docs. -%% Start and stop chars are mapped to < and >, respectively. -%% codeable are 0--9 , A-Z, -,+, space, dot, $, /, and percent. -%% To print full ascii, ordinary characters have to be preceeded with -%% on of four shift characters. Thes shift characters are -%% ($) mapped to = -%% (%) mapped to [ -%% (/) mapped to | -%% (+) mapped to ] - -mode_setup; - -bheight#:=5mm#; - -bwidth# :=.33 mm#; - -designsize :=bheight#; -font_slant :=0; -font_normal_space :=9*bwidth#; -font_extra_space :=0; -font_normal_stretch:=0; -font_normal_shrink :=0; -font_quad :=10*bwidth#; - -define_pixels(bheight, bwidth); - -def CODExciiichar(expr charnum, spex) = -numeric mywid, asval, i; -mywid=0; -for i= 0 upto 5: -asval:=ASCII(substring(i,i+1) of spex); -asval:=asval-ASCII("0"); -mywid:=mywid+asval; -endfor; -beginchar(charnum, mywid*bwidth#,bheight#,0); -y1=y2=0; -y3=y4=bheight; -numeric myright,myleft,barweight,spcweight; -myright:=0;myleft:=0;barweight:=0;spcweight:=0; -for i=0 upto 5: -asval:=ASCII(substring(i,i+1) of spex); -asval:=asval-ASCII("0"); -myright:=myright+asval*bwidth; -if not odd (i): -x1:=myleft-blacker; -x4:=x1; -x2:=myright+blacker; -x3:=x2; -fill (z1)--(z2)--(z3)--(z4)--cycle; -fi -myleft:=myright; -endfor; -endchar; -enddef; - -CODExciiichar("0","131112"); -CODExciiichar("1","111213"); -CODExciiichar("2","111312"); -CODExciiichar("3","111411"); -CODExciiichar("4","121113"); -CODExciiichar("5","121212"); -CODExciiichar("6","121311"); -CODExciiichar("7","111114"); -CODExciiichar("8","131211"); -CODExciiichar("9","141111"); -CODExciiichar("A","211113"); -CODExciiichar("B","211212"); -CODExciiichar("C","211311"); -CODExciiichar("D","221112"); -CODExciiichar("E","221211"); -CODExciiichar("F","231111"); -CODExciiichar("G","112113"); -CODExciiichar("H","112212"); -CODExciiichar("I","112311"); -CODExciiichar("J","122112"); -CODExciiichar("K","132111"); -CODExciiichar("L","111123"); -CODExciiichar("M","111222"); -CODExciiichar("N","111321"); -CODExciiichar("O","121122"); -CODExciiichar("P","131121"); -CODExciiichar("Q","212112"); -CODExciiichar("R","212211"); -CODExciiichar("S","211122"); -CODExciiichar("T","211221"); -CODExciiichar("U","221121"); -CODExciiichar("V","222111"); -CODExciiichar("W","112122"); -CODExciiichar("X","112221"); -CODExciiichar("Y","122121"); -CODExciiichar("Z","123111"); -CODExciiichar("-","121131"); -CODExciiichar(".","311112"); -CODExciiichar( 32,"311211");% space -CODExciiichar( 36,"321111");% dollar -CODExciiichar("/","112131"); -CODExciiichar("+","113121"); -CODExciiichar( 37,"211131");% percent -CODExciiichar("(","121221");% ought to be ($) -CODExciiichar(")","312111");% ought to be (%) -CODExciiichar("[","311121");% ought to be (/) -CODExciiichar("]","122211");% ought to be (+) -CODExciiichar("<","111141");% start sign -CODExciiichar(">","1111411");% stop sign has extra bar - -end; -\endinput -%% -%% End of file `wlc93.mf'. diff --git a/Master/texmf-dist/fonts/source/public/barcode2/wlcr39.mf b/Master/texmf-dist/fonts/source/public/barcode2/wlcr39.mf deleted file mode 100644 index 12a15495069..00000000000 --- a/Master/texmf-dist/fonts/source/public/barcode2/wlcr39.mf +++ /dev/null @@ -1,115 +0,0 @@ -%% -%% This is file `wlcr39.mf', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% barcodes.dtx (with options: `wlcr39mf') -%% 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 \~} -%% -mode_setup; - -bwidth#:=5mm#; - - -bheight# :=.3mm#; - -designsize :=13*bheight#; -font_slant :=0; -font_normal_space :=bwidth#; -font_extra_space :=0; -font_normal_stretch:=0; -font_normal_shrink :=0; -font_quad :=bwidth#; - -define_pixels(bheight, bwidth); - -def thirtyninechar(expr charnum, spex) = - beginchar(charnum, bwidth#,12*bheight#,bheight#); - numeric mytop,mybot; - numeric asval, i; - mytop:=12*bheight;mybot:=mytop; - x1=x2=0;x3=x4=bwidth; - for i=0 upto 11: - asval:=ASCII(substring(i,i+1) of spex); - exitif asval=-1; - asval:=asval-ASCII("0"); - mybot:=mybot-asval*bheight; - if not odd (i): -y1:=mytop+blacker; -y4:=y1; -y2:=mybot-blacker; -y3:=y2; -fill (z1)--(z2)--(z3)--(z4)--cycle; - fi - mytop:=mybot; - endfor; - endchar; -enddef; - -\thirtyninechar("0")("1112212111"); -\thirtyninechar("1")("2112111121"); -\thirtyninechar("2")("1122111121"); -\thirtyninechar("3")("2122111111"); -\thirtyninechar("4")("1112211121"); -\thirtyninechar("5")("2112211111"); -\thirtyninechar("6")("1122211111"); -\thirtyninechar("7")("1112112121"); -\thirtyninechar("8")("2112112111"); -\thirtyninechar("9")("1122112111"); -\thirtyninechar( 64)("1211212111"); % start = @ -\thirtyninechar("-")("1211112121"); -\thirtyninechar("+")("1211121211"); -\thirtyninechar("$")("1212121111"); -\thirtyninechar("/")("1212111211"); -\thirtyninechar(".")("2211112111"); -\thirtyninechar( 37)("1112121211"); % percent -\thirtyninechar( 32)("1221112111"); % space -\thirtyninechar("A")("2111121121"); -\thirtyninechar("B")("1121121121"); -\thirtyninechar("C")("2121121111"); -\thirtyninechar("D")("1111221121"); -\thirtyninechar("E")("2111221111"); -\thirtyninechar("F")("1121221111"); -\thirtyninechar("G")("1111122121"); -\thirtyninechar("H")("2111122111"); -\thirtyninechar("I")("1121122111"); -\thirtyninechar("J")("1111222111"); -\thirtyninechar("K")("2111111221"); -\thirtyninechar("L")("1121111221"); -\thirtyninechar("M")("2121111211"); -\thirtyninechar("N")("1111211221"); -\thirtyninechar("O")("2111211211"); -\thirtyninechar("P")("1121211211"); -\thirtyninechar("Q")("1111112221"); -\thirtyninechar("R")("2111112211"); -\thirtyninechar("S")("1121112211"); -\thirtyninechar("T")("1111212211"); -\thirtyninechar("U")("2211111121"); -\thirtyninechar("V")("1221111121"); -\thirtyninechar("W")("2221111111"); -\thirtyninechar("X")("1211211121"); -\thirtyninechar("Y")("2211211111"); -\thirtyninechar("Z")("1221211111"); - -\end; -\endinput -%% -%% End of file `wlcr39.mf'. diff --git a/Master/texmf-dist/fonts/source/public/barcode2/wlean.mf b/Master/texmf-dist/fonts/source/public/barcode2/wlean.mf deleted file mode 100644 index e3a12e28cb3..00000000000 --- a/Master/texmf-dist/fonts/source/public/barcode2/wlean.mf +++ /dev/null @@ -1,417 +0,0 @@ -%% -%% This is file `wlean.mf', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% barcodes.dtx (with options: `codeeanmf') -%% 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 \~} -%% -%% Font for printing EAN Code -%% For small sizes (on the Deskjet, < 1,0) you have to be -%% very careful and test if the font is still machine readable. -%% On write-black-printers, it may be necessary to reduce -%% the width of black bars by fiddling with -%% the definition of fb(). -%% For producing EAN Add-ons or codes with variable height, -%% it would be a good idea to shorten the height of the bars and -%% to leave the numbers out of the bars-definition, so that you -%% could stack several bars above each other. -%% Flexibility would increase, but---on the other hand--- -%% TeX macros for setting EAN code would become even more complicated. -%% Peter Willadt 1997, September, 21 -%% Author -%% Peter Willadt -%% Heinrich-Wieland-Allee 5 -%% 75177 Pforzheim -%% Germany -%% email: Willadt@t-online.de - -mode_setup; - -%% EAN size 1 (100%) -bheight#:=22.85mm#; -bdepth#:=1.65mm#; -bwidth#:=0.33mm#; -digheight#:=2.75mm#; -numgap#=1mm#; -digdiam#=0.9pt#; -lgap#:= bwidth#+0.5 digdiam#; -totheight#=bheight#+digheight#+numgap#; -ndheight#:=totheight#-bheight#-bdepth#; -define_pixels(ndheight,digheight,numgap,lgap,bwidth); -define_blacker_pixels(bheight,totheight,digdiam); - -font_normal_space=7*bwidth#; -font_size 10pt#; - -def fb(expr posn) = -x20:=(posn-1)*bwidth; -x21:=x20; -x22:=posn*bwidth; -x23:=x22; -y20:=y22:=digheight+numgap; -y21:=y23:=h; -fill z20--z21--z23--z22--cycle; -enddef; - -def klotz(expr posn) = -x1:=(posn-1)*bwidth;x2:=posn*bwidth; -x3:=x2;x4:=x1; -y1:=y2:=ndheight; -y3:=y4:=digheight+numgap; -fill z1--z2--z3--z4--cycle; -enddef; - -def nuller = -x1=0.5w; -y1=digheight; -x2=lgap; -y2=0.8y1; -x3=x2; -y3-y4=y1-y2; -y4=0; -x4=x1; -x5=w-x3; -y5=y3; -x6=x5; -y6=y2; -pickup pencircle scaled digdiam; -draw z1..{down}z2--z3{down}..z4..{up}z5--z6{up}..cycle; -enddef; - -def einser = -x1=x2=0.5w+lgap; -x3=2*lgap; -y1=0; -y2=digheight; -y3=0.8digheight; -pickup pencircle scaled digdiam; -draw z1--z2--z3; -enddef; - -def zweier = -x1=w-lgap; -x2=lgap; -y1=y2=0; -x3=x2; -y3=0.15 digheight; -x4=w-lgap; -y4=0.6 digheight; -x5=x4; -y5=0.9 digheight; -x6=0.5w; -y6=digheight; -x7=x2; -y7=y5; -pickup pencircle scaled digdiam; -draw z1--z2{up}..z3..z4..z5..z6..z7; -enddef; - -def dreier = -x1=lgap; -w-x2=x1; -y1=y2=digheight; -x3=0.5w; -y3=0.6digheight; -y4=0.5y3; -x4=x2; -y5=0; -x5=0.5w; -x6=x1; -y6=0.2 digheight; -pickup pencircle scaled digdiam; -draw z1--z2--z3{right}..z4..z5..z6; -enddef; - -def vierer = -x1=0.6w;y1=digheight; -x2=lgap; -y2=0.3digheight; -y3=y2; -w-x3=x2; -x4=0.5[x1,x3]; -x5=x4; -y4=0.5digheight; -y5=0; -pickup pencircle scaled digdiam; -draw z1--z2--z3; -draw z4--z5; -enddef; - -def fuenfer = -x2=lgap; -x2=w-x1; -y1=y2=digheight; -x3=x2; -y3=0.7digheight; -x4=x1; -y3-y4=y4; -x5=x2; -y5=0; -pickup pencircle scaled digdiam; -draw z1--z2--z3{right}..z4..{left}z5; -enddef; - -def sechser = -x1=0.6w; -y1=digheight; -x2=lgap; -x4=w-x2; -y2=y4=0.5y5; -x3=x5=0.5w; -y3=0; -y5=x4-x2; -pickup pencircle scaled digdiam; -draw z2..z3..z4..z5..cycle; -draw z1..{down}z2; -enddef; -def siebener = -x1=lgap; -x2=w-x1; -y1=y2=digheight; -x3=x4=0.5w; -y3=0.3digheight; -y4=0; -pickup pencircle scaled digdiam; -draw z1--z2; -draw z2..z3...z4; -enddef; -def achter = -x1=x3=x5=0.5w; -y1=digheight; -y3=0.6digheight; -y5=0; -x2=w-x7; -x4=w-x6; -y2=y7=0.5[y1,y3]; -y4=y6=0.5[y3,y5]; -x2=1.5lgap; -x4=w-lgap; -pickup pencircle scaled digdiam; -draw z1..z2..z3..z7..cycle; -draw z3..z4..z5..z6..cycle; -enddef; -def neuner = -x1=0.4w; -y1=0; -x2=w-lgap; -x4=w-x2; -y2=y4=0.5[y5,y3]; -x3=x5=0.5w; -y3=digheight; -y5=0.4 digheight; -pickup pencircle scaled digdiam; -draw z1..{up}z2; -draw z2..z3..z4..z5..cycle; -enddef; -beginchar("+",3*bwidth#,totheight#,0); "Das Randzeichen"; -fb(1); fb(3); -klotz(1); -klotz(3); -endchar; -beginchar("-",5*bwidth#,totheight#,0); "Das Mittenzeichen"; -fb(2); fb(4); -klotz(2); -klotz(4); -endchar; - -beginchar("0",7*bwidth#,digheight#,0); -nuller; -endchar; - -beginchar("1",7*bwidth#,digheight#,0); -einser; -endchar; - -beginchar("2",7*bwidth#,digheight#,0); -zweier; -endchar; - -beginchar("3",7*bwidth#,digheight#,0); -dreier; -endchar; - -beginchar("4",7*bwidth#,digheight#,0); -vierer; -endchar; - -beginchar("5",7*bwidth#,digheight#,0); -fuenfer; -endchar; - -beginchar("6",7*bwidth#,digheight#,0); -sechser; -endchar; - -beginchar("7",7*bwidth#,digheight#,0); -siebener; -endchar; - -beginchar("8",7*bwidth#,digheight#,0); -achter; -endchar; - -beginchar("9",7*bwidth#,digheight#,0); -neuner; -endchar; - - -beginchar("A",7*bwidth#,totheight#,0); "Die Null (A)"; -fb(4);fb(5);fb(7); -nuller; -endchar; - -beginchar("B",7*bwidth#,totheight#,0); "Die Eins (A)"; -fb(3);fb(4);fb(7); -einser; -endchar; - -beginchar("C",7*bwidth#,totheight#,0); "Die Zwei (A)"; -fb(3);fb(6);fb(7); -zweier; -endchar; -beginchar("D",7*bwidth#,totheight#,0); "Die Drei (A)"; -fb(2);fb(3);fb(4);fb(5);fb(7); -dreier; -endchar; -beginchar("E",7*bwidth#,totheight#,0); "Die Vier (A)"; -fb(2);fb(6);fb(7); -vierer; -endchar; -beginchar("F",7*bwidth#,totheight#,0); "Die Fuenf (A)"; -fb(2);fb(3);fb(7); -fuenfer; -endchar; -beginchar("G",7*bwidth#,totheight#,0); "Die Sechs (A)"; -fb(2);fb(4);fb(5);fb(6);fb(7); -sechser; -endchar; -beginchar("H",7*bwidth#,totheight#,0); "Die Sieben (A)"; -fb(2);fb(3);fb(4);fb(6);fb(7); -siebener; -endchar; - -beginchar("I",7*bwidth#,totheight#,0); "Die Acht (A)"; -fb(2);fb(3);fb(5);fb(6);fb(7); -achter; -endchar; - -beginchar("J",7*bwidth#,totheight#,0); "Die Neun (A)"; -fb(4);fb(6);fb(7); -neuner; -endchar; - - -beginchar("a",7*bwidth#,totheight#,0); "Die Null (B)"; -fb(2);fb(5);fb(6);fb(7); -nuller; -endchar; - -beginchar("b",7*bwidth#,totheight#,0); "Die Eins (B)"; -fb(2);fb(3);fb(6);fb(7); -einser; -endchar; - -beginchar("c",7*bwidth#,totheight#,0); "Die Zwei (B)"; -fb(3);fb(4);fb(6);fb(7); -zweier; -endchar; -beginchar("d",7*bwidth#,totheight#,0); "Die Drei (B)"; -fb(2);fb(7); -dreier; -endchar; -beginchar("e",7*bwidth#,totheight#,0); "Die Vier (B)"; -fb(3);fb(4);fb(5);fb(7); -vierer; -endchar; -beginchar("f",7*bwidth#,totheight#,0); "Die Fuenf (B)"; -fb(2);fb(3);fb(4);fb(7); -fuenfer; -endchar; -beginchar("g",7*bwidth#,totheight#,0); "Die Sechs (B)"; -fb(5);fb(7); -sechser; -endchar; -beginchar("h",7*bwidth#,totheight#,0); "Die Sieben (B)"; -fb(3);fb(7); -siebener; -endchar; - -beginchar("i",7*bwidth#,totheight#,0); "Die Acht (B)"; -fb(4);fb(7); -achter; -endchar; - -beginchar("j",7*bwidth#,totheight#,0); "Die Neun (B)"; -fb(3);fb(5);fb(6);fb(7); -neuner; -endchar; - - -beginchar("K",7*bwidth#,totheight#,0); "Die Null (C)"; -fb(1);fb(2);fb(3);fb(6); -nuller; -endchar; - -beginchar("L",7*bwidth#,totheight#,0); "Die Eins (C)"; -fb(1);fb(2);fb(5);fb(6); -einser; -endchar; - -beginchar("M",7*bwidth#,totheight#,0); "Die Zwei (C)"; -fb(1);fb(2);fb(4);fb(5); -zweier; -endchar; -beginchar("N",7*bwidth#,totheight#,0); "Die Drei (C)"; -fb(1);fb(6); -dreier; -endchar; -beginchar("O",7*bwidth#,totheight#,0); "Die Vier (C)"; -fb(1);fb(3);fb(4);fb(5); -vierer; -endchar; -beginchar("P",7*bwidth#,totheight#,0); "Die Fuenf (C)"; -fb(1);fb(4);fb(5);fb(6); -fuenfer; -endchar; -beginchar("Q",7*bwidth#,totheight#,0); "Die Sechs (C)"; -fb(1);fb(3); -sechser; -endchar; -beginchar("R",7*bwidth#,totheight#,0); "Die Sieben (C)"; -fb(1);fb(5); -siebener; -endchar; - -beginchar("S",7*bwidth#,totheight#,0); "Die Acht (C)"; -fb(1);fb(4); -achter; -endchar; - -beginchar("T",7*bwidth#,totheight#,0); "Die Neun (C)"; -fb(1);fb(2);fb(3);fb(5); -neuner; -endchar; - -end; -\endinput -%% -%% End of file `wlean.mf'. diff --git a/Master/texmf-dist/fonts/tfm/public/barcode2/wlc11.tfm b/Master/texmf-dist/fonts/tfm/public/barcode2/wlc11.tfm Binary files differdeleted file mode 100644 index 22c0ff4dda7..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/barcode2/wlc11.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/barcode2/wlc128.tfm b/Master/texmf-dist/fonts/tfm/public/barcode2/wlc128.tfm Binary files differdeleted file mode 100644 index 276320a363c..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/barcode2/wlc128.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/barcode2/wlc39.tfm b/Master/texmf-dist/fonts/tfm/public/barcode2/wlc39.tfm Binary files differdeleted file mode 100644 index b194f1d715f..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/barcode2/wlc39.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/barcode2/wlc93.tfm b/Master/texmf-dist/fonts/tfm/public/barcode2/wlc93.tfm Binary files differdeleted file mode 100644 index 0dfcfb5214c..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/barcode2/wlc93.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/barcode2/wlcdb.tfm b/Master/texmf-dist/fonts/tfm/public/barcode2/wlcdb.tfm Binary files differdeleted file mode 100644 index bc45312b280..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/barcode2/wlcdb.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/barcode2/wlcf39.tfm b/Master/texmf-dist/fonts/tfm/public/barcode2/wlcf39.tfm Binary files differdeleted file mode 100644 index 782a700c20c..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/barcode2/wlcf39.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/barcode2/wlcr39.tfm b/Master/texmf-dist/fonts/tfm/public/barcode2/wlcr39.tfm Binary files differdeleted file mode 100644 index 357bec0faad..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/barcode2/wlcr39.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/barcode2/wlitf.tfm b/Master/texmf-dist/fonts/tfm/public/barcode2/wlitf.tfm Binary files differdeleted file mode 100644 index 660423a3c7d..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/barcode2/wlitf.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/vf/public/barcode2/wlcdb.vf b/Master/texmf-dist/fonts/vf/public/barcode2/wlcdb.vf Binary files differdeleted file mode 100644 index f222cc21bdb..00000000000 --- a/Master/texmf-dist/fonts/vf/public/barcode2/wlcdb.vf +++ /dev/null diff --git a/Master/texmf-dist/fonts/vf/public/barcode2/wlcf39.vf b/Master/texmf-dist/fonts/vf/public/barcode2/wlcf39.vf Binary files differdeleted file mode 100644 index 2488f17e885..00000000000 --- a/Master/texmf-dist/fonts/vf/public/barcode2/wlcf39.vf +++ /dev/null diff --git a/Master/texmf-dist/fonts/vf/public/barcode2/wlitf.vf b/Master/texmf-dist/fonts/vf/public/barcode2/wlitf.vf Binary files differdeleted file mode 100644 index dbb16dbe442..00000000000 --- a/Master/texmf-dist/fonts/vf/public/barcode2/wlitf.vf +++ /dev/null diff --git a/Master/texmf-dist/source/fonts/barcode2/barcodes.dtx b/Master/texmf-dist/source/fonts/barcode2/barcodes.dtx deleted file mode 100644 index 30c5694530a..00000000000 --- a/Master/texmf-dist/source/fonts/barcode2/barcodes.dtx +++ /dev/null @@ -1,2494 +0,0 @@ -% \iffalse meta-comment -% -% This is part of the barcode package. -% You should run -% tex barcodes.ins -% instead of reading/running this file. -% Among other things, you will then get a documentation. -% I guess you need some, or you wouldn't look here. -% \fi -% -%% \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 \~} -%% -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % EAN documentation starts here %% -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%<*eandoc> -\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} -%</eandoc> -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % EAN documentation ends here %% -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % general documentation starts here %% -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%<*bcfaq> -% this file contains answers to frequently asked questions (FAQ) -% about barcodes and---to some extent---VPL files. -\documentclass[a4paper]{article} -\bibliographystyle{alpha} - -% macros for the examples -% These are documented within the text. - -% Barcode fonts -\font\itf=wlitf scaled 1200 - -% barcodes with depth -\def\bcbox#1{\lower3pt\hbox{\itf +#1-}} - -% barcodes made taller -\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}} -% makes a typewriter backslash -\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} -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % general documentation ends here %% -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%</bcfaq> -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % bibliography for general documentation %% -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%<*bcfaqbbl> -\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} -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % end of bibliography for general documentation % -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%</bcfaqbbl> -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % example sheet starts here % -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%<*example> -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%% 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 -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % example sheet ends here % -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%</example> -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % style file starts here % -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%<*bcsty> -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Options for using barcodes %% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% documented in bcfaq.tex %% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% itf stuff -%% general -\font\itf=wlitf scaled 1200 -%% barcodes with depth -\def\bcbox#1{\lower3pt\hbox{\itf +#1-}} -%% barcodes made taller -\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}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Code 128 stuff -\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} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Code 11 stuff -\font\codxifnt=wlc11 scaled\magstep2 -%% relies on counters \cha and \chb defined below -\newif\ifcodexichecksumk -\codexichecksumkfalse -\makeatletter -\def\check@xichar{% - \ifcodexichecksumk% - {\count0=\cha\count1=\count0\divide\count1by11% - \multiply\count1by11\advance\count0by-\count1% - \ifnum10=\count0-\else\relax\the\count0\fi% - \global\advance\chb by\count0\global\advance\cha by\chb% - }\fi - \chb=\cha\divide\chb by11% - \multiply\chb by11\advance\cha by-\chb% - \ifnum10=\cha-\else\the\cha\fi% -} -\def\csumxi#1{% - \if @#1% - \let\next\check@xichar% - \else \if-#1\advance\chb by10% - \else\advance\chb by#1% - \fi% - \advance\cha by\chb% - #1% - \fi% - \next% -} -\makeatother -\def\codxi#1{{ - \codxifnt - \cha=0\chb=0% - @\let\next\csumxi\expandafter\expandafter\expandafter\csumxi#1@@ -}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% misc things -\font\codtnfnt=wlc39 scaled\magstep2 -\def\codxxxix#1{{\codtnfnt @#1@}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EAN stuff -%% this code comes from Kalvis M. Jansons -%% eMail: <kalvis@math.ucl.ac.uk> -%% -\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} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % style file ends here % -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%</bcsty> -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % code 39 macro file starts here % -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%<*code39mac> -%%% ==================================================================== -%%% @TeX-file{ -%%% author = "Peter Willadt", -%%% version = "1", -%%% date = "16 August 1997", -%%% time = "10:00:00 GMT", -%%% filename = "code39.tex", -%%% address = "Peter Willadt -%%% Heinrich-Wieland-Allee 5 -%%% 75177 Pforzheim -%%% Germany", -%%% email = "Willadt@t-online.de", -%%% codetable = "ISO/ASCII", -%%% keywords = "Barcode, Code39, TeX", -%%% abstract = "This file contains macros to support the inclusion -%%% of code 39 barcode in TeX documents.", -%%% } -%%% ==================================================================== -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% This code supports barcodes in Code 39 -%% Usage: -%% For alphanumerical barcodes: -%% \begincodethirtynine followed by -%% the stuff to code, -%% ended with \endcodethirtynine -%% For numerical only code: -%% modify the code for pharamceuticals -%% For german pharmaceutics: -%% \pzncode1234562@ when 1234562 is the -%% number to be coded as -1234562. -%% this will also verify the checksum -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% This file may be freely used without any -%% further permission. -%% It comes with absolutely no warranty. -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% this is the common stuff -\newdimen\dick -\newdimen\duenn -\newdimen\duennbar -\newdimen\dickbar -\newdimen\antibleed -\dick=1mm -\duenn=0.5mm -\antibleed=0mm -\dickbar=\dick -\advance\dickbar by -\antibleed -\duennbar=\duenn -\advance\duennbar by -\antibleed -% b means bar -\def\b{\vrule width\duennbar} -\def\B{\vrule width\dickbar} -% s means space -\def\s{\hskip\duenn\hskip\antibleed} -\def\S{\hskip\dick\hskip\antibleed} -%% - \def\tnzero{\b\s\b\S\B\s\B\s\b\s} - \def\tnone{\B\s\b\S\b\s\b\s\B\s} - \def\tntwo{\b\s\B\S\b\s\b\s\B\s} -\def\tnthree{\B\s\B\S\b\s\b\s\b\s} - \def\tnfour{\b\s\b\S\B\s\b\s\B\s} - \def\tnfive{\B\s\b\S\B\s\b\s\b\s} - \def\tnsix{\b\s\B\S\B\s\b\s\b\s} -\def\tnseven{\b\s\b\S\b\s\B\s\B\s} -\def\tneight{\B\s\b\S\b\s\B\s\b\s} - \def\tnnine{\b\s\B\S\b\s\B\s\b\s} - \def\tninestart{\b\S\b\s\B\s\B\s\b\s} - \def\tnineminus{\b\S\b\s\b\s\B\s\B\s} - \def\tnineplus{\b\S\b\s\b\S\b\S\b\s} -\def\tninedollar{\b\S\b\S\b\S\b\s\b\s} - \def\tnineslash{\b\S\b\S\b\s\b\S\b\s} - \def\tninedot{\B\S\b\s\b\s\B\s\b\s} -\def\tninepercnt{\b\s\b\S\b\S\b\S\b\s} - \def\tninespace{\b\S\B\s\b\s\B\s\b\s} -\def\tninelettera{\B\s\b\s\b\S\b\s\B\s} -\def\tnineletterb{\b\s\B\s\b\S\b\s\B\s} -\def\tnineletterc{\B\s\B\s\b\S\b\s\b\s} -\def\tnineletterd{\b\s\b\s\B\S\b\s\B\s} -\def\tninelettere{\B\s\b\s\B\S\b\s\b\s} -\def\tnineletterf{\b\s\B\s\B\S\b\s\b\s} -\def\tnineletterg{\b\s\b\s\b\S\B\s\B\s} -\def\tnineletterh{\B\s\b\s\b\S\B\s\b\s} -\def\tnineletteri{\b\s\B\s\b\S\B\s\b\s} -\def\tnineletterj{\b\s\b\s\B\S\B\s\b\s} -\def\tnineletterk{\B\s\b\s\b\s\b\S\B\s} -\def\tnineletterl{\b\s\B\s\b\s\b\S\B\s} -\def\tnineletterm{\B\s\B\s\b\s\b\S\b\s} -\def\tninelettern{\b\s\b\s\B\s\b\S\B\s} -\def\tninelettero{\B\s\b\s\B\s\b\S\b\s} -\def\tnineletterp{\b\s\B\s\B\s\b\S\b\s} -\def\tnineletterq{\b\s\b\s\b\s\B\S\B\s} -\def\tnineletterr{\B\s\b\s\b\s\B\S\b\s} -\def\tnineletters{\b\s\B\s\b\s\B\S\b\s} -\def\tninelettert{\b\s\b\s\B\s\B\S\b\s} -\def\tnineletteru{\B\S\b\s\b\s\b\s\B\s} -\def\tnineletterv{\b\S\B\s\b\s\b\s\B\s} -\def\tnineletterw{\B\S\B\s\b\s\b\s\b\s} -\def\tnineletterx{\b\S\b\s\B\s\b\s\B\s} -\def\tninelettery{\B\S\b\s\B\s\b\s\b\s} -\def\tnineletterz{\b\S\B\s\B\s\b\s\b\s} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% this is the code for 39 mode -\def\activatethemall{ - \catcode`\A=\active \catcode`\B=\active - \catcode`\C=\active \catcode`\D=\active - \catcode`\E=\active \catcode`\F=\active - \catcode`\G=\active \catcode`\H=\active - \catcode`\I=\active \catcode`\J=\active - \catcode`\K=\active \catcode`\L=\active - \catcode`\M=\active \catcode`\N=\active - \catcode`\O=\active \catcode`\P=\active - \catcode`\Q=\active \catcode`\R=\active - \catcode`\S=\active \catcode`\T=\active - \catcode`\U=\active \catcode`\V=\active - \catcode`\W=\active \catcode`\X=\active - \catcode`\Y=\active \catcode`\Z=\active - \catcode`+=\active \catcode`-=\active - \catcode`\ =\active \catcode`.=\active - \catcode`\$=\active \catcode`\%=\active - \catcode`\/=\active - \catcode`\0=\active \catcode`\1=\active - \catcode`\2=\active \catcode`\3=\active - \catcode`\4=\active \catcode`\5=\active - \catcode`\6=\active \catcode`\7=\active - \catcode`\8=\active \catcode`\9=\active -} -{\activatethemall -\gdef\begincodethirtynine{ - \bgroup\activatethemall\strut\tninestart - \letA=\tninelettera \letB=\tnineletterb - \letC=\tnineletterc \letD=\tnineletterd - \letE=\tninelettere \letF=\tnineletterf - \letG=\tnineletterg \letH=\tnineletterh - \letI=\tnineletteri \letJ=\tnineletterj - \letK=\tnineletterk \letL=\tnineletterl - \letM=\tnineletterm \letN=\tninelettern - \letO=\tninelettero \letP=\tnineletterp - \letQ=\tnineletterq \letR=\tnineletterr - \letS=\tnineletters \letT=\tninelettert - \letU=\tnineletteru \letV=\tnineletterv - \letW=\tnineletterw \letX=\tnineletterx - \letY=\tninelettery \letZ=\tnineletterz - \let+=\tnineplus \let-=\tnineminus - \let =\tninespace \let.=\tninedot - \let$=\tninedollar \let%=\tninepercnt - \let/=\tnineslash - \let0=\tnzero \let1=\tnone - \let2=\tntwo \let3=\tnthree - \let4=\tnfour \let5=\tnfive - \let6=\tnsix \let7=\tnseven - \let8=\tneight \let9=\tnnine -} -} -\def\endcodethirtynine{ - \tninestart\egroup -} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% this code is used for german pharmaceutics -\newcount\ziffern -\newcount\checksum -\newcount\multreg -\def\tndigit#1{% - \ifcase#1\tnzero\or\tnone% - \or\tntwo\or\tnthree% - \or\tnfour\or\tnfive% - \or\tnsix\or\tnseven% - \or\tneight\or\tnnine% - \fi} -\def\endtncode{% - \tninestart% - \ifnum\ziffern=9 - \else\message{wrong digit count} - \fi% - \ifnum\checksum=0 - \else\message{wrong checksum} - \fi% - \egroup} -\def\nexttn#1{% - \advance\ziffern by1 - \if@#1\let\next\endtncode - \else - \tndigit#1% -% begin checksum stuff - \ifnum\ziffern=8 - \multreg=\checksum - \divide\multreg by 11 - \multiply\multreg by 11 - \advance\checksum by-\multreg - \multreg=#1 - \advance\checksum by-\multreg - \ifnum\checksum=10 - \checksum=0 - \fi - \else - \multreg=#1 - \multiply\multreg by\ziffern - \advance\checksum by\multreg - \fi% - \fi% -% end checksum stuff - \next} -\def\pzncode{ - \bgroup - \let\next\nexttn - \ziffern=1\checksum=0\multreg=0 - \strut - \tninestart\tnineminus% - \next% -} -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % code 39 macro file ends here % -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%</code39mac> -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % MetaFont Code for Code 11 starts here % -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%<*code11mf> -%% Code 11 in Metafont format -%% Peter Willadt 1998-04-10 -%% For copyright and the like see the documentation -%% to the barcode package, from which this file is part of. -%% If you received only this file, -%% then maybe someone fooled you. -%% -%% Code 11 requires one or two check digits. -%% These check digtis are calculated using a weighted mod 11-checksum. -%% You have to see the docs. -%% Start and stop chars are mapped to @, -%% codeable are 0--9 and the minus sign. - -mode_setup; - -bheight#:=5mm#; - -% high res: .264 mm# -% med res: .33 mm# -bwidth# :=.33 mm#; - -designsize :=bheight#; -font_slant :=0; -font_normal_space :=8*bwidth#; -font_extra_space :=0; -font_normal_stretch:=0; -font_normal_shrink :=0; -font_quad :=15*bwidth#; - -define_pixels(bheight, bwidth); - -def CODExichar(expr charnum, spex) = - numeric mywid, asval, i; - mywid=6; - for i= 0 upto 4: - asval:=ASCII(substring(i,i+1) of spex); - asval:=asval-ASCII("0"); - mywid:=mywid+asval; - endfor; - beginchar(charnum, mywid*bwidth#,bheight#,0); - y1=y2=0; - y3=y4=bheight; - numeric myright,myleft,barweight,spcweight; - myright:=0;myleft:=0;barweight:=0;spcweight:=0; - for i=0 upto 4: - asval:=ASCII(substring(i,i+1) of spex); - asval:=asval-ASCII("0"); - myright:=myright+(asval+1)*bwidth; - if not odd (i): - % actual drawing - x1:=myleft-blacker; - x4:=x1; - x2:=myright+blacker; - x3:=x2; - fill (z1)--(z2)--(z3)--(z4)--cycle; - fi - myleft:=myright; - endfor; - endchar; -enddef; - -CODExichar("-","00100"); -CODExichar("0","00001"); -CODExichar("1","10001"); -CODExichar("2","01001"); -CODExichar("3","11000"); -CODExichar("4","00101"); -CODExichar("5","10100"); -CODExichar("6","01100"); -CODExichar("7","00011"); -CODExichar("8","10010"); -CODExichar("9","10000"); -CODExichar("@","00110"); - -end;% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % MetaFont Code for Code 11 ends here % -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%</code11mf> -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % MetaFont Code for Code 39 starts here % -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%<*code39mf> -%% Code 39, in Metafont mode -%% Willadt 1997-08-17 -mode_setup; - -bheight#:=5mm#; - -%% high res .2 mm, -%% med res .3 mm, -%% lo res .4 mm. - -bwidth# :=.3mm#; - -designsize :=bheight#; -font_slant :=0; -font_normal_space :=13*bwidth#; -font_extra_space :=0; -font_normal_stretch:=0; -font_normal_shrink :=0; -font_quad :=13*bwidth#; - -define_pixels(bheight, bwidth); - -def thirtyninechar(expr charnum, spex) = - beginchar(charnum, 13*bwidth#,bheight#,0); - numeric myright,myleft; - numeric asval, i; - myright:=0;myleft:=0; - y1=y2=0;y3=y4=bheight; - for i=0 upto 11: - asval:=ASCII(substring(i,i+1) of spex); - exitif asval=-1; - asval:=asval-ASCII("0"); - myright:=myright+asval*bwidth; - if not odd (i): - % actual drawing - x1:=myleft-blacker; - x4:=x1; - x2:=myright+blacker; - x3:=x2; - fill (z1)--(z2)--(z3)--(z4)--cycle; - fi - myleft:=myright; - endfor; - endchar; -enddef; - -\thirtyninechar("0")("1112212111"); -\thirtyninechar("1")("2112111121"); -\thirtyninechar("2")("1122111121"); -\thirtyninechar("3")("2122111111"); -\thirtyninechar("4")("1112211121"); -\thirtyninechar("5")("2112211111"); -\thirtyninechar("6")("1122211111"); -\thirtyninechar("7")("1112112121"); -\thirtyninechar("8")("2112112111"); -\thirtyninechar("9")("1122112111"); -\thirtyninechar( 64)("1211212111"); % start = @ -\thirtyninechar("-")("1211112121"); -\thirtyninechar("+")("1211121211"); -\thirtyninechar("$")("1212121111"); -\thirtyninechar("/")("1212111211"); -\thirtyninechar(".")("2211112111"); -\thirtyninechar( 37)("1112121211"); % percent -\thirtyninechar( 32)("1221112111"); % space -\thirtyninechar("A")("2111121121"); -\thirtyninechar("B")("1121121121"); -\thirtyninechar("C")("2121121111"); -\thirtyninechar("D")("1111221121"); -\thirtyninechar("E")("2111221111"); -\thirtyninechar("F")("1121221111"); -\thirtyninechar("G")("1111122121"); -\thirtyninechar("H")("2111122111"); -\thirtyninechar("I")("1121122111"); -\thirtyninechar("J")("1111222111"); -\thirtyninechar("K")("2111111221"); -\thirtyninechar("L")("1121111221"); -\thirtyninechar("M")("2121111211"); -\thirtyninechar("N")("1111211221"); -\thirtyninechar("O")("2111211211"); -\thirtyninechar("P")("1121211211"); -\thirtyninechar("Q")("1111112221"); -\thirtyninechar("R")("2111112211"); -\thirtyninechar("S")("1121112211"); -\thirtyninechar("T")("1111212211"); -\thirtyninechar("U")("2211111121"); -\thirtyninechar("V")("1221111121"); -\thirtyninechar("W")("2221111111"); -\thirtyninechar("X")("1211211121"); -\thirtyninechar("Y")("2211211111"); -\thirtyninechar("Z")("1221211111"); - -\end; - -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % MetaFont Code for Code 39 ends here % -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%</code39mf> -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % MetaFont Code for Code 128 starts here % -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%<*code128mf> -%% Code 128, in Metafont mode -%% This gives a raw font, that should be mapped properly -%% so read the docs! -%% Willadt 1997-08-17 - -mode_setup; - -bheight#:=5mm#; - -%% high res: .264 mm# -%% med res: .33 mm# -bwidth# :=.33 mm#; - -designsize :=bheight#; -font_slant :=0; -font_normal_space :=11*bwidth#; -font_extra_space :=0; -font_normal_stretch:=0; -font_normal_shrink :=0; -font_quad :=11*bwidth#; - -define_pixels(bheight, bwidth); - -def CXXVIIIchar(expr charnum, spex) = - numeric mywid, asval, i; - mywid=0; -% for i = 0 upto 8: -% asval:=ASCII(substring(i,i+1) of spex); -% exitif asval=-1; -% asval:=asval-ASCII("0"); -% mywid:=mywid+asval; -% endfor -% beginchar(charnum, mywid*bwidth#,bheight#,0); - beginchar(charnum, 11*bwidth#,bheight#,0); - y1=y2=0; - y3=y4=bheight; - numeric myright,myleft,barweight,spcweight; - myright:=0;myleft:=0;barweight:=0;spcweight:=0; - for i=0 upto 8: - asval:=ASCII(substring(i,i+1) of spex); - exitif asval=-1; - asval:=asval-ASCII("0"); - myright:=myright+asval*bwidth; - if not odd (i): -% check for typos -% barweight:=barweight+asval; - % actual drawing - x1:=myleft-blacker; - x4:=x1; - x2:=myright+blacker; - x3:=x2; - fill (z1)--(z2)--(z3)--(z4)--cycle; -% check for typos -% else: -% spcweight:=spcweight+asval; - fi - myleft:=myright; - endfor; -% check for typos -% if not odd(spcweight): message "error in spc cnt"; -% fi -% if odd(barweight): message "error in bar cnt"; -% fi - endchar; -enddef; - -CXXVIIIchar(107,"212222"); % Ersatz fuer Null -CXXVIIIchar( 0,"212222"); -CXXVIIIchar( 1,"222122"); -CXXVIIIchar( 2,"222221"); -CXXVIIIchar( 3,"121223"); -CXXVIIIchar( 4,"121322"); -CXXVIIIchar( 5,"131222"); -CXXVIIIchar( 6,"122213"); -CXXVIIIchar( 7,"122312"); -CXXVIIIchar( 8,"132212"); -CXXVIIIchar( 9,"221213"); -CXXVIIIchar( 10,"221312"); -CXXVIIIchar( 11,"231212"); -CXXVIIIchar( 12,"112232"); -CXXVIIIchar( 13,"122132"); -CXXVIIIchar( 14,"122231"); -CXXVIIIchar( 15,"113222"); -CXXVIIIchar( 16,"123122"); -CXXVIIIchar( 17,"123221"); -CXXVIIIchar( 18,"223211"); -CXXVIIIchar( 19,"221132"); -CXXVIIIchar( 20,"221231"); -CXXVIIIchar( 21,"213212"); -CXXVIIIchar( 22,"223112"); -CXXVIIIchar( 23,"312131"); -CXXVIIIchar( 24,"311222"); -CXXVIIIchar( 25,"321122"); -CXXVIIIchar( 26,"321221"); -CXXVIIIchar( 27,"312212"); -CXXVIIIchar( 28,"322112"); -CXXVIIIchar( 29,"322211"); -CXXVIIIchar( 30,"212123"); -CXXVIIIchar( 31,"212321"); -CXXVIIIchar( 32,"232121"); -CXXVIIIchar( 33,"111323"); -CXXVIIIchar( 34,"131123"); -CXXVIIIchar( 35,"131321"); -CXXVIIIchar( 36,"112313"); -CXXVIIIchar( 37,"132113"); -CXXVIIIchar( 38,"132311"); -CXXVIIIchar( 39,"211313"); -CXXVIIIchar( 40,"231113"); -CXXVIIIchar( 41,"231311"); -CXXVIIIchar( 42,"112133"); -CXXVIIIchar( 43,"112331"); -CXXVIIIchar( 44,"132131"); -CXXVIIIchar( 45,"113123"); -CXXVIIIchar( 46,"113321"); -CXXVIIIchar( 47,"133121"); -CXXVIIIchar( 48,"313121"); -CXXVIIIchar( 49,"211331"); -CXXVIIIchar( 50,"231131"); -CXXVIIIchar( 51,"213113"); -CXXVIIIchar( 52,"213311"); -CXXVIIIchar( 53,"213131"); -CXXVIIIchar( 54,"311123"); -CXXVIIIchar( 55,"311321"); -CXXVIIIchar( 56,"331121"); -CXXVIIIchar( 57,"312113"); -CXXVIIIchar( 58,"312311"); -CXXVIIIchar( 59,"332111"); -CXXVIIIchar( 60,"314111"); -CXXVIIIchar( 61,"221411"); -CXXVIIIchar( 62,"431111"); -CXXVIIIchar( 63,"111224"); -CXXVIIIchar( 64,"111422"); -CXXVIIIchar( 65,"121124"); -CXXVIIIchar( 66,"121421"); -CXXVIIIchar( 67,"141122"); -CXXVIIIchar( 68,"141221"); -CXXVIIIchar( 69,"112214"); -CXXVIIIchar( 70,"112412"); -CXXVIIIchar( 71,"122114"); -CXXVIIIchar( 72,"122411"); -CXXVIIIchar( 73,"142112"); -CXXVIIIchar( 74,"142211"); -CXXVIIIchar( 75,"241211"); -CXXVIIIchar( 76,"221114"); -CXXVIIIchar( 77,"413111"); -CXXVIIIchar( 78,"241112"); -CXXVIIIchar( 79,"134111"); -CXXVIIIchar( 80,"111242"); -CXXVIIIchar( 81,"121142"); -CXXVIIIchar( 82,"121241"); -CXXVIIIchar( 83,"114212"); -CXXVIIIchar( 84,"124112"); -CXXVIIIchar( 85,"124211"); -CXXVIIIchar( 86,"411212"); -CXXVIIIchar( 87,"421112"); -CXXVIIIchar( 88,"421211"); -CXXVIIIchar( 89,"212141"); -CXXVIIIchar( 90,"214121"); -CXXVIIIchar( 91,"412121"); -CXXVIIIchar( 92,"111143"); -CXXVIIIchar( 93,"111341"); -CXXVIIIchar( 94,"131141"); -CXXVIIIchar( 95,"114113"); -CXXVIIIchar( 96,"114311"); -CXXVIIIchar( 97,"411113"); -CXXVIIIchar( 98,"411311"); -CXXVIIIchar( 99,"113141"); -CXXVIIIchar(100,"114131"); -CXXVIIIchar(101,"311141"); -CXXVIIIchar(102,"411131"); -CXXVIIIchar(103,"211412"); -CXXVIIIchar(104,"211214"); -CXXVIIIchar(105,"211232"); -CXXVIIIchar(106,"2331112"); - -end; -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % MetaFont Code for Code 128 ends here % -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%</code128mf> -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % MetaFont Code for EAN starts here % -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%<*codeeanmf> -%% Font for printing EAN Code -%% For small sizes (on the Deskjet, < 1,0) you have to be -%% very careful and test if the font is still machine readable. -%% On write-black-printers, it may be necessary to reduce -%% the width of black bars by fiddling with -%% the definition of fb(). -%% For producing EAN Add-ons or codes with variable height, -%% it would be a good idea to shorten the height of the bars and -%% to leave the numbers out of the bars-definition, so that you -%% could stack several bars above each other. -%% Flexibility would increase, but---on the other hand--- -%% TeX macros for setting EAN code would become even more complicated. -% -%% Peter Willadt 1997, September, 21 -% -% For more information about EAN-Codes, you may consult the Centrale -% f\"ur Coorganisation in K\"oln, Germany, or one of the associated -% organisations in your country. The complete EAN-Handbook costs -% about a hundred german marks. -% -% Just some information: -% EAN-Digits consist of seven elements that are either black or white. -% Each element has the same width. -% Fonts A, B, and C are differently coded. -% The first half of the EAN-number is coded in fonts A and B, the second -% half is coded in font C. The first digit of the EAN-number is not -% directly coded but will be taken from the alternate uses of characters -% from font A and font B for the first half. -% This strange coding is a direct consequence of -% the ancestry of the EAN-code---it is derived from the american UPC-code -% (12 digits)---and there had to be a way of compatibly expanding the UPC. -% -% The first two digits of the EAN-number code the country of origin of -% the product, the next five digits (mostly) code the manufacturer, the -% remaining digits (with the exception of the last) code the product. -% The last digit of the EAN-number is a checksum. -% For In-House-Use, you may use EAN starting with 20 to 29. -% -% EAN numbers do not contain any qualifiers. From a number, you cannot say -% which kind of product is coded, unless you contact the manufacturer. -% -% Eight digit EAN numbers consist of four digits from font A and four digits -% from font C. -% -% UPC is EAN with the first digit equal to zero. -% -% Here is a table that shows which code to use for the digits 2 to 7 -% depending on the first digit. -% The number on the right shows the first digit. -% A zero in the array means to choose font A, a one means to choose font B. -% -% 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 */ -% }; -% This font is coded in a way that requires extensive preprocessing. -% 0 to 9 yield the digits from 0 to 9 -% A to J yield the codes from charset A -% a to j yield the codes from charset B -% K to T yield the codes from charset C -% + makes the start and stop sign and - the middle sign -% So, to code the number 2099993098253, you have to write -% {\eanfont2 +AJjjJd-KTSMPN+}. Please note that the last -% digit is a checksum. -% This font is free to be used without any further permission; -% it comes with no warranty. I strongly recommend to test -% the readability of barcodes before going into mass production. -% -% There should be a Perl routine delivered together with this font -% that takes a TeX file and replaces EAN numbers by their encoded -% equivalent. There also should be a file called EANDOC.TEX -% that tells you more about that. -% -%% Author -%% Peter Willadt -%% Heinrich-Wieland-Allee 5 -%% 75177 Pforzheim -%% Germany -%% email: Willadt@t-online.de -% - -mode_setup; - -%% EAN size 1 (100%) -% -bheight#:=22.85mm#; -bdepth#:=1.65mm#; -bwidth#:=0.33mm#; -digheight#:=2.75mm#; -numgap#=1mm#; -digdiam#=0.9pt#; -lgap#:= bwidth#+0.5 digdiam#; -totheight#=bheight#+digheight#+numgap#; -ndheight#:=totheight#-bheight#-bdepth#; -define_pixels(ndheight,digheight,numgap,lgap,bwidth); -define_blacker_pixels(bheight,totheight,digdiam); - -font_normal_space=7*bwidth#; -font_size 10pt#; - -def fb(expr posn) = - x20:=(posn-1)*bwidth; - x21:=x20; - x22:=posn*bwidth; - x23:=x22; - y20:=y22:=digheight+numgap; - y21:=y23:=h; - fill z20--z21--z23--z22--cycle; -enddef; - -def klotz(expr posn) = - x1:=(posn-1)*bwidth;x2:=posn*bwidth; - x3:=x2;x4:=x1; - y1:=y2:=ndheight; - y3:=y4:=digheight+numgap; - fill z1--z2--z3--z4--cycle; -enddef; - -def nuller = - x1=0.5w; - y1=digheight; - x2=lgap; - y2=0.8y1; - x3=x2; - y3-y4=y1-y2; - y4=0; - x4=x1; - x5=w-x3; - y5=y3; - x6=x5; - y6=y2; - pickup pencircle scaled digdiam; - draw z1..{down}z2--z3{down}..z4..{up}z5--z6{up}..cycle; -enddef; - -def einser = - x1=x2=0.5w+lgap; - x3=2*lgap; - y1=0; - y2=digheight; - y3=0.8digheight; - pickup pencircle scaled digdiam; - draw z1--z2--z3; -enddef; - -def zweier = - x1=w-lgap; - x2=lgap; - y1=y2=0; - x3=x2; - y3=0.15 digheight; - x4=w-lgap; - y4=0.6 digheight; - x5=x4; - y5=0.9 digheight; - x6=0.5w; - y6=digheight; - x7=x2; - y7=y5; - pickup pencircle scaled digdiam; - draw z1--z2{up}..z3..z4..z5..z6..z7; -enddef; - -def dreier = - x1=lgap; - w-x2=x1; - y1=y2=digheight; - x3=0.5w; - y3=0.6digheight; - y4=0.5y3; - x4=x2; -% y5=0.5digdiam; - y5=0; - x5=0.5w; - x6=x1; - y6=0.2 digheight; - pickup pencircle scaled digdiam; - draw z1--z2--z3{right}..z4..z5..z6; -enddef; - -def vierer = - x1=0.6w;y1=digheight; - x2=lgap; - y2=0.3digheight; - y3=y2; - w-x3=x2; -% w-x4=x4-x1; - x4=0.5[x1,x3]; - x5=x4; - y4=0.5digheight; - y5=0; - pickup pencircle scaled digdiam; - draw z1--z2--z3; - draw z4--z5; -enddef; - -def fuenfer = - x2=lgap; - x2=w-x1; - y1=y2=digheight; - x3=x2; - y3=0.7digheight; - x4=x1; - y3-y4=y4; - x5=x2; - y5=0; - pickup pencircle scaled digdiam; - draw z1--z2--z3{right}..z4..{left}z5; -enddef; - -def sechser = - x1=0.6w; - y1=digheight; - x2=lgap; - x4=w-x2; -% y2=y4=0.3digheight; - y2=y4=0.5y5; - x3=x5=0.5w; - y3=0; -% y5=0.6 digheight; - y5=x4-x2; - pickup pencircle scaled digdiam; - draw z2..z3..z4..z5..cycle; - draw z1..{down}z2; -enddef; -def siebener = - x1=lgap; - x2=w-x1; - y1=y2=digheight; - x3=x4=0.5w; - y3=0.3digheight; - y4=0; - pickup pencircle scaled digdiam; - draw z1--z2; - draw z2..z3...z4; -enddef; -def achter = - x1=x3=x5=0.5w; - y1=digheight; - y3=0.6digheight; - y5=0; - x2=w-x7; - x4=w-x6; - y2=y7=0.5[y1,y3]; - y4=y6=0.5[y3,y5]; - x2=1.5lgap; - x4=w-lgap; - pickup pencircle scaled digdiam; - draw z1..z2..z3..z7..cycle; - draw z3..z4..z5..z6..cycle; -enddef; -def neuner = - x1=0.4w; - y1=0; - x2=w-lgap; - x4=w-x2; -% y2=y4=0.7digheight; - y2=y4=0.5[y5,y3]; - x3=x5=0.5w; - y3=digheight; - y5=0.4 digheight; - pickup pencircle scaled digdiam; - draw z1..{up}z2; - draw z2..z3..z4..z5..cycle; -enddef; -beginchar("+",3*bwidth#,totheight#,0); "Das Randzeichen"; - fb(1); fb(3); - klotz(1); - klotz(3); -endchar; -beginchar("-",5*bwidth#,totheight#,0); "Das Mittenzeichen"; - fb(2); fb(4); - klotz(2); - klotz(4); -endchar; - -beginchar("0",7*bwidth#,digheight#,0); - nuller; -endchar; - -beginchar("1",7*bwidth#,digheight#,0); - einser; -endchar; - -beginchar("2",7*bwidth#,digheight#,0); - zweier; -endchar; - -beginchar("3",7*bwidth#,digheight#,0); - dreier; -endchar; - -beginchar("4",7*bwidth#,digheight#,0); - vierer; -endchar; - -beginchar("5",7*bwidth#,digheight#,0); - fuenfer; -endchar; - -beginchar("6",7*bwidth#,digheight#,0); - sechser; -endchar; - -beginchar("7",7*bwidth#,digheight#,0); - siebener; -endchar; - -beginchar("8",7*bwidth#,digheight#,0); - achter; -endchar; - -beginchar("9",7*bwidth#,digheight#,0); - neuner; -endchar; - -% Zeichensatz A - -beginchar("A",7*bwidth#,totheight#,0); "Die Null (A)"; - fb(4);fb(5);fb(7); - nuller; -endchar; - -beginchar("B",7*bwidth#,totheight#,0); "Die Eins (A)"; - fb(3);fb(4);fb(7); - einser; -endchar; - -beginchar("C",7*bwidth#,totheight#,0); "Die Zwei (A)"; - fb(3);fb(6);fb(7); - zweier; -endchar; -beginchar("D",7*bwidth#,totheight#,0); "Die Drei (A)"; - fb(2);fb(3);fb(4);fb(5);fb(7); - dreier; -endchar; -beginchar("E",7*bwidth#,totheight#,0); "Die Vier (A)"; - fb(2);fb(6);fb(7); - vierer; -endchar; -beginchar("F",7*bwidth#,totheight#,0); "Die Fuenf (A)"; - fb(2);fb(3);fb(7); - fuenfer; -endchar; -beginchar("G",7*bwidth#,totheight#,0); "Die Sechs (A)"; - fb(2);fb(4);fb(5);fb(6);fb(7); - sechser; -endchar; -beginchar("H",7*bwidth#,totheight#,0); "Die Sieben (A)"; - fb(2);fb(3);fb(4);fb(6);fb(7); - siebener; -endchar; - -beginchar("I",7*bwidth#,totheight#,0); "Die Acht (A)"; - fb(2);fb(3);fb(5);fb(6);fb(7); - achter; -endchar; - -beginchar("J",7*bwidth#,totheight#,0); "Die Neun (A)"; - fb(4);fb(6);fb(7); - neuner; -endchar; - -% Zeichensatz B - -beginchar("a",7*bwidth#,totheight#,0); "Die Null (B)"; - fb(2);fb(5);fb(6);fb(7); - nuller; -endchar; - -beginchar("b",7*bwidth#,totheight#,0); "Die Eins (B)"; - fb(2);fb(3);fb(6);fb(7); - einser; -endchar; - -beginchar("c",7*bwidth#,totheight#,0); "Die Zwei (B)"; - fb(3);fb(4);fb(6);fb(7); - zweier; -endchar; -beginchar("d",7*bwidth#,totheight#,0); "Die Drei (B)"; - fb(2);fb(7); - dreier; -endchar; -beginchar("e",7*bwidth#,totheight#,0); "Die Vier (B)"; - fb(3);fb(4);fb(5);fb(7); - vierer; -endchar; -beginchar("f",7*bwidth#,totheight#,0); "Die Fuenf (B)"; - fb(2);fb(3);fb(4);fb(7); - fuenfer; -endchar; -beginchar("g",7*bwidth#,totheight#,0); "Die Sechs (B)"; - fb(5);fb(7); - sechser; -endchar; -beginchar("h",7*bwidth#,totheight#,0); "Die Sieben (B)"; - fb(3);fb(7); - siebener; -endchar; - -beginchar("i",7*bwidth#,totheight#,0); "Die Acht (B)"; - fb(4);fb(7); - achter; -endchar; - -beginchar("j",7*bwidth#,totheight#,0); "Die Neun (B)"; - fb(3);fb(5);fb(6);fb(7); - neuner; -endchar; - -% Zeichensatz C - -beginchar("K",7*bwidth#,totheight#,0); "Die Null (C)"; - fb(1);fb(2);fb(3);fb(6); - nuller; -endchar; - -beginchar("L",7*bwidth#,totheight#,0); "Die Eins (C)"; - fb(1);fb(2);fb(5);fb(6); - einser; -endchar; - -beginchar("M",7*bwidth#,totheight#,0); "Die Zwei (C)"; - fb(1);fb(2);fb(4);fb(5); - zweier; -endchar; -beginchar("N",7*bwidth#,totheight#,0); "Die Drei (C)"; - fb(1);fb(6); - dreier; -endchar; -beginchar("O",7*bwidth#,totheight#,0); "Die Vier (C)"; - fb(1);fb(3);fb(4);fb(5); - vierer; -endchar; -beginchar("P",7*bwidth#,totheight#,0); "Die Fuenf (C)"; - fb(1);fb(4);fb(5);fb(6); - fuenfer; -endchar; -beginchar("Q",7*bwidth#,totheight#,0); "Die Sechs (C)"; - fb(1);fb(3); - sechser; -endchar; -beginchar("R",7*bwidth#,totheight#,0); "Die Sieben (C)"; - fb(1);fb(5); - siebener; -endchar; - -beginchar("S",7*bwidth#,totheight#,0); "Die Acht (C)"; - fb(1);fb(4); - achter; -endchar; - -beginchar("T",7*bwidth#,totheight#,0); "Die Neun (C)"; - fb(1);fb(2);fb(3);fb(5); - neuner; -endchar; - -end; -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % MetaFont Code for EAN ends here % -% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%</codeeanmf> -%<*wlcr39mf> -% Code 39, in Metafont mode -% $90^0$ rotated to the right, -% make Barcodes run down instead of across. -% Willadt 1998-04-28 -mode_setup; - -bwidth#:=5mm#; - -% high res .2 mm, -% med res .3 mm, -% lo res .4 mm. - -bheight# :=.3mm#; - -designsize :=13*bheight#; -font_slant :=0; -font_normal_space :=bwidth#; -font_extra_space :=0; -font_normal_stretch:=0; -font_normal_shrink :=0; -font_quad :=bwidth#; - -define_pixels(bheight, bwidth); - -def thirtyninechar(expr charnum, spex) = - beginchar(charnum, bwidth#,12*bheight#,bheight#); - numeric mytop,mybot; - numeric asval, i; - mytop:=12*bheight;mybot:=mytop; - x1=x2=0;x3=x4=bwidth; - for i=0 upto 11: - asval:=ASCII(substring(i,i+1) of spex); - exitif asval=-1; - asval:=asval-ASCII("0"); - mybot:=mybot-asval*bheight; - if not odd (i): - % actual drawing - y1:=mytop+blacker; - y4:=y1; - y2:=mybot-blacker; - y3:=y2; - fill (z1)--(z2)--(z3)--(z4)--cycle; - fi - mytop:=mybot; - endfor; - endchar; -enddef; - -\thirtyninechar("0")("1112212111"); -\thirtyninechar("1")("2112111121"); -\thirtyninechar("2")("1122111121"); -\thirtyninechar("3")("2122111111"); -\thirtyninechar("4")("1112211121"); -\thirtyninechar("5")("2112211111"); -\thirtyninechar("6")("1122211111"); -\thirtyninechar("7")("1112112121"); -\thirtyninechar("8")("2112112111"); -\thirtyninechar("9")("1122112111"); -\thirtyninechar( 64)("1211212111"); % start = @ -\thirtyninechar("-")("1211112121"); -\thirtyninechar("+")("1211121211"); -\thirtyninechar("$")("1212121111"); -\thirtyninechar("/")("1212111211"); -\thirtyninechar(".")("2211112111"); -\thirtyninechar( 37)("1112121211"); % percent -\thirtyninechar( 32)("1221112111"); % space -\thirtyninechar("A")("2111121121"); -\thirtyninechar("B")("1121121121"); -\thirtyninechar("C")("2121121111"); -\thirtyninechar("D")("1111221121"); -\thirtyninechar("E")("2111221111"); -\thirtyninechar("F")("1121221111"); -\thirtyninechar("G")("1111122121"); -\thirtyninechar("H")("2111122111"); -\thirtyninechar("I")("1121122111"); -\thirtyninechar("J")("1111222111"); -\thirtyninechar("K")("2111111221"); -\thirtyninechar("L")("1121111221"); -\thirtyninechar("M")("2121111211"); -\thirtyninechar("N")("1111211221"); -\thirtyninechar("O")("2111211211"); -\thirtyninechar("P")("1121211211"); -\thirtyninechar("Q")("1111112221"); -\thirtyninechar("R")("2111112211"); -\thirtyninechar("S")("1121112211"); -\thirtyninechar("T")("1111212211"); -\thirtyninechar("U")("2211111121"); -\thirtyninechar("V")("1221111121"); -\thirtyninechar("W")("2221111111"); -\thirtyninechar("X")("1211211121"); -\thirtyninechar("Y")("2211211111"); -\thirtyninechar("Z")("1221211111"); - -\end; -%</wlcr39mf> -%<*code93mf> -% not complete, yet -%% Code 93 in Metafont format -%% Peter Willadt 1998-04-21 -%% For copyright and the like see the documentation -%% to the barcode package, from which this file is part of. -%% If you received only this file, -%% then maybe someone fooled you. -%% -%% Code 93 requires one or two check digits. -%% These check digtis are calculated using a weighted mod 11-checksum. -%% You have to see the docs. -%% Start and stop chars are mapped to < and >, respectively. -%% codeable are 0--9 , A-Z, -,+, space, dot, $, /, and percent. -%% To print full ascii, ordinary characters have to be preceeded with -%% on of four shift characters. Thes shift characters are -%% ($) mapped to = -%% (%) mapped to [ -%% (/) mapped to | -%% (+) mapped to ] - -mode_setup; - -bheight#:=5mm#; - -% high res: .264 mm# -% med res: .33 mm# -bwidth# :=.33 mm#; - -designsize :=bheight#; -font_slant :=0; -font_normal_space :=9*bwidth#; -font_extra_space :=0; -font_normal_stretch:=0; -font_normal_shrink :=0; -font_quad :=10*bwidth#; - -define_pixels(bheight, bwidth); - -def CODExciiichar(expr charnum, spex) = - numeric mywid, asval, i; - mywid=0; - for i= 0 upto 5: - asval:=ASCII(substring(i,i+1) of spex); - asval:=asval-ASCII("0"); - mywid:=mywid+asval; - endfor; - beginchar(charnum, mywid*bwidth#,bheight#,0); - y1=y2=0; - y3=y4=bheight; - numeric myright,myleft,barweight,spcweight; - myright:=0;myleft:=0;barweight:=0;spcweight:=0; - for i=0 upto 5: - asval:=ASCII(substring(i,i+1) of spex); - asval:=asval-ASCII("0"); - myright:=myright+asval*bwidth; - if not odd (i): - % actual drawing - x1:=myleft-blacker; - x4:=x1; - x2:=myright+blacker; - x3:=x2; - fill (z1)--(z2)--(z3)--(z4)--cycle; - fi - myleft:=myright; - endfor; - endchar; -enddef; - -CODExciiichar("0","131112"); -CODExciiichar("1","111213"); -CODExciiichar("2","111312"); -CODExciiichar("3","111411"); -CODExciiichar("4","121113"); -CODExciiichar("5","121212"); -CODExciiichar("6","121311"); -CODExciiichar("7","111114"); -CODExciiichar("8","131211"); -CODExciiichar("9","141111"); -CODExciiichar("A","211113"); -CODExciiichar("B","211212"); -CODExciiichar("C","211311"); -CODExciiichar("D","221112"); -CODExciiichar("E","221211"); -CODExciiichar("F","231111"); -CODExciiichar("G","112113"); -CODExciiichar("H","112212"); -CODExciiichar("I","112311"); -CODExciiichar("J","122112"); -CODExciiichar("K","132111"); -CODExciiichar("L","111123"); -CODExciiichar("M","111222"); -CODExciiichar("N","111321"); -CODExciiichar("O","121122"); -CODExciiichar("P","131121"); -CODExciiichar("Q","212112"); -CODExciiichar("R","212211"); -CODExciiichar("S","211122"); -CODExciiichar("T","211221"); -CODExciiichar("U","221121"); -CODExciiichar("V","222111"); -CODExciiichar("W","112122"); -CODExciiichar("X","112221"); -CODExciiichar("Y","122121"); -CODExciiichar("Z","123111"); -CODExciiichar("-","121131"); -CODExciiichar(".","311112"); -CODExciiichar( 32,"311211");% space -CODExciiichar( 36,"321111");% dollar -CODExciiichar("/","112131"); -CODExciiichar("+","113121"); -CODExciiichar( 37,"211131");% percent -% % the four escape characters -CODExciiichar("(","121221");% ought to be ($) -CODExciiichar(")","312111");% ought to be (%) -CODExciiichar("[","311121");% ought to be (/) -CODExciiichar("]","122211");% ought to be (+) -CODExciiichar("<","111141");% start sign -CODExciiichar(">","1111411");% stop sign has extra bar - -end; -%</code93mf> diff --git a/Master/texmf-dist/source/fonts/barcode2/barcodes.ins b/Master/texmf-dist/source/fonts/barcode2/barcodes.ins deleted file mode 100644 index ddccd09ea85..00000000000 --- a/Master/texmf-dist/source/fonts/barcode2/barcodes.ins +++ /dev/null @@ -1,55 +0,0 @@ -\input docstrip -% Preamble gives hints for where the files come from -\declarepreamble\foo -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. -\endpreamble - -% empty postamble -\declarepostamble\istpost -\endpostamble -% install without talking too much -\keepsilent - -% All the \TeX files are contained within one source archive. -\usepreamble\foo -\generate{\file{bcfaq.tex}{\from{barcodes.dtx}{bcfaq}} - \file{bcfaq.bbl}{\from{barcodes.dtx}{bcfaqbbl}} - \file{barcodes.sty}{\from{barcodes.dtx}{bcsty}} - \file{eandoc.tex}{\from{barcodes.dtx}{eandoc}} - \file{examples.tex}{\from{barcodes.dtx}{example}} - \file{code39.tex}{\from{barcodes.dtx}{code39mac}} - \file{wlc11.mf}{\from{barcodes.dtx}{code11mf}} - \file{wlc39.mf}{\from{barcodes.dtx}{code39mf}} - \file{wlc128.mf}{\from{barcodes.dtx}{code128mf}} - \file{wlean.mf}{\from{barcodes.dtx}{codeeanmf}} - \file{wlcr39.mf}{\from{barcodes.dtx}{wlcr39mf}} - \file{wlc93.mf}{\from{barcodes.dtx}{code93mf}} -} - -\ifToplevel{ -\Msg{***********************************************************} -\Msg{*} -\Msg{* To finish the installation you have to move the following} -\Msg{* files into a directory searched by TeX:} -\Msg{*} -\Msg{* \space\space barcodes.sty \space\space code39.tex} -\Msg{*} -\Msg{* You also have to move the following files into a} -\Msg{* directory searched by MetaFont:} -\Msg{*} -\Msg{* \space\space wlc11.mf \space\space wlc39.mf} -\Msg{* \space\space wlc128.mf \space wlean.mf} -\Msg{* \space\space wlcr39.mf \space wlc93.mf} -\Msg{*} -\Msg{* For the more clumsy barcodes, you also need Perl and} -\Msg{* you need to install the following perl script:} -\Msg{*} -\Msg{* \space\space codean.pl} -\Msg{*} -\Msg{***********************************************************} -} - - -\endbatchfile diff --git a/Master/texmf-dist/source/fonts/barcode2/codean.pl b/Master/texmf-dist/source/fonts/barcode2/codean.pl deleted file mode 100644 index 6d398fae515..00000000000 --- a/Master/texmf-dist/source/fonts/barcode2/codean.pl +++ /dev/null @@ -1,456 +0,0 @@ -# your shell command goes here -# -# Hacking EAN numbers to a form usable with WLEAN.MF. -# -# September 3, 1997 -# Peter Willadt -# -# Added hacking any text for coding with code 128 -# 1998-01-24 -# -# Added checksumming for code 93 -# 1998-11-29 -# -# This file is free to use without any further permissions. -# This file comes with no warranty of any kind. -# -# The TeX file to be filtered may contain any number of lines -# that have one of the following commands -# starting at the leftmost position. -# -# \ean{12 or 13 digit number} -# the number gets coded as EAN, -# if it is only 12 digits long, the checksum gets calculated -# -# \embed{number} -# the number is used as a base for embedding article numbers & c. -# \eean{number} -# a number to be embedded with an ean. -# -# \isbn{number} -# an isbn to make an embedded ean of. -# -# \cxxviii{any 7 bit ascii values} -# code as barcode 128 (see rules below!) -# -# \xciii{uppercase text or number} -# text to be coded as code 128 -# -# example: -# You want the isbn 0-201-13448-9 to be embedded. -# so you say \isbn{0201134489}, -# but you may also say \embed{9780000000000} and, -# somewhere later in the file, \eean{020113448} -# In this case you have to leave the last digit out, -# as isbn loose their check digit in favour of the -# ean check digit. -# anyway you do it, you get your command replaced by -# \EAN{13-digit-number-coded-strange} -# in the output file. -# -# -# code 128 rules: -# you write a line starting with \cxxviii{ -# followed by arbitrary 7 bit characters, delimited by a right brace}. -# as perl is greedy, it will be the rightmost right brace (no fence matching), -# but as perl is also nice, you will be warned if there is another -# right brace. Please note that even the percent character % will be -# included. So it is better to write the \cxxviii{...} statement onto -# a line of its own. You may replace any character by ^^00 and -# similiar codes, preferably you will do this to non-printable ascii -# characters, or right braces and the like. This routine will try to find -# an efficent way to make code 128 (sorry, not necessarily the most -# efficient way) out of your input and then it will -# insert a line like \CXXVIII{3a 70 12 ... @@} in the output file. -# The code 128 special characters can be included by the following codes: -# ^^80 FNC3 -# ^^81 FNC2 -# ^^82 SHIFT -# ^^83 CODE C/CODE C/99 -# ^^84 CODE B/FNC4/CODE B -# ^^85 FNC4/CODE A/CODE A -# ^^86 FNC1 -# ^^87 START A -# ^^88 START B -# ^^89 START C -# ^^8a STOP - -# code switch table for ean - -@ABTAB=(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 and so on - 0,1,1,0,0,1, - 0,1,1,1,0,0, - 0,1,0,1,0,1, - 0,1,0,1,1,0, - 0,1,1,0,1,0, - ); - -# command line processing: Need input file - -if($ARGV[0]){ - $ifname=$ARGV[0]; -}else{ - print "Enter name of file to be processed: "; - $ifname = <>; - chomp($ifname); -} - -# command line processing: need output file - -if($ARGV[1]){ - $ofname=">$ARGV[1]"; -}else{ - print "Enter name of output file: "; - $ofname = <>; - chomp($ofname); -} - -# make an ean - -sub eancod{ - my $srcstr=shift; - # first digits first - my $precod=substr($srcstr,0,1); - # Starting output string - my $eastring=$precod . " +"; - # digits 2--7 - for($i=0;$i<6;$i++){ - my $disone=substr($srcstr,$i+1,1); - $disone =~ tr/0123456789/ABCDEFGHIJ/; - $disone= lc ($disone) if( @ABTAB[$precod*6 + $i]==1); - $eastring .=$disone; - }$eastring .= "-"; - # digits 8--13 - for($i=0;$i<6;$i++){ - # if checksum misses, do your own - if(($i==5) && (length($srcstr)==12)){ - for($j=0,$checksum=0;$j<12;$j++){ - $checksum+=substr($srcstr,$j,1)*(1+($j&1)*2); - }; - $checksum%=10; - $checksum=10-$checksum; - $checksum%=10; - $disone="$checksum"; - }else { - $disone=substr($srcstr,$i+7,1); - } - $disone =~ tr/0123456789/KLMNOPQRST/; - $eastring .=$disone; - }$eastring .="+"; - return $eastring; -} - -################################################## -# here starts the code 128 stuff -# -################################################## -# get the numerical value of a hex character, -# e.g. 65 from 41 -# -sub hexchar{ - my $src=shift; - my ($i, $j, $result); - $src =~ tr/a-f/A-F/; - $i=ord(substr($src,0,1)); - $j=ord(substr($src,1,1)); - if($i >= ord("A")){ - $i += (10-ord('A')); - }else{ - $i -= ord("0"); - } - if($j >= ord("A")){ - $j += (10-ord("A")); - }else{ - $j -= ord("0"); - } - $result=16*($i)+$j; - return $result; -} - -# globals: -# @cxxchars holds the characters the user wants to code -# @ctbl holds the possible codings for these chars -# @cxxout holds the codes to be output for code 128 - -################################################## -# build up the switching table for code 128 - -sub makectbl{ - # locals - my $i; - for($i=0;$i < $cxxlength; $i++){ - if(($cxxchars[$i] >= ord("0"))&&($cxxchars[$i] <= ord("9"))){ - # digits - $ctbl[$i]=7; - }elsif(($cxxchars[$i] >= ord(" "))&&($cxxchars[$i] <= ord("_"))){ - # common Chars - $ctbl[$i]=3; - }elsif($cxxchars[$i] < ord(" ")){ - # ascii control chars - $ctbl[$i]=1; - }elsif(($cxxchars[$i] >=ord("`"))&&($cxxchars[$i] <= ord("\x7f"))){ - # lowercase - $ctbl[$i]=2; - if($cxxchars[$i] == ord("}")){ - print "Encountered right brace in argument to cxxviii\n"; - } - }else{ # Function Codes - $ctbl[$i] =7; - } - } - $ctbl[$i]=0; -} - -################################################## -# make a character array from a string -# looking like aBc\x41def^^41 or so. -# -sub unhex{ - my ($i, $j, $b); - my $srcstr=shift; - $j=0; - for($i=0;($b=ord(substr($srcstr,$i,1))) > 0;$i++){ - if($b == ord("\\")){ - if(substr($srcstr,$i+1,1) =~ /[xX]/){ # hex input - $cxxchars[$j] = hexchar(substr($srcstr,$i+2,2)); - $i += 3; - }else{ - $cxxchars[$j] = ord("\\"); - } - }elsif($b == ord("^")){ - if(ord(substr($srcstr,$i+1,1)) == ord("^")){ # hex input - $cxxchars[$j] = hexchar(substr($srcstr,$i+2,2)); - $i += 3; - }else{ - $cxxchars[$j] = ord("^"); - } - }else{ - $cxxchars[$j] = $b; - } - $j++; - } - return $j; -} - -################################################## -# write out a chunk of code 128 in hex symbols -# -sub cxxchunk{ - my $j=shift; - my ($i, $sum, $k); - $sum=7; - for($i=0;$sum & $ctbl[$j+$i]; $i++){ - $sum &= $ctbl[$j+$i]; - } - if($sum==1){ - $cxxout[$j]=101; - }else{ - $cxxout[$j]=100; - } - for($k=0;$k<$i;$k++){ - if(($sum==1)&&($cxxchars[$j+$k] < ord(" "))){ - $cxxout[$j+$k+1]=$cxxchars[$j+$k] + 64; - }else{ - $cxxout[$j+$k+1]=$cxxchars[$j+$k] - ord(" "); - } - } - $k++; - return $k; -} - -################################################## -# consecutive digits may perhaps be efficiently -# coded with charset C -# -sub pastedigits{ - my $digitcount=shift; - my $j=shift; - my $firstdigit=shift; - my $lastset=shift; - my $k; - if($digitcount==0){ - return $j; - } # else: we've found consecutive digits - elsif($digitcount<4){ - # but unfortunately not enough digits. - for($k=0;$k<$digitcount;$k++){ - $cxxoutout[$j] = $cxxout[$firstdigit+$k]; - $j++; - } - return $j; - }else{ - # is there an odd number of digits? - if(($digitcount & 1)==1){ - $cxxoutout[$j] = $cxxout[$firstdigit]; - $firstdigit++; - $digitcount--; - $j++; - }elsif(($cxxout[$j-1]>=99)&&($cxxout[$j-1]<=101)){ - # Switched immediately before digits. - # so overwrite the switch - $j--; - } - $cxxoutout[$j] = 99; # switch to set C - $j++; - # copy digits in compressed format - for($k=0;$k<$digitcount;$k+=2){ - $cxxoutout[$j] = ($cxxout[$firstdigit+$k]-16)*10 - +$cxxout[$firstdigit+$k+1]-16; - $j++; - } - # reset char set, if you have to - if($lastset != 0){ - $cxxoutout[$j] = $lastset; - $j++; - } - } - return $j; -} - -sub digitoptimize{ - # change to charset C if there are at least four numbers in a row. - # copy to @cxxoutout - my ($lastset, $firstdigit, $digitcount, $i,$j,$k); - $firstdigit=0; - $digitcount=0; -zch: - for($i=0, $j=0; $i < $cxxlength; $i++){ - if(($cxxout[$i]>=16)&&($cxxout[$i]<=25)){ - # it's a number - if($digitcount == 0){ - $firstdigit=$i; - } - $digitcount++; - next zch; - } - $j=pastedigits($digitcount,$j,$firstdigit,$lastset); - $digitcount=0; - $cxxoutout[$j] = $cxxout[$i]; - $j++; - if(($cxxout[$i]>=99)&&($cxxout[$i]<=101)){ - # it's a code switch - $lastset=$cxxout[$i]; - } - } - $j=pastedigits($digitcount,$j,$firstdigit, 0); - return $j; -} - -################################################## -# code 128 is a little complicated -# if you read till here, you already know. -# -sub codcxxviii{ - # locals - my ($i,$j,$sum); - my $srcstr=shift; - # reset all arrays - $cxxlength=0; - # first step: unhexing - $cxxlength = unhex($srcstr); - # @cxxchars now holds the characters the user wants - makectbl(); - # @ctbl now contains the possible tables for the chars in $j; - for($i =0; $i < $cxxlength;){ - $i += cxxchunk($i); - } - # change codeset switch to start - $cxxlength=$i; - $j=digitoptimize(); - if($cxxoutout[0]==99){ - $cxxoutout[0]=105; - }elsif($cxxoutout[0]==100){ - $cxxoutout[0]=104; - }else{ - $cxxoutout[0]=103; - } - # calculate checksum and build output string - for($i=1,$sum=$cxxoutout[0];$i<$j;$i++){ - $sum+=$cxxoutout[$i]*$i; - } - $sum %=103; - $cxxoutout[$j]=$sum; - $j++; - $cxxoutout[$j]=106; #stop sign - $srcstr=""; - for($i=0;$i<($j+1);$i++){ - $srcstr .= sprintf "%02X", $cxxoutout[$i]; - } - $srcstr .= "@@"; - return $srcstr; -} -################################################## -# do code 93 -- it's easy -################################################## -sub codxciii{ - my $srcstr=shift; - my $cstbl='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%()[]'; - my ($i, $j, $sumc, $sumh); - $sumc=$sumh=0; - for ($i=0;$i<length($srcstr);$i++){ - $j=index($cstbl, substr($srcstr,$i,1),0); - # $j is the check value of the character. - $sumh=$sumh+$j; - $sumc=$sumc+$sumh; - } - $srcstr=$srcstr . substr($cstbl,$sumc%47,1); - $sumc=$sumc+$sumh+($sumc%47); - $srcstr=$srcstr . substr($cstbl,$sumc%47,1); - return $srcstr; -} - -################################################## -# we got both input and output file, -# we defined all subroutines, -# so here we go... -# -open(EINGABE, $ifname) or die "No file"; -open(AUSGABE, $ofname) or die "Can't open output file"; -while($line=<EINGABE>){ - if($line =~ /^\\embed{(\d+)\}/){ - $embedded=$1; - print AUSGABE "$line"; - }elsif($line =~ /^\\eean\{(\d+)\}(.*)/){ - # embedded EAN - $embtmp=substr($embedded,0,12-length($1)); - $mycod=$embtmp . $1; - $eastring=eancod($mycod); - print AUSGABE "\\EAN{$eastring}$2 % embedded($1)\n"; - }elsif ($line =~ /^\\ean\{(\d+)\}(.*)/){ - # normal ean - $eastring=eancod($1); - print AUSGABE "\\EAN{$eastring}$2 %($1)\n"; - }elsif($line =~ /^\\isbn\{([\dxX]+)\}(.*)/){ - # isbn to be embedded - $embtmp=substr($1,0,9); - $mycod='978' . $embtmp; - $eastring=eancod($mycod); - print AUSGABE "\\EAN{$eastring}$2 % ISBN($1)\n"; - }elsif($line =~ /^\\cxxviii\{(.+)\}(.*)/){ - # code 128 - $eastring=codcxxviii($1); - print AUSGABE "\\CXXVIII $eastring $2 % Code128($1)\n"; - }elsif($line =~ /^\\xciii\{(.+)\}(.*)/){ - # code 93 - $eastring=codxciii($1); - print AUSGABE "\\XCIII{$eastring}$2 % Code93($1)\n"; - }else { - print AUSGABE $line - }; -} - -################################################## -# we're done, so we do some cleanup and quit. -close (EINGABE); -close (AUSGABE); -print "Done.\n"; - -################################################## -# what we do here is called -# 'falling off the edge of the world' -# in the camel book. -################################################## diff --git a/Master/texmf-dist/source/fonts/barcode2/wlcdb.vpl b/Master/texmf-dist/source/fonts/barcode2/wlcdb.vpl deleted file mode 100644 index 6beb186f4a9..00000000000 --- a/Master/texmf-dist/source/fonts/barcode2/wlcdb.vpl +++ /dev/null @@ -1,231 +0,0 @@ -(FAMILY BARCODE) -(DESIGNSIZE D 12) -(DESIGNUNITS D 14) -(COMMENT written by Peter Willadt August 16, 1997) -(COMMENT Sorry, e,n,t and star not coded) -(COMMENT Use @ as delimiter) -(FONTDIMEN - (SLANT R 0) - (SPACE D 10) - (SHRINK D 0) - (STRETCH D 0) - (XHEIGHT R 10) - (QUAD D 10) - ) -(CHARACTER C 0 - (CHARWD D 10) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 2) - (SETRULE R 16 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER C 1 - (CHARWD D 10) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 2)(MOVERIGHT R 2) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER C 2 - (CHARWD D 10) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 2) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER C 3 - (CHARWD D 10) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 16 R 2)(MOVERIGHT R 2) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER C 4 - (CHARWD D 10) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 2)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 2) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER C 5 - (CHARWD D 10) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 16 R 2)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 2) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER C 6 - (CHARWD D 10) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 16 R 1)(MOVERIGHT R 2) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER C 7 - (CHARWD D 10) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 16 R 1)(MOVERIGHT R 2) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 2)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER C 8 - (CHARWD D 10) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 16 R 1)(MOVERIGHT R 2) - (SETRULE R 16 R 2)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER C 9 - (CHARWD D 10) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 16 R 2)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 2) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 45 (COMMENT Minus Sign) - (CHARWD D 10) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 2) - (SETRULE R 16 R 2)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 36 (COMMENT Dollar) - (CHARWD D 10) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 2)(MOVERIGHT R 2) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 58 (COMMENT Colon) - (CHARWD D 11) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 16 R 2)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 2)(MOVERIGHT R 1) - (SETRULE R 16 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 47 (COMMENT Slash) - (CHARWD D 11) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 16 R 2)(MOVERIGHT R 1) - (SETRULE R 16 R 2)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 46 (COMMENT Dot) - (CHARWD D 11) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 16 R 2)(MOVERIGHT R 1) - (SETRULE R 16 R 2)(MOVERIGHT R 1) - (SETRULE R 16 R 2)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 43 (COMMENT Plus Sign) - (CHARWD D 11) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 2)(MOVERIGHT R 1) - (SETRULE R 16 R 2)(MOVERIGHT R 1) - (SETRULE R 16 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER C a (COMMENT Start a) - (CHARWD D 11) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 2)(MOVERIGHT R 2) - (SETRULE R 16 R 1)(MOVERIGHT R 2) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER C b (COMMENT Start b) - (CHARWD D 11) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 16 R 1)(MOVERIGHT R 2) - (SETRULE R 16 R 1)(MOVERIGHT R 2) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER C c (COMMENT Start c) - (CHARWD D 11) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 2) - (SETRULE R 16 R 1)(MOVERIGHT R 2) - (SETRULE R 16 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER C d (COMMENT Start d) - (CHARWD D 11) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 2) - (SETRULE R 16 R 2)(MOVERIGHT R 2) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER C t (COMMENT Stop t) - (CHARWD D 11) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 2)(MOVERIGHT R 2) - (SETRULE R 16 R 1)(MOVERIGHT R 2) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER C n (COMMENT Stop n) - (CHARWD D 11) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 16 R 1)(MOVERIGHT R 2) - (SETRULE R 16 R 1)(MOVERIGHT R 2) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 42 (COMMENT Stop Star) - (CHARWD D 11) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 2) - (SETRULE R 16 R 1)(MOVERIGHT R 2) - (SETRULE R 16 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER C e (COMMENT Stop e) - (CHARWD D 11) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 16 R 1)(MOVERIGHT R 1) - (SETRULE R 16 R 1)(MOVERIGHT R 2) - (SETRULE R 16 R 2)(MOVERIGHT R 2) - (SETRULE R 16 R 1)(MOVERIGHT R 1) - ) - ) - diff --git a/Master/texmf-dist/source/fonts/barcode2/wlcf39.vpl b/Master/texmf-dist/source/fonts/barcode2/wlcf39.vpl deleted file mode 100644 index d81f877a55b..00000000000 --- a/Master/texmf-dist/source/fonts/barcode2/wlcf39.vpl +++ /dev/null @@ -1,1334 +0,0 @@ -(COMMENT Code 39, full ascii version) -(COMMENT written by Peter Willadt, 1998-04-22) -(COMMENT Start-Stop sign is character 128, also mapped to @@) -(FAMILY BARCODE) -(DESIGNSIZE D 12) -(DESIGNUNITS D 13) -(CODINGSCHEME ASCII) -(SEVENBITSAFEFLAG FALSE) -(FONTDIMEN - (SLANT R 0) - (SPACE D 14) - (SHRINK D 0) - (STRETCH D 0) - (XHEIGHT R 10) - (QUAD D 14) - ) -(MAPFONT D 0 (FONTNAME wlcf39)) -(LIGTABLE - (LABEL C @) - (LIG C @ D 128) - (STOP) - (LABEL C $) - (LIG/> C A D 129) (COMMENT replace by char 129 if followed by A) - (LIG/> C B D 129) (COMMENT replace by char 129 if followed by B) - (LIG/> C C D 129) - (LIG/> C D D 129) - (LIG/> C E D 129) - (LIG/> C F D 129) - (LIG/> C G D 129) - (LIG/> C H D 129) - (LIG/> C I D 129) - (LIG/> C J D 129) - (LIG/> C K D 129) - (LIG/> C L D 129) - (LIG/> C M D 129) - (LIG/> C N D 129) - (LIG/> C O D 129) - (LIG/> C P D 129) - (LIG/> C Q D 129) - (LIG/> C R D 129) - (LIG/> C S D 129) - (LIG/> C T D 129) - (LIG/> C U D 129) - (LIG/> C V D 129) - (LIG/> C W D 129) - (LIG/> C X D 129) - (LIG/> C Y D 129) - (LIG/> C Z D 129) - (STOP) - (LABEL C /) - (LIG/> C A D 130) (COMMENT replace by char 130 if followed by A) - (LIG/> C B D 130) (COMMENT replace by char 130 if followed by B) - (LIG/> C C D 130) - (LIG/> C D D 130) - (LIG/> C E D 130) - (LIG/> C F D 130) - (LIG/> C G D 130) - (LIG/> C H D 130) - (LIG/> C I D 130) - (LIG/> C J D 130) - (LIG/> C K D 130) - (LIG/> C L D 130) - (LIG/> C M D 130) - (LIG/> C N D 130) - (LIG/> C O D 130) - (LIG/> C P D 130) - (LIG/> C Q D 130) - (LIG/> C R D 130) - (LIG/> C S D 130) - (LIG/> C T D 130) - (LIG/> C U D 130) - (LIG/> C V D 130) - (LIG/> C W D 130) - (LIG/> C X D 130) - (LIG/> C Y D 130) - (LIG/> C Z D 130) - (STOP) - (LABEL C +) - (LIG/> C A D 131) (COMMENT replace by char 131 if followed by A) - (LIG/> C B D 131) (COMMENT replace by char 131 if followed by B) - (LIG/> C C D 131) - (LIG/> C D D 131) - (LIG/> C E D 131) - (LIG/> C F D 131) - (LIG/> C G D 131) - (LIG/> C H D 131) - (LIG/> C I D 131) - (LIG/> C J D 131) - (LIG/> C K D 131) - (LIG/> C L D 131) - (LIG/> C M D 131) - (LIG/> C N D 131) - (LIG/> C O D 131) - (LIG/> C P D 131) - (LIG/> C Q D 131) - (LIG/> C R D 131) - (LIG/> C S D 131) - (LIG/> C T D 131) - (LIG/> C U D 131) - (LIG/> C V D 131) - (LIG/> C W D 131) - (LIG/> C X D 131) - (LIG/> C Y D 131) - (LIG/> C Z D 131) - (STOP) - (LABEL C %) - (LIG/> C A D 132) (COMMENT replace by char 132 if followed by A) - (LIG/> C B D 132) (COMMENT replace by char 132 if followed by B) - (LIG/> C C D 132) - (LIG/> C D D 132) - (LIG/> C E D 132) - (LIG/> C F D 132) - (LIG/> C G D 132) - (LIG/> C H D 132) - (LIG/> C I D 132) - (LIG/> C J D 132) - (LIG/> C K D 132) - (LIG/> C L D 132) - (LIG/> C M D 132) - (LIG/> C N D 132) - (LIG/> C O D 132) - (LIG/> C P D 132) - (LIG/> C Q D 132) - (LIG/> C R D 132) - (LIG/> C S D 132) - (LIG/> C T D 132) - (LIG/> C U D 132) - (LIG/> C V D 132) - (LIG/> C W D 132) - (LIG/> C X D 132) - (LIG/> C Y D 132) - (LIG/> C Z D 132) - (STOP) - ) -(CHARACTER D 0 - (COMMENT NUL made from percent U) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 37) - (SETCHAR C U ) - ) - ) -(CHARACTER D 1 - (COMMENT SOH made from dollar A) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C A ) - ) - ) -(CHARACTER D 2 - (COMMENT STX made from dollar B) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C B ) - ) - ) -(CHARACTER D 3 - (COMMENT ETX made from dollar C) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C C ) - ) - ) -(CHARACTER D 4 - (COMMENT EOT made from dollar D) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C D ) - ) - ) -(CHARACTER D 5 - (COMMENT ENQ made from dollar E) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C E ) - ) - ) -(CHARACTER D 6 - (COMMENT ACK made from dollar F) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C F ) - ) - ) -(CHARACTER D 7 - (COMMENT BEL made from dollar G) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C G ) - ) - ) -(CHARACTER D 8 - (COMMENT BS made from dollar H) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C H ) - ) - ) -(CHARACTER D 9 - (COMMENT Tab made from dollar I) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C I ) - ) - ) -(CHARACTER D 10 - (COMMENT LF made from dollar J) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C J ) - ) - ) -(CHARACTER D 11 - (COMMENT VTAB made from dollar K) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C K ) - ) - ) -(CHARACTER D 12 - (COMMENT FF made from dollar L) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C L ) - ) - ) -(CHARACTER D 13 - (COMMENT CR made from dollar M) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C M ) - ) - ) -(CHARACTER D 14 - (COMMENT SO made from dollar N) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C N ) - ) - ) -(CHARACTER D 15 - (COMMENT SI made from dollar O (O like Oppossum, not like zerO)) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR D 79) - ) - ) -(CHARACTER D 16 - (COMMENT DLE made from dollar P) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C P ) - ) - ) -(CHARACTER D 17 - (COMMENT DC1 made from dollar Q) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C Q ) - ) - ) -(CHARACTER D 18 - (COMMENT DC2 made from dollar R) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C R ) - ) - ) -(CHARACTER D 19 - (COMMENT DC3 made from dollar S) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C S ) - ) - ) -(CHARACTER D 20 - (COMMENT DC4 made from dollar T) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C T ) - ) - ) -(CHARACTER D 21 - (COMMENT NAK made from dollar U) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C U ) - ) - ) -(CHARACTER D 22 - (COMMENT SY made from dollar V) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C V ) - ) - ) -(CHARACTER D 23 - (COMMENT EB made from dollar W) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C W ) - ) - ) -(CHARACTER D 24 - (COMMENT CN made from dollar X) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C X ) - ) - ) -(CHARACTER D 25 - (COMMENT EM made from dollar Y) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C Y ) - ) - ) -(CHARACTER D 26 - (COMMENT SB made from dollar Z) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 36) - (SETCHAR C Z ) - ) - ) -(CHARACTER D 27 - (COMMENT ESC made from percent A) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 37) - (SETCHAR C A ) - ) - ) -(CHARACTER D 28 - (COMMENT FS made from percent B) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 37) - (SETCHAR C B ) - ) - ) -(CHARACTER D 29 - (COMMENT GS made from percent C) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 37) - (SETCHAR C C ) - ) - ) -(CHARACTER D 30 - (COMMENT RS made from percent D) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 37) - (SETCHAR C D ) - ) - ) -(CHARACTER D 31 - (COMMENT US made from percent E) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 37) - (SETCHAR C E ) - ) - ) -(CHARACTER D 32 - (COMMENT SPC) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 33 - (COMMENT exclamation made from slash A) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 47) - (SETCHAR C A ) - ) - ) -(CHARACTER D 34 - (COMMENT double quotes made from slash B) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 47) - (SETCHAR C B ) - ) - ) -(CHARACTER D 35 - (COMMENT number sign made from slash C) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 47) - (SETCHAR C C ) - ) - ) -(CHARACTER D 36 - (COMMENT dollar) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 37 - (COMMENT percent) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 38 - (COMMENT ampersand made from slash F) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 47) - (SETCHAR C F ) - ) - ) -(CHARACTER D 39 - (COMMENT quote made from slash G) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 47) - (SETCHAR C G ) - ) - ) -(CHARACTER D 40 - (COMMENT open brace made from slash H) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 47) - (SETCHAR C H ) - ) - ) -(CHARACTER D 41 - (COMMENT close brace made from slash I) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 47) - (SETCHAR C I ) - ) - ) -(CHARACTER D 42 - (COMMENT asterisk made from slash J) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 47) - (SETCHAR C J ) - ) - ) -(CHARACTER D 43 - (COMMENT plus) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 44 - (COMMENT comma made from slash L) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 47) - (SETCHAR C L ) - ) - ) -(CHARACTER D 45 - (COMMENT minus) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 46 - (COMMENT dot) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 2)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 47 - (COMMENT slash) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 48 - (COMMENT Digit 0) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 49 - (COMMENT digit 1) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 50 - (COMMENT digit 2) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 51 - (COMMENT digit 3) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 52 - (COMMENT digit 4) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 53 - (COMMENT digit 5) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 54 - (COMMENT digit 6) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 2) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 55 - (COMMENT digit 7) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 56 - (COMMENT digit 8) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 57 - (COMMENT digit 9) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 58 - (COMMENT colon made from slash Z) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 47) - (SETCHAR C Z ) - ) - ) -(CHARACTER D 59 - (COMMENT semicolon made from percent F) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 37) - (SETCHAR C F ) - ) - ) -(CHARACTER D 60 - (COMMENT less made from percent G) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 37) - (SETCHAR C G ) - ) - ) -(CHARACTER D 61 - (COMMENT equal made from percent H) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 37) - (SETCHAR C H ) - ) - ) -(CHARACTER D 62 - (COMMENT greater made from percent I) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 37) - (SETCHAR C I ) - ) - ) -(CHARACTER D 63 - (COMMENT question mark made from percent J) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 37) - (SETCHAR C J ) - ) - ) -(CHARACTER D 64 - (COMMENT @ made from percent V) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 37) - (SETCHAR C V ) - ) - ) -(CHARACTER C A - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER C B - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER C C - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER C D - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER C E - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER C F - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER C G - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER C H - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER C I - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER C J - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 2) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER C K - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER C L - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER C M - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER C N - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER C O - (COMMENT uppercase letter O like in Oppossum, not zerO) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER C P - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER C Q - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 2) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER C R - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER C S - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER C T - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER C U - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 2)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER C V - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER C W - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 2)(MOVERIGHT R 2) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER C X - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER C Y - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 2)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER C Z - (COMMENT uppercase letter) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 91 - (COMMENT open bracket made from percent K) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 37) - (SETCHAR C K ) - ) - ) -(CHARACTER D 92 - (COMMENT backslash made from percent L) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 37) - (SETCHAR C L ) - ) - ) -(CHARACTER D 93 - (COMMENT close bracket made from percent M) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 37) - (SETCHAR C M ) - ) - ) -(CHARACTER D 94 - (COMMENT hat made from percent N) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 37) - (SETCHAR C N ) - ) - ) -(CHARACTER D 95 - (COMMENT underbar made from percent Oh (like in Oppossum, not like zero)) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 37) - (SETCHAR C O ) - ) - ) -(CHARACTER D 96 - (COMMENT open single quote made from percent W) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 37) - (SETCHAR C W ) - ) - ) -(CHARACTER C a - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C A) - ) - ) -(CHARACTER C b - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C B) - ) - ) -(CHARACTER C c - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C C) - ) - ) -(CHARACTER C d - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C D) - ) - ) -(CHARACTER C e - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C E) - ) - ) -(CHARACTER C f - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C F) - ) - ) -(CHARACTER C g - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C G) - ) - ) -(CHARACTER C h - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C H) - ) - ) -(CHARACTER C i - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C I) - ) - ) -(CHARACTER C j - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C J) - ) - ) -(CHARACTER C k - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C K) - ) - ) -(CHARACTER C l - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C L) - ) - ) -(CHARACTER C m - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C M) - ) - ) -(CHARACTER C n - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C N) - ) - ) -(CHARACTER C o - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C O) - ) - ) -(CHARACTER C p - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C P) - ) - ) -(CHARACTER C q - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C Q) - ) - ) -(CHARACTER C r - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C R) - ) - ) -(CHARACTER C s - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C S) - ) - ) -(CHARACTER C t - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C T) - ) - ) -(CHARACTER C u - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C U) - ) - ) -(CHARACTER C v - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C V) - ) - ) -(CHARACTER C w - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C W) - ) - ) -(CHARACTER C x - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C X) - ) - ) -(CHARACTER C y - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C Y) - ) - ) -(CHARACTER C z - (COMMENT lowercase letter made from + and uppercase letter) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C +) - (SETCHAR C Z) - ) - ) -(CHARACTER D 123 - (COMMENT open curly made from percent P) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 37) - (SETCHAR C P) - ) - ) -(CHARACTER D 124 - (COMMENT pipeline made from percent Q) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 37) - (SETCHAR C Q) - ) - ) -(CHARACTER D 125 - (COMMENT close curly made from percent R) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 37) - (SETCHAR C R) - ) - ) -(CHARACTER D 126 - (COMMENT tilde made from percent S) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 37) - (SETCHAR C S) - ) - ) -(CHARACTER D 127 - (COMMENT DEL made from percent T) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR D 37) - (SETCHAR C T) - ) - ) -(CHARACTER D 128 - (COMMENT start/stop sign) - (CHARWD D 13) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETRULE R 13 R 1)(MOVERIGHT R 2) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 2)(MOVERIGHT R 1) - (SETRULE R 13 R 1)(MOVERIGHT R 1) - ) - ) -(COMMENT the following characters are used instead of the - real characters by the ligature program if use of the real - characters would lead to a misinterpretation) -(CHARACTER D 129 - (COMMENT dollar made from slash D) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C /) - (SETCHAR C D) - ) - ) -(CHARACTER D 130 - (COMMENT slash made from slash O (O like oppossum, not like zerO)) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C /) - (SETCHAR C O) - ) - ) -(CHARACTER D 131 - (COMMENT plus made from slash K) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C /) - (SETCHAR C K) - ) - ) -(CHARACTER D 132 - (COMMENT percent made from slash E) - (CHARWD D 26) (CHARHT D 13) (CHARDP R 0) (CHARIC R 0) - (MAP - (SETCHAR C /) - (SETCHAR C E) - ) - ) -(COMMENT EndOfFile) diff --git a/Master/texmf-dist/source/fonts/barcode2/wlitf.vpl b/Master/texmf-dist/source/fonts/barcode2/wlitf.vpl deleted file mode 100644 index fe1e42ac6b0..00000000000 --- a/Master/texmf-dist/source/fonts/barcode2/wlitf.vpl +++ /dev/null @@ -1,1363 +0,0 @@ -(FAMILY BARCODE) -(DESIGNSIZE D 12) -(DESIGNUNITS D 14) -(COMMENT written by Peter Willadt August 16, 1997) -(COMMENT updated 1997-11-08 shrunk start/stop-signs) -(COMMENT updated 1998-04-21 fixed 06 - 07 bug) -(FONTDIMEN - (SLANT R 0) - (SPACE D 14) - (SHRINK D 0) - (STRETCH D 0) - (XHEIGHT R 10) - (QUAD D 14) - ) -(LIGTABLE - (LABEL C 0) - (LIG C 0 D 1) - (LIG C 1 D 2) - (LIG C 2 D 3) - (LIG C 3 D 4) - (LIG C 4 D 5) - (LIG C 5 D 6) - (LIG C 6 D 7) - (LIG C 7 D 8) - (LIG C 8 D 9) - (LIG C 9 D 10) - (STOP) - (LABEL C 1) - (LIG C 0 D 11) - (LIG C 1 D 12) - (LIG C 2 D 13) - (LIG C 3 D 14) - (LIG C 4 D 15) - (LIG C 5 D 16) - (LIG C 6 D 17) - (LIG C 7 D 18) - (LIG C 8 D 19) - (LIG C 9 D 20) - (STOP) - (LABEL C 2) - (LIG C 0 D 21) - (LIG C 1 D 22) - (LIG C 2 D 23) - (LIG C 3 D 24) - (LIG C 4 D 25) - (LIG C 5 D 26) - (LIG C 6 D 27) - (LIG C 7 D 28) - (LIG C 8 D 29) - (LIG C 9 D 30) - (STOP) - (LABEL C 3) - (LIG C 0 D 31) - (LIG C 1 D 32) - (LIG C 2 D 33) - (LIG C 3 D 34) - (LIG C 4 D 35) - (LIG C 5 D 36) - (LIG C 6 D 37) - (LIG C 7 D 38) - (LIG C 8 D 39) - (LIG C 9 D 40) - (STOP) - (LABEL C 4) - (LIG C 0 D 61) - (LIG C 1 D 62) - (LIG C 2 D 63) - (LIG C 3 D 64) - (LIG C 4 D 65) - (LIG C 5 D 66) - (LIG C 6 D 67) - (LIG C 7 D 68) - (LIG C 8 D 69) - (LIG C 9 D 70) - (STOP) - (LABEL C 5) - (LIG C 0 D 71) - (LIG C 1 D 72) - (LIG C 2 D 73) - (LIG C 3 D 74) - (LIG C 4 D 75) - (LIG C 5 D 76) - (LIG C 6 D 77) - (LIG C 7 D 78) - (LIG C 8 D 79) - (LIG C 9 D 80) - (STOP) - (LABEL C 6) - (LIG C 0 D 81) - (LIG C 1 D 82) - (LIG C 2 D 83) - (LIG C 3 D 84) - (LIG C 4 D 85) - (LIG C 5 D 86) - (LIG C 6 D 87) - (LIG C 7 D 88) - (LIG C 8 D 89) - (LIG C 9 D 90) - (STOP) - (LABEL C 7) - (LIG C 0 D 91) - (LIG C 1 D 92) - (LIG C 2 D 93) - (LIG C 3 D 94) - (LIG C 4 D 95) - (LIG C 5 D 96) - (LIG C 6 D 97) - (LIG C 7 D 98) - (LIG C 8 D 99) - (LIG C 9 D 100) - (STOP) - (LABEL C 8) - (LIG C 0 D 101) - (LIG C 1 D 102) - (LIG C 2 D 103) - (LIG C 3 D 104) - (LIG C 4 D 105) - (LIG C 5 D 106) - (LIG C 6 D 107) - (LIG C 7 D 108) - (LIG C 8 D 109) - (LIG C 9 D 110) - (STOP) - (LABEL C 9) - (LIG C 0 D 111) - (LIG C 1 D 112) - (LIG C 2 D 113) - (LIG C 3 D 114) - (LIG C 4 D 115) - (LIG C 5 D 116) - (LIG C 6 D 117) - (LIG C 7 D 118) - (LIG C 8 D 119) - (LIG C 9 D 120) - (STOP) - ) -(CHARACTER D 1 - (COMMENT 0 and 0) - (CHARWD D 14) (CHARHT R 14) (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) - ) - ) -(CHARACTER D 2 - (COMMENT 0 and 1) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 3 - (COMMENT 0 and 2) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 4 - (COMMENT 0 and 3) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 5 - (COMMENT 0 and 4) - (CHARWD D 14) (CHARHT R 14) (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 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 6 - (COMMENT 0 and 5) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 7 - (COMMENT 0 and 6) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 8 - (COMMENT 0 and 7) - (CHARWD D 14) (CHARHT R 14) (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 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 9 - (COMMENT 0 and 8) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 10 - (COMMENT 0 and 9) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 11 - (COMMENT 1 and 0) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 12 - (COMMENT 1 and 1) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 13 - (COMMENT 1 and 2) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 14 - (COMMENT 1 and 3) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 15 - (COMMENT 1 and 4) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 16 - (COMMENT 1 and 5) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 17 - (COMMENT 1 and 6) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 18 - (COMMENT 1 and 7) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 19 - (COMMENT 1 and 8) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 20 - (COMMENT 1 and 9) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 21 - (COMMENT 2 and 0) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 22 - (COMMENT 2 and 1) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 23 - (COMMENT 2 and 2) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 24 - (COMMENT 2 and 3) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 25 - (COMMENT 2 and 4) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 26 - (COMMENT 2 and 5) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 27 - (COMMENT 2 and 6) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 28 - (COMMENT 2 and 7) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 29 - (COMMENT 2 and 8) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 30 - (COMMENT 2 and 9) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 31 - (COMMENT 3 and 0) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 32 - (COMMENT 3 and 1) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 33 - (COMMENT 3 and 2) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 34 - (COMMENT 3 and 3) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 35 - (COMMENT 3 and 4) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 36 - (COMMENT 3 and 5) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 37 - (COMMENT 3 and 6) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 38 - (COMMENT 3 and 7) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 39 - (COMMENT 3 and 8) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 40 - (COMMENT 3 and 9) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 43 - (COMMENT Start+) - (CHARWD D 5) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 45 - (COMMENT Stop-) - (CHARWD D 5) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D48 - (COMMENT Fake numeric 0 for LIG Processing) - (CHARWD D 14) (CHARHT R 14) (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) - ) - ) -(CHARACTER D49 - (COMMENT Fake numeric 1 for LIG Processing) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - ) - ) -(CHARACTER D50 - (COMMENT Fake numeric 2 for LIG Processing) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - ) - ) -(CHARACTER D51 - (COMMENT Fake numeric 3 for LIG Processing) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D52 - (COMMENT Fake numeric 4 for LIG Processing) - (CHARWD D 14) (CHARHT R 14) (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 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - ) - ) -(CHARACTER D53 - (COMMENT Fake numeric 5 for LIG Processing) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D54 - (COMMENT Fake numeric 6 for LIG Processing) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (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) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D55 - (COMMENT Fake numeric 7 for LIG Processing) - (CHARWD D 14) (CHARHT R 14) (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 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - ) - ) -(CHARACTER D56 - (COMMENT Fake numeric 8 for LIG Processing) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (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 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D57 - (COMMENT Fake numeric 9 for LIG Processing) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 61 - (COMMENT 4 and 0) - (CHARWD D 14) (CHARHT R 14) (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 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 62 - (COMMENT 4 and 1) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 63 - (COMMENT 4 and 2) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 64 - (COMMENT 4 and 3) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 65 - (COMMENT 4 and 4) - (CHARWD D 14) (CHARHT R 14) (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 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 66 - (COMMENT 4 and 5) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 67 - (COMMENT 4 and 6) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 68 - (COMMENT 4 and 7) - (CHARWD D 14) (CHARHT R 14) (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 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 69 - (COMMENT 4 and 8) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 70 - (COMMENT 4 and 9) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 71 - (COMMENT 5 and 0) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 72 - (COMMENT 5 and 1) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 73 - (COMMENT 5 and 2) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 74 - (COMMENT 5 and 3) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 75 - (COMMENT 5 and 4) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 76 - (COMMENT 5 and 5) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 77 - (COMMENT 5 and 6) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 78 - (COMMENT 5 and 7) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 79 - (COMMENT 5 and 8) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 80 - (COMMENT 5 and 9) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 81 - (COMMENT 6 and 0) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 82 - (COMMENT 6 and 1) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 83 - (COMMENT 6 and 2) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 84 - (COMMENT 6 and 3) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 85 - (COMMENT 6 and 4) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 86 - (COMMENT 6 and 5) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 87 - (COMMENT 6 and 6) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (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) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 88 - (COMMENT 6 and 7) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 89 - (COMMENT 6 and 8) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 90 - (COMMENT 6 and 9) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 91 - (COMMENT 7 and 0) - (CHARWD D 14) (CHARHT R 14) (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 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 92 - (COMMENT 7 and 1) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 93 - (COMMENT 7 and 2) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 94 - (COMMENT 7 and 3) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 95 - (COMMENT 7 and 4) - (CHARWD D 14) (CHARHT R 14) (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 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 96 - (COMMENT 7 and 5) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 97 - (COMMENT 7 and 6) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 98 - (COMMENT 7 and 7) - (CHARWD D 14) (CHARHT R 14) (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 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 99 - (COMMENT 7 and 8) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (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 1) - ) - ) -(CHARACTER D 100 - (COMMENT 7 and 9) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 101 - (COMMENT 8 and 0) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 102 - (COMMENT 8 and 1) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 103 - (COMMENT 8 and 2) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 104 - (COMMENT 8 and 3) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 105 - (COMMENT 8 and 4) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 106 - (COMMENT 8 and 5) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 107 - (COMMENT 8 and 6) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 108 - (COMMENT 8 and 7) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (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 1)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 109 - (COMMENT 8 and 8) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (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 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 110 - (COMMENT 8 and 9) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 111 - (COMMENT 9 and 0) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 112 - (COMMENT 9 and 1) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 113 - (COMMENT 9 and 2) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 114 - (COMMENT 9 and 3) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 115 - (COMMENT 9 and 4) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 116 - (COMMENT 9 and 5) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 117 - (COMMENT 9 and 6) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 118 - (COMMENT 9 and 7) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 2) - ) - ) -(CHARACTER D 119 - (COMMENT 9 and 8) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 2) - (SETRULE R 14 R 2)(MOVERIGHT R 1) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(CHARACTER D 120 - (COMMENT 9 and 9) - (CHARWD D 14) (CHARHT R 14) (CHARDP R 0) (CHARIC R 0.0) - (MAP - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - (SETRULE R 14 R 2)(MOVERIGHT R 2) - (SETRULE R 14 R 1)(MOVERIGHT R 1) - ) - ) -(COMMENT EndOfFile) diff --git a/Master/texmf-dist/tex/latex/barcode2/barcodes.sty b/Master/texmf-dist/tex/latex/barcode2/barcodes.sty deleted file mode 100644 index 0fc0e02d9b5..00000000000 --- a/Master/texmf-dist/tex/latex/barcode2/barcodes.sty +++ /dev/null @@ -1,146 +0,0 @@ -%% -%% This is file `barcodes.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% barcodes.dtx (with options: `bcsty') -%% 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 \~} -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Options for using barcodes %% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% documented in bcfaq.tex %% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% itf stuff -%% general -\font\itf=wlitf scaled 1200 -%% barcodes with depth -\def\bcbox#1{\lower3pt\hbox{\itf +#1-}} -%% barcodes made taller -\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}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Code 128 stuff -\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} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Code 11 stuff -\font\codxifnt=wlc11 scaled\magstep2 -%% relies on counters \cha and \chb defined below -\newif\ifcodexichecksumk -\codexichecksumkfalse -\makeatletter -\def\check@xichar{% -\ifcodexichecksumk% -{\count0=\cha\count1=\count0\divide\count1by11% - \multiply\count1by11\advance\count0by-\count1% - \ifnum10=\count0-\else\relax\the\count0\fi% - \global\advance\chb by\count0\global\advance\cha by\chb% -}\fi -\chb=\cha\divide\chb by11% -\multiply\chb by11\advance\cha by-\chb% -\ifnum10=\cha-\else\the\cha\fi% -} -\def\csumxi#1{% -\if @#1% -\let\next\check@xichar% -\else \if-#1\advance\chb by10% -\else\advance\chb by#1% -\fi% -\advance\cha by\chb% -#1% -\fi% -\next% -} -\makeatother -\def\codxi#1{{ -\codxifnt -\cha=0\chb=0% -@\let\next\csumxi\expandafter\expandafter\expandafter\csumxi#1@@ -}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\font\codtnfnt=wlc39 scaled\magstep2 -\def\codxxxix#1{{\codtnfnt @#1@}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EAN stuff -%% this code comes from Kalvis M. Jansons -%% eMail: <kalvis@math.ucl.ac.uk> -%% -\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} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\endinput -%% -%% End of file `barcodes.sty'. diff --git a/Master/texmf-dist/tex/latex/barcode2/code39.tex b/Master/texmf-dist/tex/latex/barcode2/code39.tex deleted file mode 100644 index 5d751c1017d..00000000000 --- a/Master/texmf-dist/tex/latex/barcode2/code39.tex +++ /dev/null @@ -1,234 +0,0 @@ -%% -%% This is file `code39.tex', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% barcodes.dtx (with options: `code39mac') -%% 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 \~} -%% -%%% ==================================================================== -%%% @TeX-file{ -%%% author = "Peter Willadt", -%%% version = "1", -%%% date = "16 August 1997", -%%% time = "10:00:00 GMT", -%%% filename = "code39.tex", -%%% address = "Peter Willadt -%%% Heinrich-Wieland-Allee 5 -%%% 75177 Pforzheim -%%% Germany", -%%% email = "Willadt@t-online.de", -%%% codetable = "ISO/ASCII", -%%% keywords = "Barcode, Code39, TeX", -%%% abstract = "This file contains macros to support the inclusion -%%% of code 39 barcode in TeX documents.", -%%% } -%%% ==================================================================== -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% This code supports barcodes in Code 39 -%% Usage: -%% For alphanumerical barcodes: -%% \begincodethirtynine followed by -%% the stuff to code, -%% ended with \endcodethirtynine -%% For numerical only code: -%% modify the code for pharamceuticals -%% For german pharmaceutics: -%% \pzncode1234562@ when 1234562 is the -%% number to be coded as -1234562. -%% this will also verify the checksum -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% This file may be freely used without any -%% further permission. -%% It comes with absolutely no warranty. -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% this is the common stuff -\newdimen\dick -\newdimen\duenn -\newdimen\duennbar -\newdimen\dickbar -\newdimen\antibleed -\dick=1mm -\duenn=0.5mm -\antibleed=0mm -\dickbar=\dick -\advance\dickbar by -\antibleed -\duennbar=\duenn -\advance\duennbar by -\antibleed -\def\b{\vrule width\duennbar} -\def\B{\vrule width\dickbar} -\def\s{\hskip\duenn\hskip\antibleed} -\def\S{\hskip\dick\hskip\antibleed} -%% - \def\tnzero{\b\s\b\S\B\s\B\s\b\s} - \def\tnone{\B\s\b\S\b\s\b\s\B\s} - \def\tntwo{\b\s\B\S\b\s\b\s\B\s} -\def\tnthree{\B\s\B\S\b\s\b\s\b\s} - \def\tnfour{\b\s\b\S\B\s\b\s\B\s} - \def\tnfive{\B\s\b\S\B\s\b\s\b\s} - \def\tnsix{\b\s\B\S\B\s\b\s\b\s} -\def\tnseven{\b\s\b\S\b\s\B\s\B\s} -\def\tneight{\B\s\b\S\b\s\B\s\b\s} - \def\tnnine{\b\s\B\S\b\s\B\s\b\s} - \def\tninestart{\b\S\b\s\B\s\B\s\b\s} - \def\tnineminus{\b\S\b\s\b\s\B\s\B\s} - \def\tnineplus{\b\S\b\s\b\S\b\S\b\s} -\def\tninedollar{\b\S\b\S\b\S\b\s\b\s} - \def\tnineslash{\b\S\b\S\b\s\b\S\b\s} - \def\tninedot{\B\S\b\s\b\s\B\s\b\s} -\def\tninepercnt{\b\s\b\S\b\S\b\S\b\s} - \def\tninespace{\b\S\B\s\b\s\B\s\b\s} -\def\tninelettera{\B\s\b\s\b\S\b\s\B\s} -\def\tnineletterb{\b\s\B\s\b\S\b\s\B\s} -\def\tnineletterc{\B\s\B\s\b\S\b\s\b\s} -\def\tnineletterd{\b\s\b\s\B\S\b\s\B\s} -\def\tninelettere{\B\s\b\s\B\S\b\s\b\s} -\def\tnineletterf{\b\s\B\s\B\S\b\s\b\s} -\def\tnineletterg{\b\s\b\s\b\S\B\s\B\s} -\def\tnineletterh{\B\s\b\s\b\S\B\s\b\s} -\def\tnineletteri{\b\s\B\s\b\S\B\s\b\s} -\def\tnineletterj{\b\s\b\s\B\S\B\s\b\s} -\def\tnineletterk{\B\s\b\s\b\s\b\S\B\s} -\def\tnineletterl{\b\s\B\s\b\s\b\S\B\s} -\def\tnineletterm{\B\s\B\s\b\s\b\S\b\s} -\def\tninelettern{\b\s\b\s\B\s\b\S\B\s} -\def\tninelettero{\B\s\b\s\B\s\b\S\b\s} -\def\tnineletterp{\b\s\B\s\B\s\b\S\b\s} -\def\tnineletterq{\b\s\b\s\b\s\B\S\B\s} -\def\tnineletterr{\B\s\b\s\b\s\B\S\b\s} -\def\tnineletters{\b\s\B\s\b\s\B\S\b\s} -\def\tninelettert{\b\s\b\s\B\s\B\S\b\s} -\def\tnineletteru{\B\S\b\s\b\s\b\s\B\s} -\def\tnineletterv{\b\S\B\s\b\s\b\s\B\s} -\def\tnineletterw{\B\S\B\s\b\s\b\s\b\s} -\def\tnineletterx{\b\S\b\s\B\s\b\s\B\s} -\def\tninelettery{\B\S\b\s\B\s\b\s\b\s} -\def\tnineletterz{\b\S\B\s\B\s\b\s\b\s} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% this is the code for 39 mode -\def\activatethemall{ -\catcode`\A=\active \catcode`\B=\active -\catcode`\C=\active \catcode`\D=\active -\catcode`\E=\active \catcode`\F=\active -\catcode`\G=\active \catcode`\H=\active -\catcode`\I=\active \catcode`\J=\active -\catcode`\K=\active \catcode`\L=\active -\catcode`\M=\active \catcode`\N=\active -\catcode`\O=\active \catcode`\P=\active -\catcode`\Q=\active \catcode`\R=\active -\catcode`\S=\active \catcode`\T=\active -\catcode`\U=\active \catcode`\V=\active -\catcode`\W=\active \catcode`\X=\active -\catcode`\Y=\active \catcode`\Z=\active -\catcode`+=\active \catcode`-=\active -\catcode`\ =\active \catcode`.=\active -\catcode`\$=\active \catcode`\%=\active -\catcode`\/=\active -\catcode`\0=\active \catcode`\1=\active -\catcode`\2=\active \catcode`\3=\active -\catcode`\4=\active \catcode`\5=\active -\catcode`\6=\active \catcode`\7=\active -\catcode`\8=\active \catcode`\9=\active -} -{\activatethemall -\gdef\begincodethirtynine{ -\bgroup\activatethemall\strut\tninestart -\letA=\tninelettera \letB=\tnineletterb -\letC=\tnineletterc \letD=\tnineletterd -\letE=\tninelettere \letF=\tnineletterf -\letG=\tnineletterg \letH=\tnineletterh -\letI=\tnineletteri \letJ=\tnineletterj -\letK=\tnineletterk \letL=\tnineletterl -\letM=\tnineletterm \letN=\tninelettern -\letO=\tninelettero \letP=\tnineletterp -\letQ=\tnineletterq \letR=\tnineletterr -\letS=\tnineletters \letT=\tninelettert -\letU=\tnineletteru \letV=\tnineletterv -\letW=\tnineletterw \letX=\tnineletterx -\letY=\tninelettery \letZ=\tnineletterz -\let+=\tnineplus \let-=\tnineminus -\let =\tninespace \let.=\tninedot -\let$=\tninedollar \let%=\tninepercnt -\let/=\tnineslash -\let0=\tnzero \let1=\tnone -\let2=\tntwo \let3=\tnthree -\let4=\tnfour \let5=\tnfive -\let6=\tnsix \let7=\tnseven -\let8=\tneight \let9=\tnnine -} -} -\def\endcodethirtynine{ -\tninestart\egroup -} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% this code is used for german pharmaceutics -\newcount\ziffern -\newcount\checksum -\newcount\multreg -\def\tndigit#1{% - \ifcase#1\tnzero\or\tnone% - \or\tntwo\or\tnthree% - \or\tnfour\or\tnfive% - \or\tnsix\or\tnseven% - \or\tneight\or\tnnine% - \fi} -\def\endtncode{% - \tninestart% - \ifnum\ziffern=9 - \else\message{wrong digit count} - \fi% - \ifnum\checksum=0 - \else\message{wrong checksum} - \fi% - \egroup} -\def\nexttn#1{% - \advance\ziffern by1 - \if@#1\let\next\endtncode - \else - \tndigit#1% - \ifnum\ziffern=8 - \multreg=\checksum - \divide\multreg by 11 - \multiply\multreg by 11 - \advance\checksum by-\multreg - \multreg=#1 - \advance\checksum by-\multreg - \ifnum\checksum=10 - \checksum=0 - \fi - \else - \multreg=#1 - \multiply\multreg by\ziffern - \advance\checksum by\multreg - \fi% - \fi% - \next} -\def\pzncode{ - \bgroup - \let\next\nexttn - \ziffern=1\checksum=0\multreg=0 - \strut - \tninestart\tnineminus% - \next% -} -\endinput -%% -%% End of file `code39.tex'. diff --git a/Master/tlpkg/tlpsrc/barcode2.tlpsrc b/Master/tlpkg/tlpsrc/barcode2.tlpsrc deleted file mode 100644 index 44be37c613a..00000000000 --- a/Master/tlpkg/tlpsrc/barcode2.tlpsrc +++ /dev/null @@ -1,2 +0,0 @@ -name barcode2 -category Package diff --git a/Master/tlpkg/tlpsrc/collection-fontsextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-fontsextra.tlpsrc index c3007113583..966603a790a 100644 --- a/Master/tlpkg/tlpsrc/collection-fontsextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-fontsextra.tlpsrc @@ -18,7 +18,6 @@ depend Package/astro depend Package/atqolive depend Package/augie depend Package/aurical -depend Package/barcode2 depend Package/barcodes depend Package/bayer depend Package/bbding |