summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/makebarcode
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2008-08-21 08:00:51 +0000
committerNorbert Preining <preining@logic.at>2008-08-21 08:00:51 +0000
commit9dc486e360205123e08e809c7e15e48b1340083a (patch)
tree47420c96091e88d394c37d8d1b21bc7ad2c01d0e /Master/texmf-dist/doc/latex/makebarcode
parent1ecadea1a7f6a97e97bca17569f0e3552ca3b774 (diff)
fix makebarcode from CTAN
git-svn-id: svn://tug.org/texlive/trunk@10389 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/makebarcode')
-rw-r--r--Master/texmf-dist/doc/latex/makebarcode/License.txt (renamed from Master/texmf-dist/doc/latex/makebarcode/doc/latex/makebarcode/License.txt)0
-rw-r--r--Master/texmf-dist/doc/latex/makebarcode/makebarcode.pdf (renamed from Master/texmf-dist/doc/latex/makebarcode/doc/latex/makebarcode/makebarcode.pdf)bin281420 -> 281420 bytes
-rw-r--r--Master/texmf-dist/doc/latex/makebarcode/makebarcode.tex (renamed from Master/texmf-dist/doc/latex/makebarcode/doc/latex/makebarcode/makebarcode.tex)0
-rw-r--r--Master/texmf-dist/doc/latex/makebarcode/tex/latex/makebarcode/makebarcode.sty594
4 files changed, 0 insertions, 594 deletions
diff --git a/Master/texmf-dist/doc/latex/makebarcode/doc/latex/makebarcode/License.txt b/Master/texmf-dist/doc/latex/makebarcode/License.txt
index 90e5e3ab797..90e5e3ab797 100644
--- a/Master/texmf-dist/doc/latex/makebarcode/doc/latex/makebarcode/License.txt
+++ b/Master/texmf-dist/doc/latex/makebarcode/License.txt
diff --git a/Master/texmf-dist/doc/latex/makebarcode/doc/latex/makebarcode/makebarcode.pdf b/Master/texmf-dist/doc/latex/makebarcode/makebarcode.pdf
index bc11e2a2c10..bc11e2a2c10 100644
--- a/Master/texmf-dist/doc/latex/makebarcode/doc/latex/makebarcode/makebarcode.pdf
+++ b/Master/texmf-dist/doc/latex/makebarcode/makebarcode.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/makebarcode/doc/latex/makebarcode/makebarcode.tex b/Master/texmf-dist/doc/latex/makebarcode/makebarcode.tex
index 98a0faf12ae..98a0faf12ae 100644
--- a/Master/texmf-dist/doc/latex/makebarcode/doc/latex/makebarcode/makebarcode.tex
+++ b/Master/texmf-dist/doc/latex/makebarcode/makebarcode.tex
diff --git a/Master/texmf-dist/doc/latex/makebarcode/tex/latex/makebarcode/makebarcode.sty b/Master/texmf-dist/doc/latex/makebarcode/tex/latex/makebarcode/makebarcode.sty
deleted file mode 100644
index c75c87d8e6a..00000000000
--- a/Master/texmf-dist/doc/latex/makebarcode/tex/latex/makebarcode/makebarcode.sty
+++ /dev/null
@@ -1,594 +0,0 @@
-\ProvidesPackage{makebarcode}[2008/07/27 Make various bar codes]
-\PackageInfo{makebarcode}{$Id: makebarcode.sty 224 2008-07-26 23:07:27Z zw $\@gobble}
-
-\RequirePackage{kvoptions}
-\SetupKeyvalOptions{family=zwbc,prefix=zwbc@}
-
-\DeclareStringOption[.19mm]{X}[.19mm]
-\DeclareStringOption[\ZWbc@Hdefault]{H}[\ZWbc@Hdefault]
-\DeclareStringOption[0mm]{bcorr}[0mm]
-\DeclareStringOption[3]{ratio}[3]
-\DeclareStringOption[2]{K} % for 2/5 Matrix, should be in <1.5; 4>
-\DeclareStringOption[1]{MtoXratio}[1]
-\DeclareStringOption{code}
-\DeclareBoolOption{help}
-
-% For ITF codes
-% \ZWbc@ITFdefine X R H
-\def\ZWbc@ITFdefine #1 #2 #3 {\@tempdima #1mm \multiply\@tempdima 5 \divide\@tempdima 2
- \expandafter\def\expandafter\ZWbc@r\expandafter{\the\@tempdima}%
- \def\ZWbc@R{#2mm}\def\ZWbc@ITF{X=#1mm,H=#3mm,ratio=2.5,MtoXratio=1,code=2/5-Interleaved}}
-
-\DeclareVoidOption{S1.2}{\ZWbc@ITFdefine 1.219 13.1 38.2 }
-\DeclareVoidOption{S1.1}{\ZWbc@ITFdefine 1.118 12.0 35.0 }
-\DeclareVoidOption{S1}{\ZWbc@ITFdefine 1.016 10.9 31.8 }
-\DeclareVoidOption{S.9}{\ZWbc@ITFdefine 0.914 9.8 28.7 }
-\DeclareVoidOption{S.8}{\ZWbc@ITFdefine 0.813 8.7 25.4 }
-\DeclareVoidOption{S.7}{\ZWbc@ITFdefine 0.711 7.1 22.3 }
-\DeclareVoidOption{S.6}{\ZWbc@ITFdefine 0.635 6.4 19.8 }
-
-\DeclareBoolOption{lines}
-\DeclareComplementaryOption{frame}{lines}
-
-\ZWbc@ITFdefine 1.016 10.9 31.8
-
-\ProcessKeyvalOptions*
-
-% List all bar code names at the end of the package
-\ifzwbc@help
- \AtEndOfPackage{\PackageInfo{makebarcode}{\ZWbc@codeList\@gobble}}
-\fi
-
-% Disable help at the end of the package
-\AtEndOfPackage{\DisableKeyvalOption[action=warning,package=makebarcode]{zwbc}{help}}
-
-% Interleave two strings, use as \ZWbc@interleave#1/#2*, result goes to \ZWbc@CHAR
-\def\ZWbc@interleave{\def\ZWbc@CHAR{}\ZWbc@dointerleave}
-\def\ZWbc@dointerleave#1#2/#3*{%
- \expandafter\def\expandafter\ZWbc@CHAR\expandafter{\ZWbc@CHAR #1}%
- \ifcat_#3_%
- \def\next{}%
- \else
- \def\next{\ZWbc@dointerleave#3/#2*}%
- \fi \next}
-
-% Temp counter
-\newcount\ZWbc@ctr
-
-% Make the table: \ZWbc@mktable name code code code @
-% The code has the form key|value, if the key is empty, the table is
-% automatically numbered
-
-\def\ZWbc@mktable #1 {\ZWbc@ctr\z@
- \def\ZWbc@name{#1}\futurelet\next\ZWbc@tblcode}
-
-\def\ZWbc@tblcode{\if\next\zw@sp \def\next{\ZWbc@xsp:}\else
- \if\next @\let\next\@gobble\else \let\next\ZWbc@mkcode \fi \fi \next}
-
-\def\ZWbc@mkcode #1|#2 {%
- \ifcat_#1_%
- \edef\ZWbc@key{\number\ZWbc@ctr}\advance\ZWbc@ctr\@ne
- \else
- \def\ZWbc@key{#1}%
- \fi
- \expandafter\gdef\csname ZWbc@tbl_\ZWbc@name_\ZWbc@key\endcsname{#2}%
- \ZWbc@nextcode}
-
-\futurelet\zw@sp{ }
-\def\ZWbc@xsp: {\ZWbc@nextcode}
-\def\ZWbc@nextcode{\futurelet\next\ZWbc@tblcode}
-
-{\catcode`\_12 \lccode`_=32 \lowercase{\gdef\ZWbc@inactspace{_}}}
-
-% Make alias: \ZWbc@alias tblname existing_key new_key
-
-\def\ZWbc@alias #1 #2 #3 {\expandafter\expandafter\expandafter
- \let\expandafter\csname ZWbc@tbl_#1_#3\expandafter\endcsname
- \csname ZWbc@tbl_#1_#2\endcsname}
-
-% This macro contains the current bar code name for error messages
-
-\def\ZWbc@currentbarcodename{Unknown}
-
-% This macro performs table lookup. It returns the coresponding character(s). If the
-% character(s) cannot be found in the table, the starred version returns the input
-% character(s) while the standard version emits an error message and returns \ZWbc@.
-% The result will be stored in \ZWbc@CHAR.
-
-\def\ZWbc@lookup{\@ifstar\ZWbc@slookup\ZWbc@nlookup}
-\def\ZWbc@slookup{\ZWbc@dolookup*}
-\def\ZWbc@nlookup{\ZWbc@dolookup!}
-
-\def\ZWbc@dolookup#1#2#3{% switchchar # table_name # character(s)
- \def\ZWbc@key{ZWbc@tbl_#2_#3}%
- \expandafter\ifx\csname\ZWbc@key\endcsname\relax
- \if*#1 #3\else
- \PackageError{makebarcode}{%
- Character(s) `#3' not allowed in \ZWbc@currentbarcodename.}%
- {You want to print `#3' in the bar code \ZWbc@currentbarcodename\MessageBreak
- but it is not defined in the code table. If you proceed,\MessageBreak
- it will be ignored and the resulting bar code will be wrong.}%
- \let\ZWbc@CHAR\ZWbc@
- \else
- \def\ZWbc@CHAR{#3}%
- \fi
- \else
- \edef\ZWbc@CHAR{\csname\ZWbc@key\endcsname}%
- \fi}
-
-% Make \ZWbc@ unexpandable
-\let\ZWbc@\relax
-
-% Dimensions
-
-\newdimen\ZWbc@dimX
-\newdimen\ZWbc@dimH
-\newdimen\ZWbc@dimB
-\newdimen\ZWbc@dim@
-
-% Make a bar or blank of a specified width
-
-\def\ZWbc@bar#1{\ZWbc@dim@#1\advance\ZWbc@dim@ -\ZWbc@dimB
- \vrule height \ZWbc@dimH depth \z@ width \ZWbc@dim@}
-
-\def\ZWbc@blank#1{\ZWbc@dim@#1\advance\ZWbc@dim@ \ZWbc@dimB
- \kern \ZWbc@dim@}
-
-% Make an element, bar or blank
-
-\def\ZWbc@element{\ifx\ZWbc@prevelem\ZWbc@blank
- \let\ZWbc@prevelem\ZWbc@bar \else
- \let\ZWbc@prevelem\ZWbc@blank \fi \ZWbc@prevelem}
-
-% Set required width to \@tempdima, two algorithms used
-
-\def\ZWbc@widenarrow#1{%
- \if 0#1%
- \@tempdima=\ZWbc@dimX
- \else
- \@tempdima=\zwbc@ratio\ZWbc@dimX
- \if K#1%
- \@tempdima=\zwbc@K\@tempdima
- \fi
- \fi}
-
-\def\ZWbc@propwidth#1{\@tempdima=#1\ZWbc@dimX}
-
-% Make a character, width algorithm given as the first token
-% bar specification is delimited by @
-
-\def\ZWbc@character#1{\let\ZWbc@alg#1\let\ZWbc@prevelem\ZWbc@blank
- \ZWbc@printchar}
-
-\def\ZWbc@printchar#1#2@{\ZWbc@alg#1\ZWbc@element{\@tempdima}%
- \ifcat_#2_\let\next\ZWbc@endchar\else
- \def\next{\ZWbc@printchar#2@}\fi \next}
-
-\def\ZWbc@endchar{\ifx\ZWbc@prevelem\ZWbc@bar \ZWbc@blank{\zwbc@MtoXratio\ZWbc@dimX}\fi}
-
-% Make a barcode
-
-\DeclareRobustCommand\barcode{\begingroup \catcode`\-12 \catcode`\"12 \ZWbc@barcode}
-\newcommand*\ZWbc@barcode[1][]{\ifcat$#1$ \else \setkeys{zwbc}{#1}\fi
- \let\ZWbc@mkbarcode\endgroup
- \ifcat$\zwbc@code$
- \PackageError{makebarcode}{%
- No barcode type specified.}%
- {You have not specified the type of the barcode. If you proceed,\MessageBreak
- the argument will be displayed as a normal text.}%
- \else
- \edef\ZWbc@currentbarcodename{\zwbc@code}%
- \edef\ZWbc@@@{ZWbc@code_\ZWbc@currentbarcodename}%
- \expandafter\ifx\csname\ZWbc@@@\endcsname\relax
- \PackageError{makebarcode}{%
- Unknown barcode type \ZWbc@currentbarcodename}%
- {You have requested barcode type \ZWbc@currentbarcodename which is not\MessageBreak
- implemented in this package. If you proceed, the argument\MessageBreak
- will be displayed as a normal text.}%
- \else
- \expandafter\let\expandafter\ZWbc@mkbarcode\csname\ZWbc@@@\endcsname\ZWbc@setdims
- \fi
- \fi \ZWbc@mkbarcode}
-
-\def\ZWbc@def#1{\ZWbc@addTo{\MessageBreak #1}\expandafter\def\csname ZWbc@code_#1\endcsname}
-
-\def\ZWbc@addTo#1{\expandafter\def\expandafter\ZWbc@codeList\expandafter{\ZWbc@codeList #1}}
-\def\ZWbc@codeList{List of supported bar codes:}
-
-% Set dimensions
-
-\def\ZWbc@setdims{%
- \ZWbc@dimX=\zwbc@X
- \ZWbc@dimH=\zwbc@H
- \ZWbc@dimB=\zwbc@bcorr}
-
-\def\ZWbc@Hdefault{40\ZWbc@dimX}
-
-% Sanitization
-
-\def\BarcodeSanitize{\@sanitize \catcode`\\0 }
-
-% End barcode printing
-
-\def\ZWbc@endbarcode{%
- \expandafter\ZWbc@character\expandafter\ZWbc@widenarrow\ZWbc@stop @\unkern
- \endgroup}
-
-% Table for 2/5 codes
-
-\ZWbc@mktable 2/5
- 0|00110
- 1|10001
- 2|01001
- 3|11000
- 4|00101
- 5|10100
- 6|01100
- 7|00011
- 8|10010
- 9|01010
- @
-
-% 2/5 Start/Stop characters
-
-\ZWbc@mktable 2/5startstop
- Start|110
- Stop|101
- IATAstart|00
- IATAstop|10
- InterleavedStart|000
- InterleavedStop|100
- MatrixStart|K0000
- @
-
-\ZWbc@alias 2/5startstop MatrixStart MatrixStop
-\ZWbc@alias 2/5startstop InterleavedStart DatalogicStart
-\ZWbc@alias 2/5startstop InterleavedStop DatalogicStop
-
-% 2/5 Industrial
-
-\ZWbc@def{2/5-Industrial}{%
- \ZWbc@lookup{2/5startstop}{Start}%
- \expandafter\ZWbc@interleave\ZWbc@CHAR/00*%
- \edef\ZWbc@start{\ZWbc@CHAR}%
- \ZWbc@lookup{2/5startstop}{Stop}%
- \expandafter\ZWbc@interleave\ZWbc@CHAR/00*%
- \edef\ZWbc@stop{\ZWbc@CHAR}\ZWbc@init@twofive}
-
-% 2/5 IATA
-
-\ZWbc@def{2/5-IATA}{%
- \ZWbc@lookup{2/5startstop}{IATAstart}%
- \expandafter\ZWbc@interleave\ZWbc@CHAR/0*%
- \edef\ZWbc@start{\ZWbc@CHAR}%
- \ZWbc@lookup{2/5startstop}{IATAstop}%
- \expandafter\ZWbc@interleave\ZWbc@CHAR/0*%
- \edef\ZWbc@stop{\ZWbc@CHAR}\ZWbc@init@twofive}
-
-% 2/5 Matrix
-
-\ZWbc@def{2/5-Matrix}{%
- \ZWbc@lookup{2/5startstop}{MatrixStart}%
- \edef\ZWbc@start{\ZWbc@CHAR}%
- \ZWbc@lookup{2/5startstop}{MatrixStop}%
- \edef\ZWbc@stop{\ZWbc@CHAR}\ZWbc@compacttrue\ZWbc@init@twofive}
-
-% 2/5 Datalogic
-
-\ZWbc@def{2/5-Datalogic}{%
- \ZWbc@lookup{2/5startstop}{DatalogicStart}%
- \edef\ZWbc@start{\ZWbc@CHAR}%
- \ZWbc@lookup{2/5startstop}{DatalogicStop}%
- \edef\ZWbc@stop{\ZWbc@CHAR}\ZWbc@compacttrue\ZWbc@init@twofive}
-
-% 2/5 Inverted
-
-\ZWbc@def{2/5-Inverted}{%
- \ZWbc@lookup{2/5startstop}{Start}%
- \edef\ZWbc@CHAR{000/\ZWbc@CHAR*}%
- \expandafter\ZWbc@interleave\ZWbc@CHAR
- \edef\ZWbc@start{\ZWbc@CHAR}%
- \ZWbc@lookup{2/5startstop}{Stop}%
- \edef\ZWbc@CHAR{0000/\ZWbc@CHAR*}%
- \expandafter\ZWbc@interleave\ZWbc@CHAR
- \edef\ZWbc@stop{\ZWbc@CHAR}\ZWbc@invertedtrue\ZWbc@init@twofive}
-
-% 2/5-Interleaved
-
-\ZWbc@def{2/5-Interleaved}{%
- \ZWbc@lookup{2/5startstop}{InterleavedStart}%
- \edef\ZWbc@start{\ZWbc@CHAR}%
- \ZWbc@lookup{2/5startstop}{InterleavedStop}%
- \edef\ZWbc@stop{\ZWbc@CHAR}\begingroup \BarcodeSanitize \ZWbc@count@twofive}
-
-% Optionally prepend leading zero
-\def\ZWbc@count@twofive#1{\endgroup
- \edef\ZWbc@string{#1}\expandafter\ZWbc@nextchar\ZWbc@string*}
-
-\def\ZWbc@nextchar#1#2*{\ZWbc@flip
- \ifcat_#2_%
- \let\next\ZWbc@int@leading
- \else
- \def\next{\ZWbc@nextchar#2*}%
- \fi \next}
-
-\def\ZWbc@int@leading{\ifZWbc@compact \edef\ZWbc@string{0\ZWbc@string}\fi
- \expandafter\ZWbc@character\expandafter\ZWbc@widenarrow\ZWbc@start @%
- \expandafter\ZWbc@int@twofive\ZWbc@string*}
-
-\def\ZWbc@int@twofive#1#2#3*{%
- \ZWbc@lookup{2/5}{#1}%
- \ifx\ZWbc@CHAR\ZWbc@ \else
- \edef\ZWbc@temp{\ZWbc@CHAR}%
- \ZWbc@lookup{2/5}{#2}%
- \ifx\ZWbc@CHAR\ZWbc@ \else
- \edef\ZWbc@temp{\ZWbc@temp/\ZWbc@CHAR*}%
- \expandafter\ZWbc@interleave\ZWbc@temp
- \expandafter\ZWbc@character\expandafter\ZWbc@widenarrow\ZWbc@CHAR @%
- \fi
- \fi
- \ifcat_#3_\let\next\ZWbc@endbarcode\else
- \def\next{\ZWbc@int@twofive#3*}\fi \next}
-
-\def\ZWbc@flip{\ifZWbc@compact \ZWbc@compactfalse \else \ZWbc@compacttrue \fi}
-
-% Common 2/5 commands
-
-\newif\ifZWbc@compact
-\newif\ifZWbc@inverted
-
-\def\ZWbc@init@twofive{\begingroup \BarcodeSanitize \ZWbc@twofive}
-
-\def\ZWbc@twofive#1{\endgroup \edef\ZWbc@string{#1}%
- \expandafter\ZWbc@character\expandafter\ZWbc@widenarrow\ZWbc@start @%
- \expandafter\ZWbc@dotwofive\ZWbc@string*}
-
-\def\ZWbc@dotwofive#1#2*{%
- \ZWbc@lookup{2/5}{#1}%
- \ifx\ZWbc@CHAR\ZWbc@ \else
- \ifZWbc@compact \else
- \ifZWbc@inverted
- \edef\ZWbc@CHAR{00000/\ZWbc@CHAR*}%
- \expandafter\ZWbc@interleave\ZWbc@CHAR
- \else
- \expandafter\ZWbc@interleave\ZWbc@CHAR/0000*%
- \fi
- \fi
- \expandafter\ZWbc@character\expandafter\ZWbc@widenarrow\ZWbc@CHAR @%
- \fi
- \ifcat_#2_\let\next\ZWbc@endbarcode\else
- \def\next{\ZWbc@dotwofive#2*}\fi \next}
-
-% Table for 39 codes (** is a start/stop character, not 2 stars)
-
-\ZWbc@mktable 39
- |000110100
- |100100001
- |001100001
- |101100000
- |000110001
- |100110000
- |001110000
- |000100101
- |100100100
- |001100100
- |100001001
- |001001001
- |101001000
- |000011001
- |100011000
- |001011000
- |000001101
- |100001100
- |001001100
- |000011100
- |100000011
- |001000011
- |101000010
- |000010011
- |100010010
- |001010010
- |000000111
- |100000110
- |001000110
- |000010110
- |110000001
- |011000001
- |111000000
- |010010001
- |110010000
- |011010000
- |010000101
- |110000100
- |011000100
- |010101000
- |010100010
- |010001010
- |000101010
- |010010100
- @
-
-{\catcode`\$ 12 \catcode`\%12
-\ZWbc@mktable 39num
- 0|0
- 1|1
- 2|2
- 3|3
- 4|4
- 5|5
- 6|6
- 7|7
- 8|8
- 9|9
- A|10
- B|11
- C|12
- D|13
- E|14
- F|15
- G|16
- H|17
- I|18
- J|19
- K|20
- L|21
- M|22
- N|23
- O|24
- P|25
- Q|26
- R|27
- S|28
- T|29
- U|30
- V|31
- W|32
- X|33
- Y|34
- Z|35
- -|36
- .|37
- { }|38
- $|39
- /|40
- +|41
- %|42
- **|43
- @
-}
-
-% Code39
-
-\ZWbc@def{Code39}{%
- \ZWbc@lookup{39num}{**}%
- \ZWbc@lookup{39}{\ZWbc@CHAR}%
- \edef\ZWbc@start{\ZWbc@CHAR}%
- \let\ZWbc@stop\ZWbc@start
- \ZWbc@init@threenine}
-
-\def\ZWbc@init@threenine{\begingroup \BarcodeSanitize \ZWbc@threenine}
-
-\def\ZWbc@threenine#1{\endgroup \edef\ZWbc@string{#1}%
- \expandafter\ZWbc@character\expandafter\ZWbc@widenarrow\ZWbc@start @%
- \expandafter\ZWbc@dothreenine\ZWbc@string*}
-
-\def\ZWbc@dothreenine#1#2*{%
- \ZWbc@lookup{39num}{#1}%
- \ifx\ZWbc@CHAR\ZWbc@ \else
- \ZWbc@lookup{39}{\ZWbc@CHAR}%
- \expandafter\ZWbc@character\expandafter\ZWbc@widenarrow\ZWbc@CHAR @%
- \fi
- \ifcat_#2_\let\next\ZWbc@endbarcode\else
- \def\next{\ZWbc@dothreenine#2*}\fi \next}
-
-% HPlabel, requires rotating, must be loaded separatelly
-% see http://www.hp.com/go/storagemedia
-
-\def\HPlabel{\begingroup \BarcodeSanitize \ZWbc@HPlabel}
-\ZWbc@addTo{\MessageBreak\string\HPlabel\space (using Code39)}
-
-\def\ZWbc@HPlabel#1{\endgroup \edef\ZWbc@hpstring{#1}%
- \vbox to 16.5mm{\hsize 78mm \parindent\z@ \parskip\z@ \lineskiplimit\z@ \lineskip.9mm
- \usefont{OT1}{phv}{m}{n}\leftskip 5.5mm \rightskip\leftskip
- \noindent \barcode[code=Code39,X=.42mm,ratio=3,H=6.3mm,bcorr=0mm]{#1}\par
- \setbox\ZWbc@hpbox=\hbox
- {\begin{turn}{180}\barcode[code=Code39,X=.23mm,ratio=3,H=6.5mm,bcorr=0mm]{#1}\end{turn}}
- \noindent \raise\dp\ZWbc@hpbox\box\ZWbc@hpbox \hfill
- \begin{sideways}\vbox{\hsize 6.5mm \fontsize{10}{11}\selectfont
- \leftskip\z@ \rightskip\z@ \centering
- \expandafter\ZWbc@mkHPlabel\ZWbc@hpstring\ZWbc@}\end{sideways}\par
- \vss
- \centering \fontsize{6}{6}\selectfont
- This edge of the label toward hub of tape\par}}
-
-\def\ZWbc@mkHPlabel#1#2#3#4#5#6#7#8#9\ZWbc@{%
- \ifcat_#8_\ZWbc@HPtoofew\fi
- \ifcat_#9_\else\ZWbc@HPtoomany\fi
- #1\par#2\par#3\par#4\par#5\par#6\par#7#8\par}
-
-\newbox\ZWbc@hpbox
-
-\def\ZWbc@HPtoomany{\ZWbc@HPerror{many}}
-\def\ZWbc@HPtoofew{\ZWbc@HPerror{few}}
-\def\ZWbc@HPerror#1{\PackageError{makebarcode}%
- {Too #1 characters supplied in HP label code \ZWbc@hpstring}%
- {The label code must contain exactly 8 characters.\MessageBreak
- Your label will be unusable.}}
-
-% ITF-6/14/16
-
-\def\ITFbarcode{\begingroup \BarcodeSanitize \ZWbc@ITFbarcode}
-\ZWbc@addTo{\MessageBreak\string\ITFbarcode\space (ITF-6/14/16)}
-
-\newbox\ZWbc@ITFbox
-\newdimen\ZWbc@ITFwidth
-\newtoks\ZWbc@ITFtoks
-
-\newcommand*\ZWbc@ITFbarcode[2][]{\ifcat$#1$\else \setkeys{zwbc}{#1}\fi
- \vbox{\hbox{\vbox{%
- \ifzwbc@lines
- \hrule height \ZWbc@r
- \else
- \hrule height 4.8mm
- \fi
- \setbox\ZWbc@ITFbox=\hbox{%
- \ifzwbc@lines
- \hskip\ZWbc@r
- \else
- \vrule width 4.8mm \hskip\ZWbc@R
- \fi
- \relax
- \expandafter\barcode\expandafter[\ZWbc@ITF]{#2}%
- \ifzwbc@lines
- \hskip\ZWbc@r
- \else
- \hskip\ZWbc@R \vrule width 4.8mm
- \fi}%
- \global\ZWbc@ITFwidth\wd\ZWbc@ITFbox \box\ZWbc@ITFbox
- \ifzwbc@lines
- \hrule height \ZWbc@r
- \else
- \hrule height 4.8mm
- \fi}}%
- \vskip\ZWbc@r
- \ZWbc@startITFdigits #2\ZWbc@
- \font\ocrb ocrb10 at 14.4pt
- \hbox to \ZWbc@ITFwidth{\hskip\@tempdima \ocrb \the\ZWbc@ITFtoks\hskip\@tempdima}%
- }%
- \endgroup}
-
-
-\def\ZWbc@startITFdigits#1{\ZWbc@ctr\@ne
- \@tempdima\ZWbc@r \multiply\@tempdima 2
- \ifzwbc@lines
- \advance\@tempdima\ZWbc@r
- \else
- \advance\@tempdima\ZWbc@R
- \advance\@tempdima 4.8mm
- \fi
- \ZWbc@ITFtoks{#1}\ZWbc@ITFdigits}
-
-\def\ZWbc@ITFdigits#1#2\ZWbc@{%
- \ZWbc@ITFtoks\expandafter{\the\ZWbc@ITFtoks\hfill #1}%
- \advance\ZWbc@ctr\@ne
- \ifcat$#2$%
- \let\next\ZWbc@endITFdigits
- \else
- \def\next{\ZWbc@ITFdigits#2\ZWbc@}%
- \fi \next}
-
-\def\ZWbc@endITFdigits{%
- \ifnum\ZWbc@ctr=6 \else
- \ifnum\ZWbc@ctr=14 \else
- \ifnum\ZWbc@ctr=16 \else
- \PackageError{makebarcode}%
- {Wrong number of digits for ITF-6/14/16}%
- {Only ITF-6, ITF-14, ITF-16 are allowed.\MessageBreak
- You must supply corresponding number of digits.\MessageBreak
- This bar code will be unusable.}%
- \fi
- \fi
- \fi}
-
-% Test macro (to be removed)
-\def\ZWBCtest #1 {\csname ZWbc@#1\endcsname}