%% $Id: pst-barcode-doc.tex 445 2017-04-19 11:13:52Z herbert $ \section{Symbology Reference}\label{symbology-reference} \subsection{Point of Sale}\label{point-of-sale} \hypertarget{ean-13}{\subsubsection{EAN-13}\label{ean-13}} \textbf{EAN-13} is an extension of the \protect\hyperlink{upc-a}{UPC-A} barcode symbology that usually carries a GTIN-13. It was designed by the International Article Numbering Association in 1976 for identification of retail goods at point of sale outside of the US. Also known as: EAN, UCC-13, European Article Number, International Article Number, JAN, JAN-13. Variants: \begin{itemize} \tightlist \item EAN-13+2 is an extension of EAN-13 that includes a \protect\hyperlink{ean-2}{two-digit add-on}. \item EAN-13+5 is an extension of EAN-13 that includes a \protect\hyperlink{ean-5}{five-digit add-on}. \item EAN-99 is a special form of EAN-13 starting with \texttt{99} that is used as an in-store coupon. \item \protect\hyperlink{ean-8}{EAN-8} is a barcode symbology derived from EAN-13 that is designed for small packaging. It uses a distinct numbering system based on GTIN-8. \item \protect\hyperlink{isbn}{ISBN} is a variant of EAN-13 used to identify books. \item \protect\hyperlink{ismn}{ISMN} is a variant of EAN-13 used to identify printed music. \item \protect\hyperlink{issn}{ISSN} is a variant of EAN-13 used to identify periodicals. \item \protect\hyperlink{gs1-composite-symbols}{EAN-13 Composite} is a variant of EAN-13 that should be used when a CC-A or CC-B GS1 Composite 2D component is required. \end{itemize} Standards: ISO/IEC 15420, BS EN 797, GS1 General Specifications. \paragraph{Data and Options}\label{data-and-options} \begin{itemize} \tightlist \item The data field for a EAN-13 may contain twelve or thirteen digits, optionally followed by a space then two or five digits if an \protect\hyperlink{ean-2}{EAN-2} or \protect\hyperlink{ean-5}{EAN-5} add-on is required. \item If twelve digits of primary data are supplied then the check digit is calculated automatically. Otherwise the provided check digit must be correct. \item The \textbf{includetext} option should normally be supplied. \item The \textbf{guardwhitespace} option enables the display of whitespace guard marks. \end{itemize} \paragraph{Examples}\label{examples} Identical symbols, input provided with and without a check digit: \begin{verbatim} Data: 9771473968012 Options: includetext guardwhitespace Encoder: ean13 \end{verbatim} \begin{verbatim} Data: 977147396801 Options: includetext guardwhitespace Encoder: ean13 \end{verbatim} \includegraphics{images/ean13-1.eps} A symbol that includes a \protect\hyperlink{ean-5}{five-digit add-on}: \begin{verbatim} Data: 9771473968012 54499 Options: includetext guardwhitespace Encoder: ean13 \end{verbatim} \includegraphics{images/ean13-2.eps} \hypertarget{ean-8}{\subsubsection{EAN-8}\label{ean-8}} \textbf{EAN-8} is derived from the \protect\hyperlink{ean-13}{EAN-13} barcode symbology and is designed for small packaging. It usually carries a GTIN-8. Also known as: UCC-8, JAN-8. Variants: \begin{itemize} \tightlist \item EAN-8+2 is an extension of EAN-8 that includes a \protect\hyperlink{ean-2}{two-digit add-on}. \item EAN-8+5 is an extension of EAN-8 that includes a \protect\hyperlink{ean-5}{five-digit add-on}. \item EAN-Velocity is a special form of EAN-8 starting with \texttt{0} that is used for in-store coupons. \item \protect\hyperlink{ean-13}{EAN-13} is a longer variant of EAN-8 which has a distinct number system based on GTIN-13. \item \protect\hyperlink{gs1-composite-symbols}{EAN-8 Composite} is a variant of EAN-8 that should be used when a CC-A or CC-B GS1 composite 2D component is required. \end{itemize} Standards: ISO/IEC 15420, BS EN 797, GS1 General Specifications. \paragraph{Data and Options}\label{data-and-options-1} \begin{itemize} \tightlist \item The data field takes either seven or eight digits, optionally followed by a space then two or five digits if an \protect\hyperlink{ean-2}{EAN-2} or \protect\hyperlink{ean-5}{EAN-5} add-on is required. \item If seven digits of primary data are supplied then the check digit is calculated automatically. Otherwise the provided check digit must be correct. \item The \textbf{includetext} option should normally be supplied. \item The \textbf{guardwhitespace} option enables the display of white space guard marks. \end{itemize} \paragraph{Examples}\label{examples-1} Identical symbols, input provided with and without a check digit: \begin{verbatim} Data: 01335583 Options: includetext Encoder: ean8 \end{verbatim} \begin{verbatim} Data: 0133558 Options: includetext Encoder: ean8 \end{verbatim} \includegraphics{images/ean8-1.eps} Truncated with white space guards: \begin{verbatim} Data: 01335583 Options: includetext height=0.5 guardwhitespace Encoder: ean8 \end{verbatim} \includegraphics{images/ean8-2.eps} \hypertarget{upc-a}{\subsubsection{UPC-A}\label{upc-a}} The \textbf{UPC-A} barcode symbology is used for identification of retail goods at point of sale inside of the US. It usually carries a GTIN-12. Also known as: UPC, UCC-12, Universal Product Code. Variants: \begin{itemize} \tightlist \item UPC-A+2 is an extension of UPC-A that includes a \protect\hyperlink{ean-2}{two-digit add-on}. \item UPC-A+5 is an extension of UPC-A that includes a \protect\hyperlink{ean-5}{five-digit add-on}. \item \protect\hyperlink{upc-e}{UPC-E} is a barcode symbology derived from UPC-A that is designed for small packaging. \item \protect\hyperlink{gs1-composite-symbols}{UPC-A Composite} is a variant of UPC-A that should be used when a CC-A or CC-B \protect\hyperlink{gs1-composite-symbols}{GS1 composite} 2D component is required. \item A UPC-A symbol can be converted to an \protect\hyperlink{ean-13}{EAN-13} symbol by prefixing the GTIN-12 with 0 to make the equivalent GTIN-13. \end{itemize} Standards: ISO/IEC 15420, BS EN 797, GS1 General Specifications. \paragraph{Data and Options}\label{data-and-options-2} \begin{itemize} \tightlist \item The data field for a UPC-A may contain eleven or twelve digits, optionally followed by a space then two or five digits if an \protect\hyperlink{ean-2}{EAN-2} or \protect\hyperlink{ean-5}{EAN-5} add-on is required. \item Alternatively, the data field may contain seven or eight digits of a \protect\hyperlink{upc-e}{UPC-E} to produce the equivalent UPC-A symbol. \item If eleven digits of primary data are supplied then the check digit is calculated automatically. Otherwise the provided check digit must be correct. \item The \textbf{includetext} option should normally be supplied. \end{itemize} \paragraph{Examples}\label{examples-2} Identical symbols, input provided with and without a check digit: \begin{verbatim} Data: 788581014974 Options: includetext Encoder: upca \end{verbatim} \begin{verbatim} Data: 78858101497 Options: includetext Encoder: upca \end{verbatim} \includegraphics{images/upca-1.eps} A symbol that includes a \protect\hyperlink{ean-5}{five-digit add-on}: \begin{verbatim} Data: 788581014974 54499 Options: includetext guardwhitespace Encoder: upca \end{verbatim} \includegraphics{images/upca-2.eps} \hypertarget{upc-e}{\subsubsection{UPC-E}\label{upc-e}} \textbf{UPC-E} is a compacted form of the \protect\hyperlink{upc-a}{UPC-A} barcode symbology that usually carries a GTIN-12 with a number system of \emph{0} or \emph{1} that has been zero compressed. Variants: \begin{itemize} \tightlist \item UPC-E0 is a UPC-E with a number system of \emph{0}. \item UPC-E1 is a UPC-E with a number system of \emph{1}. \item UPC-E+2 is an extension of UPC-E that includes a \protect\hyperlink{ean-2}{two-digit add-on}. \item UPC-E+5 is an extension of UPC-E that includes a \protect\hyperlink{ean-5}{five-digit add-on}. \item \protect\hyperlink{upc-a}{UPC-A} is the full size form of UPC-E. \item \protect\hyperlink{gs1-composite-symbols}{UPC-E Composite} is a variant of UPC-E that should be used when a CC-A or CC-B GS1 Composite 2D component is required. \end{itemize} Standards: ISO/IEC 15420, BS EN 797, GS1 General Specifications. \paragraph{Data and Options}\label{data-and-options-3} \begin{itemize} \tightlist \item The data field takes either seven or eight digits, optionally followed by a space then two or five digits if an \protect\hyperlink{ean-2}{EAN-2} or \protect\hyperlink{ean-5}{EAN-5} add-on is required. \item Alternatively, the data field may contain eleven or twelve digits of a \protect\hyperlink{upc-a}{UPC-A} to produce the equivalent UPC-E symbol, provided that the input can be zero suppressed. \item If seven digits of primary data are supplied then the check digit is calculated automatically. Otherwise the provided check digit must be correct. \item The \textbf{includetext} option should normally be supplied. \end{itemize} \paragraph{Examples}\label{examples-3} Identical symbols, input provided with and without a check digit: \begin{verbatim} Data: 01234565 Options: includetext Encoder: upce \end{verbatim} \begin{verbatim} Data: 0123456 Options: includetext Encoder: upce \end{verbatim} \includegraphics{images/upce-1.eps} A truncated symbol: \begin{verbatim} Data: 01234565 Options: includetext height=0.5 Encoder: upce \end{verbatim} \includegraphics{images/upce-2.eps} \hypertarget{isbn}{\subsubsection{ISBN}\label{isbn}} An \textbf{ISBN} barcode is a variant of \protect\hyperlink{ean-13}{EAN-13} that is used to identify books. Also known as: ISBN-13, International Standard Book Number, Bookland EAN-13. Variants: \begin{itemize} \tightlist \item ISBN-10 is a legacy format that was depreciated for public use after 1st January 2007. \end{itemize} Standards: ISO 2108, ISO/IEC 15420, BS EN 797, GS1 General Specifications. \paragraph{Data and Options}\label{data-and-options-4} \begin{itemize} \tightlist \item The data should contain twelve or thirteen digits separated appropriately by dash characters \emph{-}. \item The data can also be provided in legacy ISBN-10 format as nine or ten digits separated appropriately by dash characters \emph{-}. This will be automatically upgraded to the ISBN-13 format. \item If the last digit of the primary data is not given then the ISBN check digit is calculated automatically. \item The \textbf{legacy} option prevents ISBN-10 input from being upgraded to ISBN-13 and will result in a symbol that is obsolete and should not be used at point of sale. \item The primary data can optionally be followed by a space then two or five digits if an \protect\hyperlink{ean-2}{EAN-2} or \protect\hyperlink{ean-5}{EAN-5} add-on is required. \item The \textbf{includetext} option should normally be supplied. \item The \textbf{guardwhitespace} option enables the display of white space guard marks. \item The following options are also relevant to this barcode symbology: \begin{itemize} \tightlist \item \textbf{isbntextfont}: Font name for text above symbol \item \textbf{isbntextsize}: Font size for the text above symbol, in points \item \textbf{isbntextxoffset}: Horizontal position of ISBN text, in points \item \textbf{isbntextyoffset}: Vertical position of ISBN text, in points \end{itemize} \end{itemize} \paragraph{Example ISBN}\label{example-isbn} Identical symbols, input provided with and without an ISBN check digit: \begin{verbatim} Data: 978-1-873671-00-9 Options: includetext Encoder: isbn \end{verbatim} \begin{verbatim} Data: 978-1-873671-00 Options: includetext Encoder: isbn \end{verbatim} \includegraphics{images/isbn-1.eps} An ISBN with a \protect\hyperlink{ean-5}{five-digit add-on}: \begin{verbatim} Data: 978-1-873671-00-9 54499 Options: includetext guardwhitespace Encoder: isbn \end{verbatim} \includegraphics{images/isbn-2.eps} The following ISBN-10 input will be automatically upgraded to a valid ISBN-13 symbol: \begin{verbatim} Data: 1-86074-271-2 Options: includetext Encoder: isbn \end{verbatim} \begin{verbatim} Data: 1-86074-271 Options: includetext Encoder: isbn \end{verbatim} \includegraphics{images/isbn-3.eps} \paragraph{Example ISBN-10}\label{example-isbn-10} Note that ISBN-10 is legacy format not for use at P.O.S. The following will generate an obsolete ISBN-10 symbol: \begin{verbatim} Data: 1-86074-271-8 Options: legacy includetext guardwhitespace Encoder: isbn \end{verbatim} \begin{verbatim} Data: 1-86074-271 Options: legacy includetext guardwhitespace Encoder: isbn \end{verbatim} \includegraphics{images/isbn-4.eps} \hypertarget{ismn}{\subsubsection{ISMN}\label{ismn}} An \textbf{ISMN} barcode is a variant of \protect\hyperlink{ean-13}{EAN-13} with a prefix \emph{979} that is used to identify printed music. Also known as: International Standard Music Number, ISMN-13. Variants: \begin{itemize} \tightlist \item ISMN-10 is a legacy format that was depreciated for public use. \end{itemize} Standards: ISO 10957, ISO/IEC 15420, BS EN 797, GS1 General Specifications. \paragraph{Data and Options}\label{data-and-options-5} \begin{itemize} \tightlist \item The data should contain twelve or thirteen digits separated appropriately by dash characters \emph{-}. \item The data can also be provided in legacy ISMN-10 format start \emph{M-} then eight or nine digits separated appropriately by dash characters \emph{-}. This will be automatically upgraded to the ISMN-13 format. \item The \textbf{legacy} option prevents ISMN-10 input from being upgraded to ISMN-13 and will result in a symbol that is obsolete and should not be used at point of sale. \item If the last digit of the primary data is not given then the ISMN check digit is calculated automatically. \item The primary data can optionally be followed by a space then two or five digits if an \protect\hyperlink{ean-2}{EAN-2} or \protect\hyperlink{ean-5}{EAN-5} add-on is required. \item The \textbf{includetext} option should normally be supplied. \item The \textbf{guardwhitespace} option enables the display of white space guard marks. \item The following options are also relevant to this barcode symbology: \begin{itemize} \tightlist \item \textbf{ismntextfont}: Font name for text above symbol \item \textbf{ismntextsize}: Font size for the text above symbol, in points \item \textbf{ismntextxoffset}: Horizontal position of ISMN text, in points \item \textbf{ismntextyoffset}: Vertical position of ISMN text, in points \end{itemize} \end{itemize} \paragraph{Example ISMN}\label{example-ismn} Identical symbols, input provided with and without an ISMN check digit: \begin{verbatim} Data: 979-0-2600-0043-8 Options: includetext Encoder: ismn \end{verbatim} \begin{verbatim} Data: 979-0-2600-0043 Options: includetext Encoder: ismn \end{verbatim} \includegraphics{images/ismn-1.eps} The following ISMN-10 input will be automatically upgraded to a valid ISMN-13 symbol: \begin{verbatim} Data: M-345-24680-5 Options: includetext Encoder: ismn \end{verbatim} \begin{verbatim} Data: M-345-24680 Options: includetext Encoder: ismn \end{verbatim} \includegraphics{images/ismn-2.eps} \paragraph{Example ISMN-10}\label{example-ismn-10} Note that ISMN-10 is a legacy format not for use at P.O.S. The following will generate an obsolete ISMN-10 symbol: \begin{verbatim} Data: M-345-24680-5 Options: legacy includetext guardwhitespace Encoder: ismn \end{verbatim} \begin{verbatim} Data: M-345-24680 Options: legacy includetext guardwhitespace Encoder: ismn \end{verbatim} \includegraphics{images/ismn-3.eps} \hypertarget{issn}{\subsubsection{ISSN}\label{issn}} An \textbf{ISSN} barcode is an \protect\hyperlink{ean-13}{EAN-13} with prefix \emph{977} used to identify periodicals. Also known as: International Standard Serial Number. Standards: ISO 3297, ISO/IEC 15420, BS EN 797, GS1 General Specifications. \paragraph{Data and Options}\label{data-and-options-6} \begin{itemize} \tightlist \item The data should contain the seven or eight digits ISSN separated by a dash characters \emph{-}, followed by a two-digit sequence variant, optionally followed by two or five digits if a \protect\hyperlink{ean-2}{two-digit add-on} or \protect\hyperlink{ean-5}{five-digit add-on} is required. \item If the last digit of the ISSN data is not given then the ISSN check digit is calculated automatically. \item The \textbf{includetext} option should normally be supplied. \item The \textbf{guardwhitespace} option enables the display of white space guard marks. \item The following options are also relevant to this barcode symbology: \begin{itemize} \tightlist \item \textbf{issntextfont}: Font name for text above symbol \item \textbf{issntextsize}: Font size for the text above symbol, in points \item \textbf{issntextxoffset}: Horizontal position of ISSN text, in points \item \textbf{issntextyoffset}: Vertical position of ISSN text, in points \end{itemize} \end{itemize} A sequence variant is a two-digit number that usually starts at zero and is incremented whenever the recommended retail price is amended, where applicable. \paragraph{Example}\label{example} Identical symbols, input provided with and without an ISSN check digit and having sequence number \emph{00}: \begin{verbatim} Data: 0317-8471 00 Options: includetext guardwhitespace Encoder: issn \end{verbatim} \begin{verbatim} Data: 0317-847 00 Options: includetext guardwhitespace Encoder: issn \end{verbatim} \includegraphics{images/issn-1.eps} An ISSN with sequence number \emph{03} and a \protect\hyperlink{ean-2}{two-digit add-on} representing issue number \emph{17}: \begin{verbatim} Data: 0317-8471 03 17 Options: includetext guardwhitespace Encoder: issn \end{verbatim} \begin{verbatim} Data: 0317-847 03 17 Options: includetext guardwhitespace Encoder: issn \end{verbatim} \includegraphics{images/issn-2.eps} \subsection{Two-Dimensional}\label{two-dimensional} \hypertarget{aztec-code}{\subsubsection{Aztec Code}\label{aztec-code}} \textbf{Aztec Code} is a 2D matrix-style barcode symbology. It can encode full 256-character extended-ASCII. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{aztec-runes}{Aztec Runes} are a set of small barcode symbols that are used for special applications. \end{itemize} Standards: ISO/IEC 24778, ANSI/AIM BC13 - ISS Aztec Code. \paragraph{Data and Options}\label{data-and-options-7} \begin{itemize} \tightlist \item The data field can contain any extended ASCII data. \item When the \textbf{parse} option is specified, any instances of \texttt{\^{}NNN} in the data field are replaced with their equivalent ASCII value, useful for specifying unprintable characters. \item The \textbf{eclevel} option is used to specify the percentage of error correction to be applied when expanding the data, by default \texttt{23}. \item The \textbf{ecaddchars} option is used to specify how many additional error correction characters to apply the data once expanded by the eclevel percentage, by default \texttt{3}. \item The \textbf{layers} option is used to specify a particular number of layers in which to encode the data, between \texttt{1} and \texttt{32}. By default the encoder will create a symbol with be minimal number of layers to encode the given data. \item The \textbf{format} option is used to select between \texttt{format=full} and \texttt{format=compact} symbol types. By default the encoder will choose the most appropriate format to create a symbol of minimal size. \item \emph{Deprecated: Use \protect\hyperlink{aztec-runes}{Aztec Runes} instead. The \textbf{format} option can also be used to create Aztec Code ``runes'', using \texttt{format=rune}. In this case the rune symbol number should be given in the data field.} \item The \textbf{readerinit} option denotes that the symbol is used for programming the barcode reader. \item The \textbf{raw} option denotes that the data field is providing the input as a pre-encoded bitstream suitable for direct low-level encoding. \end{itemize} \paragraph{Examples}\label{examples-4} \begin{verbatim} Data: This is Aztec Code Options: Encoder: azteccode \end{verbatim} \includegraphics{images/aztec-1.eps} \begin{verbatim} Data: This is ^065ztec Code Options: parse eclevel=50 ecaddchars=0 Encoder: azteccode \end{verbatim} \includegraphics{images/aztec-6.eps} \begin{verbatim} Data: ABC123 Options: layers=3 format=full Encoder: azteccode \end{verbatim} \includegraphics{images/aztec-2.eps} \begin{verbatim} Data: ABC123 Options: format=compact Encoder: azteccode \end{verbatim} \includegraphics{images/aztec-5.eps} \begin{verbatim} Data: 00100111001000000101001101111000010100111100101000000110 Options: raw Encoder: azteccode \end{verbatim} \includegraphics{images/aztec-4.eps} \hypertarget{aztec-runes}{\subsubsection{Aztec Runes}\label{aztec-runes}} \textbf{Aztec Runes} are a set of small barcode symbols that are used for special applications. Variants: \protect\hyperlink{aztec-code}{Aztec Code} is a 2D matrix-style barcode symbology that can encode full 256 character extended-ASCII. Standards: ISO/IEC 24778, ANSI/AIM BC13 - ISS Aztec Code. \paragraph{Data and Options}\label{data-and-options-8} \begin{itemize} \tightlist \item The data field contains the rune number \texttt{0} to \texttt{255}. \end{itemize} \paragraph{Examples}\label{examples-5} \begin{verbatim} Data: 25 Options: Encoder: aztecrune \end{verbatim} \includegraphics{images/aztec-3.eps} \hypertarget{data-matrix}{\subsubsection{Data Matrix}\label{data-matrix}} The \textbf{Data Matrix} symbology is 2D matrix-style barcode that can encode full 256 character extended-ASCII. Also known as: Data Matrix ECC 200. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{gs1-datamatrix}{GS1 DataMatrix} is a variant of Data Matrix that should be used when encoding data that is in \protect\hyperlink{gs1-application-identifier-standard-format}{GS1 Application Identifier standard format}. \item \protect\hyperlink{hibc-symbols}{HIBC Data Matrix} is a variant of Data Matrix that should be used when encoding HIBC formatted data. \end{itemize} Standards: ISO/IEC 16022, ANSI/AIM BC11 - ISS Data Matrix. \paragraph{Data and Options}\label{data-and-options-9} \begin{itemize} \tightlist \item The data field can contain any extended ASCII data. \item When the \textbf{parse} option is specified, any instances of \texttt{\^{}NNN} in the data field are replaced with their equivalent ASCII value. This is useful for specifying unprintable characters. \item When the \textbf{parsefnc} option is specified, non-data function characters can be specified by \texttt{\^{}FNC1}, \texttt{\^{}PROG}, \texttt{\^{}MAC5}, \texttt{\^{}MAC6}. \item The \textbf{format} option is used to specify the shape of the symbol, either \texttt{square} (default) or \texttt{rectangle}. \item The \textbf{dmre} option enable Data Matrix Rectangular Extension with increases the number of rectangular symbol sizes available. \item The \textbf{columns} and \textbf{rows} options are used to specify the size of the symbol. \item The \textbf{version} option can also be used to specify the symbol size, as \texttt{version=RxC}. Valid options are: \begin{itemize} \tightlist \item With \texttt{format=square}: \emph{10x10}, \emph{12x12}, \emph{14x14}, \emph{16x16}, \emph{18x18}, \emph{20x20}, \emph{22x22}, \emph{24x24}, \emph{26x26}, \emph{32x32}, \emph{36x36}, \emph{40x40}, \emph{44x44}, \emph{48x48}, \emph{52x52}, \emph{64x64}, \emph{72x72}, \emph{80x80}, \emph{88x88}, \emph{96x96}, \emph{104x104}, \emph{120x120}, \emph{132x132}, \emph{144x144} \item With \texttt{format=rectangle}: \emph{8x18}, \emph{8x32}, \emph{12x26}, \emph{12x36}, \emph{16x36}, \emph{16x48} \item With \texttt{format=rectangle} and \texttt{dmre}: \emph{8x18}, \emph{8x32}, \emph{8x48}, \emph{8x64}, \emph{12x26}, \emph{12x36}, \emph{12x64}, \emph{16x36}, \emph{16x48}, \emph{16x64}, \emph{24x32}, \emph{24x36}, \emph{24x48}, \emph{24x64}, \emph{26x32}, \emph{26x40}, \emph{26x48}, \emph{26x64} \end{itemize} \item If \textbf{columns}, \textbf{rows} and \textbf{version} are unspecified the encoder will default to creating a symbol of the specified \textbf{format} that is the minimum size to represent the given data. \end{itemize} \paragraph{Examples}\label{examples-6} \begin{verbatim} Data: This is Data Matrix Options: Encoder: datamatrix \end{verbatim} \begin{verbatim} Data: This is ^068ata Matrix Options: parse Encoder: datamatrix \end{verbatim} \includegraphics{images/datamatrix-1.eps} \begin{verbatim} Data: Fixed size Options: rows=48 columns=48 Encoder: datamatrix \end{verbatim} \includegraphics{images/datamatrix-2.eps} \begin{verbatim} Data: Rectangular Options: format=rectangle version=16x48 Encoder: datamatrix \end{verbatim} \includegraphics{images/datamatrix-3.eps} \subsubsection{Han Xin Code}\label{han-xin-code} The \textbf{Han Xin Code} symbology is a 2D matrix-style barcode symbology that can encode full 256 character extended-ASCII. Also known as: Chinese Sensible. Standards: GB/T 21049-2007. \paragraph{Data and Options}\label{data-and-options-10} \begin{itemize} \tightlist \item The data field can contain any extended ASCII data. \item When the \textbf{parse} option is specified, any instances of \texttt{\^{}NNN} in the data field are replaced with their equivalent ASCII value, useful for specifying unprintable characters. \item The \textbf{eclevel} option is used to specify the error correction level: \begin{itemize} \tightlist \item \texttt{eclevel=L1} - Lowest \item \texttt{eclevel=L2} \item \texttt{eclevel=L3} \item \texttt{eclevel=L4} - Highest \end{itemize} \item The \textbf{version} option is used to specify the size of the symbol, 1 to 84. \item If unspecified the encoder will select the version of the symbol that is the minimum size to represent the given data at the selected error correction level. \end{itemize} \paragraph{Examples}\label{examples-7} \begin{verbatim} Data: Han Xin Code Options: version=10 eclevel=L4 Encoder: hanxin \end{verbatim} \includegraphics{images/hanxin-1.eps} \hypertarget{micropdf417}{\subsubsection{MicroPDF417}\label{micropdf417}} The \textbf{MicroPDF417} barcode symbology is 2D stacked-linear barcode based on \protect\hyperlink{pdf417}{PDF417} that can encode full 256 character extended-ASCII. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{pdf417}{PDF417} is a larger variant of the MicroPDF417 barcode. \item \protect\hyperlink{hibc-symbols}{HIBC MicroPDF417} is a variant of MicroPDF417 that should be used when encoding HIBC formatted data. \end{itemize} Standards: ISO/IEC 24728, AIM ISS - MicroPDF417. \paragraph{Data and Options}\label{data-and-options-11} \begin{itemize} \tightlist \item The data field can contain any extended ASCII data. \item When the \textbf{parse} option is specified, any instances of \texttt{\^{}NNN} in the data field are replaced with their equivalent ASCII value, useful for specifying unprintable characters. \item The \textbf{columns} and \textbf{rows} options are used to specify the size of the symbol. Valid values are: \begin{itemize} \tightlist \item \emph{1x11}, \emph{1x14}, \emph{1x17}, \emph{1x20}, \emph{1x24}, \emph{1x28}, \emph{2x8}, \emph{2x11}, \emph{2x14}, \emph{2x17}, \emph{2x20}, \emph{2x23}, \emph{2x26}, \emph{3x6}, \emph{3x8}, \emph{3x10}, \emph{3x12}, \emph{3x15}, \emph{3x20}, \emph{3x26}, \emph{3x32}, \emph{3x38}, \emph{3x44}, \emph{4x4}, \emph{4x6}, \emph{4x8}, \emph{4x10}, \emph{4x12}, \emph{4x15}, \emph{4x20}, \emph{4x26}, \emph{4x32}, \emph{4x38}, \emph{4x44} \end{itemize} \item If the \textbf{columns} and \textbf{rows} are unspecified the encoder will default to creating a symbol that is the minimum size to represent the given data. \item The \textbf{rowmult} option is used to specify how tall each bar is, with respect to the minimum module width. The default is 3. \item The \textbf{raw} option denotes that the data field is providing the input as a pre-encoded codewords in \texttt{\^{}NNN} format, suitable for direct low-level encoding. \item The \textbf{cca} option identifies this symbol as a \emph{CC-A} 2D component of a \protect\hyperlink{gs1-composite-symbols}{GS1 Composite} symbol. \item The \textbf{ccb} option identifies this symbol as a \emph{CC-B} 2D component of a \protect\hyperlink{gs1-composite-symbols}{GS1 Composite} symbol. \item Note: Special size rules apply when the \textbf{cca} option is given, in which case the \textbf{columns} and \textbf{rows} options that are used to specify the size of the symbol must be one of: \begin{itemize} \tightlist \item \emph{2x5}, \emph{2x6}, \emph{2x7}, \emph{2x8}, \emph{2x9}, \emph{2x10}, \emph{2x12}, \emph{3x4}, \emph{3x5}, \emph{3x6}, \emph{3x7}, \emph{3x8}, \emph{4x3}, \emph{4x4}, \emph{4x5}, \emph{4x6}, \emph{4x7} \end{itemize} \end{itemize} \paragraph{Examples}\label{examples-8} \begin{verbatim} Data: MicroPDF417 Options: Encoder: micropdf417 \end{verbatim} \includegraphics{images/micropdf417-1.eps} \begin{verbatim} Data: MicroP^068F417 Options: parse rows=15 columns=4 Encoder: micropdf417 \end{verbatim} \includegraphics{images/micropdf417-2.eps} \hypertarget{pdf417}{\subsubsection{PDF417}\label{pdf417}} The \textbf{PDF417} barcode symbology is 2D stacked-linear barcode that can encode full 256 character extended-ASCII. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{compact-pdf417}{Compact PDF417} is a shortened form of the PDF417 barcode that is used in applications where the space for the symbol is restricted. \item \protect\hyperlink{micropdf417}{MicroPDF417} is a smaller variant of the PDF417 barcode. \item \protect\hyperlink{hibc-symbols}{HIBC PDF417} is a variant of PDF417 that should be used when encoding HIBC formatted data. \end{itemize} Standards: ISO/IEC 15438, DD ENV 12925, AIM USS - PDF417. \paragraph{Data and Options}\label{data-and-options-12} \begin{itemize} \tightlist \item The data field can contain any extended ASCII data. \item When the \textbf{parse} option is specified, any instances of \texttt{\^{}NNN} in the data field are replaced with their equivalent ASCII value, useful for specifying unprintable characters. \item The \textbf{eclevel} option is used to specify the error correction level, from 1 to 5. The default is to choose a standard level of error correction that is determined by the encoded data length. \item The \textbf{columns} option specifies the number of columns (or groups of bars) in the output symbol, from 1 to 30. \item The \textbf{rows} option specifies the minimum number of rows in the symbol, from 3 to 90. \item If \textbf{rows} is unspecified the encoder will select a number that creates a symbol that is the minimum size to represent the given data. \item The \textbf{rowmult} option is used to specify how tall each bar is, with respect to the minimum module width. The default is 3. \item \emph{Deprecated: Use \protect\hyperlink{compact-pdf417}{Compact PDF417} instead. The \textbf{compact} option is used to create a compact/truncated PDF417 symbol that has fewer bars per row that a standard symbol and hence is more narrow.} \item The \textbf{raw} option denotes that the data field is providing the input as a pre-encoded codewords in \texttt{\^{}NNN} format, suitable for direct low-level encoding. \item The \textbf{ccc} option identifies this symbol as a \emph{CC-C} 2D component of a \protect\hyperlink{gs1-composite-symbols}{GS1 Composite} symbol. \end{itemize} \paragraph{Examples}\label{examples-9} \begin{verbatim} Data: PDF417 Options: Encoder: pdf417 \end{verbatim} \includegraphics{images/pdf417-1.eps} \begin{verbatim} Data: P^068F417 Options: parse columns=2 rows=15 Encoder: pdf417 \end{verbatim} \includegraphics{images/pdf417-2.eps} \begin{verbatim} Data: Strong error correction Options: columns=2 eclevel=5 Encoder: pdf417 \end{verbatim} \includegraphics{images/pdf417-4.eps} \begin{verbatim} Data: ^453^178^121^239 Options: raw columns=2 Encoder: pdf417 \end{verbatim} \includegraphics{images/pdf417-5.eps} \hypertarget{compact-pdf417}{\subsubsection{Compact PDF417}\label{compact-pdf417}} \textbf{Compact PDF417} is a shortened form of the \protect\hyperlink{pdf417}{PDF417} barcode that is used in applications where the space for the symbol is restricted. Also known as: Truncated PDF417 Variants: \begin{itemize} \tightlist \item \protect\hyperlink{pdf417}{PDF417} is the larger, more popular variant. \item \protect\hyperlink{micropdf417}{MicroPDF417} is a smaller variant of the PDF417 barcode. \item \protect\hyperlink{hibc-symbols}{HIBC PDF417} is a variant of PDF417 that should be used when encoding HIBC formatted data. \end{itemize} Standards: ISO/IEC 15438, DD ENV 12925, AIM USS - PDF417. \paragraph{Data and Options}\label{data-and-options-13} \begin{itemize} \tightlist \item The data field can contain any extended ASCII data. \item When the \textbf{parse} option is specified, any instances of \texttt{\^{}NNN} in the data field are replaced with their equivalent ASCII value, useful for specifying unprintable characters. \item The \textbf{eclevel} option is used to specify the error correction level, from 1 to 5. The default is to choose a standard level of error correction that is determined by the encoded data length. \item The \textbf{columns} option specifies the number of columns (or groups of bars) in the output symbol, from 1 to 30. \item The \textbf{rows} option specifies the minimum number of rows in the symbol, from 3 to 90. \item If \textbf{rows} is unspecified the encoder will select a number that creates a symbol that is the minimum size to represent the given data. \item The \textbf{rowmult} option is used to specify how tall each bar is, with respect to the minimum module width. The default is 3. \item The \textbf{raw} option denotes that the data field is providing the input as a pre-encoded codewords in \texttt{\^{}NNN} format, suitable for direct low-level encoding. \end{itemize} \paragraph{Examples}\label{examples-10} \begin{verbatim} Data: A truncated PDF417 Options: columns=4 Encoder: pdf417compact \end{verbatim} \includegraphics{images/pdf417-3.eps} \hypertarget{qr-code}{\subsubsection{QR Code}\label{qr-code}} The \textbf{QR Code} symbology is a 2D matrix-style barcode symbology that can encode full 256 character extended-ASCII. Also known as: Quick Response Code. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{micro-qr-code}{Micro QR Code} is a small QR Code that is used in applications that require a small symbol space. \item \protect\hyperlink{gs1-qr-code}{GS1 QR Code} is a variant of Data Matrix that should be used when encoding data that is in \protect\hyperlink{gs1-application-identifier-standard-format}{GS1 Application Identifier standard format}. \item \protect\hyperlink{hibc-symbols}{HIBC QR Code} is a variant of QR Code that should be used when encoding HIBC formatted data. \end{itemize} Standards: ISO/IEC 18004, JIS X 0510, ITS - QR Code, AIM ISS - QR Code. \paragraph{Data and Options}\label{data-and-options-14} \begin{itemize} \tightlist \item The data field can contain any extended ASCII data. \item When the \textbf{parse} option is specified, any instances of \texttt{\^{}NNN} in the data field are replaced with their equivalent ASCII value, useful for specifying unprintable characters. \item The \textbf{eclevel} option is used to specify the error correction level: \begin{itemize} \tightlist \item \texttt{eclevel=L} - Low \item \texttt{eclevel=M} - Medium (default) \item \texttt{eclevel=Q} - Quality \item \texttt{eclevel=H} - High \end{itemize} \item The \textbf{version} option is used to specify the size of the symbol, 1 to 40. \item If unspecified the encoder will select the version of the symbol that is the minimum size to represent the given data at the selected error correction level. \item The \textbf{format} option is used to select between \texttt{format=full} and \texttt{format=micro} (deprecated) symbol types. Alternatively, \texttt{format=any} will select the optimal symbol format for the given data. By default \emph{full} format symbols will be generated. \item Note: It is recommended that the \protect\hyperlink{micro-qr-code}{Micro QR Code} encoder is used for such symbols. \end{itemize} \paragraph{Examples}\label{examples-11} \begin{verbatim} Data: QR Code Options: Encoder: qrcode \end{verbatim} \begin{verbatim} Data: QR ^067ode Options: parse Encoder: qrcode \end{verbatim} \includegraphics{images/qrcode-1.eps} \begin{verbatim} Data: QR CODE 1234 Options: version=10 eclevel=Q Encoder: qrcode \end{verbatim} \includegraphics{images/qrcode-2.eps} \hypertarget{micro-qr-code}{\subsubsection{Micro QR Code}\label{micro-qr-code}} The \textbf{Micro QR Code} symbology is a smaller variant of \protect\hyperlink{qr-code}{QR Code} that is used in applications that require a small symbol space. Also known as: Micro Quick Response Code. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{qr-code}{QR Code} is the more popular, larger variant. \end{itemize} Standards: ISO/IEC 18004, JIS X 0510, ITS - QR Code, AIM ISS - QR Code. \paragraph{Data and Options}\label{data-and-options-15} \begin{itemize} \tightlist \item The data field can contain any extended ASCII data and will select the appropriate size symbol to work around the following restrictions: \begin{itemize} \tightlist \item An M1 symbol is only compatible with numeric data. \item An M2 symbol is only compatible with alphanumeric data. \end{itemize} \item When the \textbf{parse} option is specified, any instances of \texttt{\^{}NNN} in the data field are replaced with their equivalent ASCII value, useful for specifying unprintable characters. \item The \textbf{version} option is used to specify the size of the symbol, either \texttt{version=M1}, \texttt{version=M2}, \texttt{version=M3} or \texttt{version=M4}. \item The \textbf{eclevel} option is used to specify the error correction level: \begin{itemize} \tightlist \item \texttt{eclevel=L} - Low (default) \item \texttt{eclevel=M} - Medium; Not compatible with M1 symbols \item \texttt{eclevel=Q} - Quality; Only compatible with M4 symbols \end{itemize} \item If unspecified the encoder will select the version of the symbol that is the minimum size to represent the given data at the selected error correction level. \end{itemize} \paragraph{Examples}\label{examples-12} \begin{verbatim} Data: 01234567 Options: Encoder: microqrcode \end{verbatim} \includegraphics{images/qrcode-5.eps} \subsection{One-Dimensional}\label{one-dimensional} \hypertarget{code-128}{\subsubsection{Code 128}\label{code-128}} \textbf{Code 128} is an arbitrarily long, high-density barcode symbology that can be used to encode full 256 character extended-ASCII. Also known as: USD-6, USS-128, Code 128A, Code 128B, Code 128C. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{gs1-128}{GS1-128} is a variant of Code 128 that should be used when encoding data that is in \protect\hyperlink{gs1-application-identifier-standard-format}{GS1 Application Identifier standard format}. \item \protect\hyperlink{hibc-symbols}{HIBC Code 128} is a variant of Code 128 that should be used when encoding HIBC formatted data. \end{itemize} Standards: ISO/IEC 15417, ANSI/AIM BC4 - ISS Code 128, BS EN 799. \paragraph{Data and Options}\label{data-and-options-16} \begin{itemize} \tightlist \item The input can consist of any extended ASCII data. \item When the \textbf{parse} option is specified, any instances of \texttt{\^{}NNN} in the data field are replaced with their equivalent ASCII or extended-ASCII value, useful for specifying unprintable characters, e.g. \texttt{\^{}029} for \emph{GS}, \texttt{\^{}209} for \emph{Ñ}, etc. \item \emph{FNC4} function characters will be inserted automatically to allow the encoding of extended ASCII characters. \item When the \textbf{parsefnc} option is specified, non-data function characters can be specified by \texttt{\^{}FNC1} through \texttt{\^{}FNC3}. \item When the \textbf{parsefnc} option is specified, the special pseudo characters \texttt{\^{}LNKA} and \texttt{\^{}LNKC} at the end of the symbol indicate that a GS1-128 symbol includes a \emph{CC-A/B} or \emph{CC-C} GS1 composite 2D component. \item The \textbf{raw} option denotes that the data field is providing the input as pre-encoded codewords in \texttt{\^{}NNN} format, suitable for direct low-level encoding. \item The mandatory check digit is calculated automatically. \end{itemize} \paragraph{Example}\label{example-1} \begin{verbatim} Data: Count0123456789! Options: includetext Encoder: code128 \end{verbatim} \includegraphics{images/code128-1.eps} \hypertarget{code-39}{\subsubsection{Code 39}\label{code-39}} The \textbf{Code 39} barcode symbology is discrete, variable length and self-checking. Also known as: Code 3 of 9, LOGMARS, Alpha39, USD-3, USS-39. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{code-39-extended}{Code 39 Extended} is a variant of Code 39 that can be used to encode full 128 character ASCII with the use of shift character combinations. \item \protect\hyperlink{hibc-symbols}{HIBC Code39} is a variant of Code 39 that should be used when encoding HIBC formatted data. \item AIM USD-2 is a subset of Code 39 containing the characters A-Z, 0-9, \emph{space}, \texttt{-} and \texttt{.}. \end{itemize} Standards: ISO/IEC 16388, ANSI/AIM BC1 - USS Code 39, BS EN 800, MIL STD 1189. \paragraph{Data and Options}\label{data-and-options-17} \begin{itemize} \tightlist \item The data field can hold any of the following: \begin{itemize} \tightlist \item Numbers 0-9 \item Capital letters A-Z \item Symbols \texttt{-.\$/+\%*} and \emph{space} \end{itemize} \item The \textbf{includecheck} option calculates the check digit. \item The \textbf{includecheckintext} option makes the calculated checksum appear in the human readable text. \item The \textbf{hidestars} option suppresses the asterisks in the human readable text. \end{itemize} \paragraph{Examples}\label{examples-13} \begin{verbatim} Data: CODE39 Options: includetext Encoder: code39 \end{verbatim} \includegraphics{images/code39-1.eps} \begin{verbatim} Data: CODE39 Options: includecheck includetext includecheckintext Encoder: code39 \end{verbatim} \includegraphics{images/code39-2.eps} \begin{verbatim} Data: CODE39 Options: hidestars includecheck includetext Encoder: code39 \end{verbatim} \includegraphics{images/code39-3.eps} \hypertarget{code-39-extended}{\subsubsection{Code 39 Extended}\label{code-39-extended}} The \textbf{Code 39 Extended} barcode symbology is discrete, variable length and self-checking. It is based on \protect\hyperlink{code-39}{Code 39} but can encode full 128 character ASCII by using shift combinations. Also known as: Code 39 Full ASCII. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{code-39}{Code 39} is a simpler variant of Code 39 Extended. \end{itemize} Standards: ISO/IEC 16388, ANSI/AIM BC1 - USS Code 39, BS EN 800. \paragraph{Data and Options}\label{data-and-options-18} \begin{itemize} \tightlist \item The data field can consist of any ASCII data. \item When the \textbf{parse} option is specified, any instances of \texttt{\^{}NNN} in the data field are replaced with their equivalent ASCII value, useful for specifying unprintable characters, e.g. \texttt{\^{}029} for \emph{GS}, etc. \item The \textbf{includecheck} option calculates the check digit. \item The \textbf{includecheckintext} causes the calculated check digit to appear in the human readable text. \item The \textbf{hidestars} option suppresses the asterisks in the human readable text. \end{itemize} \paragraph{Examples}\label{examples-14} \begin{verbatim} Data: Code39 Ext! Options: includetext includecheck Encoder: code39ext \end{verbatim} \includegraphics{images/code39ext-1.eps} \begin{verbatim} Data: Code39^029Extended Options: parse includecheck Encoder: code39ext \end{verbatim} \includegraphics{images/code39ext-2.eps} \hypertarget{code-93}{\subsubsection{Code 93}\label{code-93}} \textbf{Code 93} is a continuous, variable length, self-checking barcode symbology. Also known as: USD-7, USS-93. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{code-93-extended}{Code 93 Extended} is a variant of Code 93 that can be used to encode full 128 character ASCII with the use of special shift character combinations. \end{itemize} Standards: ANSI/AIM BC5 - USS Code 93, ITS 93i. \paragraph{Data and Options}\label{data-and-options-19} \begin{itemize} \tightlist \item The data field can hold any of the following: \begin{itemize} \tightlist \item Numbers 0-9 \item Capital letters A-Z \item Symbols \texttt{-.\$/+\%*} and \emph{space} \end{itemize} \item The \textbf{parsefnc} option allows the special shift characters to be supplied as \texttt{\^{}SFT\$}, \texttt{\^{}SFT\%}, \texttt{\^{}SFT/} and \texttt{\^{}SFT+}. \item The \textbf{includecheck} option calculates the two check digits. \end{itemize} \paragraph{Examples}\label{examples-15} \begin{verbatim} Data: CODE93 Options: includecheck Encoder: code93 \end{verbatim} \includegraphics{images/code93-1.eps} Code 93 including a special shift combination \texttt{(/)A} representing \emph{!}: \begin{verbatim} Data: CODE93^SFT/A Options: parsefnc includecheck Encoder: code93 \end{verbatim} \includegraphics{images/code93-2.eps} \hypertarget{code-93-extended}{\subsubsection{Code 93 Extended}\label{code-93-extended}} The \textbf{Code 93 Extended} barcode symbology is continuous, variable length and self-checking. It is based on \protect\hyperlink{code-93}{Code 93} but can encode full 128 character ASCII using four additional shift characters: \emph{(\$)} \emph{(\%)} \emph{(/)} \emph{(+)} Also known as: Code 93 Full ASCII. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{code-93}{Code 93} is a simpler variant of the Code 93 Extended barcode symbology. \end{itemize} Standards: ANSI/AIM BC5 - USS Code 93, ITS 93i. \paragraph{Data and Options}\label{data-and-options-20} \begin{itemize} \tightlist \item The data field can consist of any ASCII data. \item When the \textbf{parse} option is specified, any instances of \texttt{\^{}NNN} in the data field are replaced with their equivalent ASCII value, useful for specifying unprintable characters, e.g. \texttt{\^{}029} for \emph{GS}, etc. \item The \textbf{includecheck} option calculates the two check digits. \end{itemize} \paragraph{Examples}\label{examples-16} \begin{verbatim} Data: Code93Ext! Options: includecheck Encoder: code93ext \end{verbatim} \includegraphics{images/code93ext-1.eps} \begin{verbatim} Data: Code93^029Extended Options: parse includecheck Encoder: code93ext \end{verbatim} \includegraphics{images/code93ext-2.eps} \hypertarget{interleaved-2-of-5}{\subsubsection{Interleaved 2 of 5}\label{interleaved-2-of-5}} \textbf{Interleaved 2 of 5} is a high-density numeric barcode symbology. Also known as: ITF, Code 2 of 5 Interleaved, USD-1, USS-Interleaved 2 of 5. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{itf-14}{ITF-14} is a variant of Interleaved 2 of 5 that should be used when encoding a fourteen-digit GTIN. \end{itemize} Standards: ISO/IEC 16390, ANSI/AIM BC2 - USS Interleaved 2 of 5, BS EN 801. \paragraph{Data and Options}\label{data-and-options-21} \begin{itemize} \tightlist \item The data can consist of any number of digits. \item The \textbf{includecheck} option calculates the check digit. \item The \textbf{includecheckintext} option makes the calculated checksum appear in the human readable text. \item If the length of the symbol including the possible check digit would be odd then the data is prefixed by \emph{0}. \end{itemize} \paragraph{Examples}\label{examples-17} \begin{verbatim} Data: 0123456789 Options: Encoder: interleaved2of5 \end{verbatim} \includegraphics{images/itf-1.eps} \begin{verbatim} Data: 2401234567 Options: includecheck includetext includecheckintext Encoder: interleaved2of5 \end{verbatim} \includegraphics{images/itf-2.eps} \subsection{Supply Chain}\label{supply-chain} \hypertarget{gs1-datamatrix}{\subsubsection{GS1 DataMatrix}\label{gs1-datamatrix}} \textbf{GS1 DataMatrix} is an implementation of the \protect\hyperlink{data-matrix}{Data Matrix} (ECC 200) barcode symbology with \protect\hyperlink{gs1-application-identifier-standard-format}{GS1 formatted} data. Standards: ISO/IEC 16022, ANSI/AIM BC11 ISS, GS1 General Specifications. \paragraph{Data and Options}\label{data-and-options-22} \begin{itemize} \tightlist \item The data field input is provided in \protect\hyperlink{gs1-application-identifier-standard-format}{GS1 Application Identifier standard format} starting with the mandatory \emph{(01)} Application Identifier. \item The \textbf{format} option is used to specify the shape of the symbol, either \texttt{square} (default) or \texttt{rectangle}. \item The \textbf{columns} and \textbf{rows} options are used to specify the size of the symbol. \item The \textbf{version} option can also be used to specify the symbol size, as \texttt{version=RxC}. Valid options are: \begin{itemize} \tightlist \item With \texttt{format=square}: \emph{10x10}, \emph{12x12}, \emph{14x14}, \emph{16x16}, \emph{18x18}, \emph{20x20}, \emph{22x22}, \emph{24x24}, \emph{26x26}, \emph{32x32}, \emph{36x36}, \emph{40x40}, \emph{44x44}, \emph{48x48}, \emph{52x52}, \emph{64x64}, \emph{72x72}, \emph{80x80}, \emph{88x88}, \emph{96x96}, \emph{104x104}, \emph{120x120}, \emph{132x132}, \emph{144x144} \item With \texttt{format=rectangle}: \emph{8x18}, \emph{8x32}, \emph{12x26}, \emph{12x36}, \emph{16x36}, \emph{16x48} \end{itemize} \item If \textbf{columns}, \textbf{rows} and \textbf{version} are unspecified the encoder will default to creating a symbol of the specified \textbf{format} that is the minimum size to represent the given data. \end{itemize} \paragraph{Example}\label{example-2} \begin{verbatim} Data: (01)95012345678903(3103)000123 Options: Encoder: gs1datamatrix \end{verbatim} \includegraphics{images/gs1datamatrix-1.eps} \hypertarget{gs1-qr-code}{\subsubsection{GS1 QR Code}\label{gs1-qr-code}} \textbf{GS1 QR Code} is an implementation of the \protect\hyperlink{qr-code}{QR Code} barcode symbology with \protect\hyperlink{gs1-application-identifier-standard-format}{GS1 formatted data}. Standards: ISO/IEC 18004, ITS - QR Code, GS1 General Specifications. \paragraph{Data and Options}\label{data-and-options-23} \begin{itemize} \tightlist \item The data field input is provided in \protect\hyperlink{gs1-application-identifier-standard-format}{GS1 Application Identifier standard format} starting with the mandatory \emph{(01)} and \emph{(8200)} Application Identifiers. \item The \textbf{eclevel} option is used to specify the error correction level: \begin{itemize} \tightlist \item \texttt{eclevel=L} - Low \item \texttt{eclevel=M} - Medium (default) \item \texttt{eclevel=Q} - Quality \item \texttt{eclevel=H} - High \end{itemize} \item The \textbf{version} option is used to specify the size of the symbol, 1 to 40. \item If the \textbf{version} is unspecified the encoder will default to creating a symbol that is the minimum size to represent the given data at the selected error correction level. \end{itemize} \paragraph{Example}\label{example-3} \begin{verbatim} Data: (01)03453120000011(8200)http://www.abc.net Options: Encoder: gs1qrcode \end{verbatim} \includegraphics{images/gs1qrcode-1.eps} \begin{verbatim} Data: (01)03453120000011(8200)http://abc.net(10)XYZ(410)9501101020917 Options: Encoder: gs1qrcode \end{verbatim} \includegraphics{images/gs1qrcode-2.eps} \hypertarget{gs1-128}{\subsubsection{GS1-128}\label{gs1-128}} \textbf{GS1-128} is an implementation of the \protect\hyperlink{code-128}{Code 128} barcode symbology which carries \protect\hyperlink{gs1-application-identifier-standard-format}{GS1 formatted} data, including a GTIN-14. Also known as: UCC/EAN-128, EAN-128, UCC-128. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{gs1-composite-symbols}{GS1-128 Composite} is a variant of GS1-128 that should be used when a CC-A, CC-B or CC-C GS1 composite 2D component is required. \item \protect\hyperlink{ean-14}{EAN-14} is a variant of GS1-128 that should be used when encoding a fourteen-digit GTIN. \item \protect\hyperlink{sscc-18}{SSCC-18} is a variant of GS1-128 that should be used when encoding an eighteen-digit SSCC. \end{itemize} Standards: ISO/IEC 15417, ANSI/AIM BC4-1999 ISS, BS EN 799, GS1 General Specifications. \paragraph{Data and Options}\label{data-and-options-24} \begin{itemize} \tightlist \item The data field input is provided in \protect\hyperlink{gs1-application-identifier-standard-format}{GS1 Application Identifier standard format}. \item The \textbf{linkagea} option specifies that the symbol includes a \emph{CC-A} or \emph{CC-B} GS1 composite 2D component. \item The \textbf{linkagec} option specifies that the symbol includes a \emph{CC-C} GS1 composite 2D component. \end{itemize} \paragraph{Examples}\label{examples-18} GTIN \emph{95012345678903}; Weight \emph{0.123kg}: \begin{verbatim} Data: (01)95012345678903(3103)000123 Options: includetext Encoder: gs1-128 \end{verbatim} \includegraphics{images/ean128-1.eps} GTIN \emph{0061414199996}; Expiration date \emph{1st Jan 2010}; Batch \emph{123ABC}; Serial \emph{1234567890}: \begin{verbatim} Data: (01)0061414199996(17)100101(10)123ABC(21)1234567890 Options: includetext Encoder: gs1-128 \end{verbatim} \includegraphics{images/ean128-2.eps} \hypertarget{ean-14}{\subsubsection{EAN-14}\label{ean-14}} \textbf{EAN-14} is an implementation of the \protect\hyperlink{gs1-128}{GS1-128} barcode symbology with \emph{AI (01)} that is typically used to encode a GTIN-14. Also known as: UCC-14. Standards: ISO/IEC 15417, ANSI/AIM BC4-1999 ISS, BS EN 799, GS1 General Specifications. \paragraph{Data and Options}\label{data-and-options-25} \begin{itemize} \tightlist \item The data field input is provided in \protect\hyperlink{gs1-application-identifier-standard-format}{GS1 Application Identifier standard format} and must be a solitary \emph{AI (01)} with thirteen or fourteen digits of a GTIN, i.e. \texttt{(01)...}. \item Arbitrary spacing may be placed between the digits to format the human readable text without interfering with the encoded data. \item If thirteen digits of primary data are supplied then the check digit is calculated automatically. Otherwise the provided check digit must be correct. \end{itemize} \paragraph{Examples}\label{examples-19} Identical symbols, input provided with and without a check digit: \begin{verbatim} Data: (01)04601234567893 Options: includetext Encoder: ean14 \end{verbatim} \begin{verbatim} Data: (01)0460123456789 Options: includetext Encoder: ean14 \end{verbatim} \includegraphics{images/ean14-1.eps} \hypertarget{itf-14}{\subsubsection{ITF-14}\label{itf-14}} \textbf{ITF-14} is an implementation of the \protect\hyperlink{interleaved-2-of-5}{Interleaved 2 of 5} barcode symbology that is typically used to encode a GTIN-14, GTIN-13 or GTIN-12. Also known as: UPC Shipping Container Symbol, SCS, UPC Case Code. Standards: ISO/IEC 16390, ANSI/AIM BC2-1995 USS, BS EN 801, GS1 General Specifications. \paragraph{Data and Options}\label{data-and-options-26} \begin{itemize} \tightlist \item The data consists of either thirteen or fourteen digits. \item Arbitrary spacing may be placed between the digits to format the human readable text without interfering with the encoded data. \item If thirteen digits are supplied then the check digit is calculated automatically. Otherwise the provided check digit must be correct. \end{itemize} \paragraph{Examples}\label{examples-20} Identical symbols, input provided with and without a check digit: \begin{verbatim} Data: 04601234567893 Options: includetext Encoder: itf14 \end{verbatim} \begin{verbatim} Data: 0460123456789 Options: includetext Encoder: itf14 \end{verbatim} \includegraphics{images/itf-14-1.eps} \hypertarget{sscc-18}{\subsubsection{SSCC-18}\label{sscc-18}} \textbf{SSCC-18} is an implementation of the \protect\hyperlink{gs1-128}{GS1-128} barcode symbology with \emph{AI (00)} that is typically used to encode an eighteen-digit shipping container serial number. Also known as: EAN-18, NVE. Standards: ISO/IEC 15417, ANSI/AIM BC4-1999 ISS, BS EN 799, GS1 General Specifications. \paragraph{Data and Options}\label{data-and-options-27} \begin{itemize} \tightlist \item The data field input is provided in \protect\hyperlink{gs1-application-identifier-standard-format}{GS1 Application Identifier standard format} and must be a solitary \emph{AI (00)} with seventeen or eighteen digits of a Serial Shipping Container Code, i.e. \texttt{(00)0...}. \item Arbitrary spacing may be placed between the digits to format the human readable text without interfering with the encoded data. \item The mandatory check digit is calculated automatically and any user provided check digit is discarded. \end{itemize} \paragraph{Example}\label{example-4} Identical symbols, input provided with and without a check digit: \begin{verbatim} Data: (00)006141411234567890 Options: includetext Encoder: sscc18 \end{verbatim} \begin{verbatim} Data: (00)00614141123456789 Options: includetext Encoder: sscc18 \end{verbatim} \includegraphics{images/sscc18-1.eps} \subsection{GS1 DataBar Family}\label{gs1-databar-family} \hypertarget{gs1-databar-omnidirectional}{\subsubsection{GS1 DataBar Omnidirectional}\label{gs1-databar-omnidirectional}} \textbf{GS1 DataBar Omnidirectional} is a fixed-length, linear barcode symbology that can be used to encode a GTIN-14 for use at point of sale. Also known as: RSS-14 Variants: \begin{itemize} \tightlist \item \protect\hyperlink{gs1-databar-stacked-omnidirectional}{GS1 DataBar Stacked Omnidirectional} is a variant of GS1 DataBar Omnidirectional for use where a taller, narrower symbol is required. \item \protect\hyperlink{gs1-composite-symbols}{GS1 DataBar Omnidirectional Composite} is a variant of GS1 DataBar Omnidirectional that should be used when a CC-A or CC-B GS1 composite 2D component is required. \end{itemize} Standards: ISO/IEC 24724, ITS Reduced Space Symbology (RSS), AIM ISS - Reduced Space Symbology (RSS), GS1 General Specifications. \paragraph{Data and Options}\label{data-and-options-28} \begin{itemize} \tightlist \item The data field input is provided in \protect\hyperlink{gs1-application-identifier-standard-format}{GS1 Application Identifier standard format} and must be a solitary \emph{AI (01)} with thirteen or fourteen digits of a GTIN, i.e. \texttt{(01)...}. \item If thirteen digits of \emph{AI (01)} data are supplied then the check digit is calculated automatically, otherwise the digits are encoded as supplied. \item The \textbf{linkage} option signifies the presence of a GS1 composite 2D component. \end{itemize} \paragraph{Examples}\label{examples-21} Identical symbols, input provided with and without a check digit: \begin{verbatim} Data: (01)24012345678905 Options: Encoder: databaromni \end{verbatim} \begin{verbatim} Data: (01)2401234567890 Options: Encoder: databaromni \end{verbatim} \includegraphics{images/databaromni-1.eps} \hypertarget{gs1-databar-stacked-omnidirectional}{\subsubsection{GS1 DataBar Stacked Omnidirectional}\label{gs1-databar-stacked-omnidirectional}} \textbf{GS1 DataBar Stacked Omnidirectional} is a fixed-length, stacked linear barcode symbology that can be used to encode a GTIN-14 for use a point of sale. Also known as: RSS-14 Stacked Omnidirectional. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{gs1-databar-omnidirectional}{GS1 DataBar Omnidirectional} is a variant of GS1 DataBar Stacked Omnidirectional for use where a shorter, wider symbol is required. \item \protect\hyperlink{gs1-composite-symbols}{GS1 DataBar Stacked Omnidirectional Composite} is a variant of GS1 DataBar Stacked Omnidirectional that should be used when a CC-A or CC-B \protect\hyperlink{gs1-composite-symbols}{GS1 composite} 2D component is required. \end{itemize} Standards: ISO/IEC 24724, ITS Reduced Space Symbology (RSS), AIM ISS - Reduced Space Symbology (RSS), GS1 General Specifications. \paragraph{Data and Options}\label{data-and-options-29} \begin{itemize} \tightlist \item The data field input is provided in \protect\hyperlink{gs1-application-identifier-standard-format}{GS1 Application Identifier standard format} and must be a solitary \emph{AI (01)} with thirteen or fourteen digits of a GTIN, i.e. \texttt{(01)...}. \item If thirteen digits of \emph{AI (01)} data are supplied then the check digit is calculated automatically, otherwise the digits are encoded as supplied. \item The \textbf{linkage} option signifies the presence of a GS1 composite 2D component. \end{itemize} \paragraph{Examples}\label{examples-22} Identical symbols, input provided with and without a check digit: \begin{verbatim} Data: (01)24012345678905 Options: Encoder: databarstackedomni \end{verbatim} \begin{verbatim} Data: (01)2401234567890 Options: Encoder: databarstackedomni \end{verbatim} \includegraphics{images/databarstackedomni-1.eps} \hypertarget{gs1-databar-expanded}{\subsubsection{GS1 DataBar Expanded}\label{gs1-databar-expanded}} \textbf{GS1 DataBar Expanded} is a variable-length, linear barcode symbology that can be used to encode a GTIN-14 alongside a number of other application identifiers for use at point of sale. Also known as: RSS Expanded. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{gs1-databar-expanded-stacked}{GS1 DataBar Expanded Stacked} is a variant of GS1 DataBar Expanded for use where a taller, narrower symbol is required. \item \protect\hyperlink{gs1-composite-symbols}{GS1 DataBar Expanded Composite} is a variant of GS1 DataBar Expanded that should be used when a CC-A or CC-B GS1 composite 2D component is required. \end{itemize} Standards: ISO/IEC 24724, ITS Reduced Space Symbology (RSS), AIM ISS - Reduced Space Symbology (RSS), GS1 General Specifications. \paragraph{Data and Options}\label{data-and-options-30} \begin{itemize} \tightlist \item The data field input is provided in \protect\hyperlink{gs1-application-identifier-standard-format}{GS1 Application Identifier standard format}. \item If the data contains a number of application identifiers matching any of the specifications below then they should be provided in this given order for maximum encoding efficiency: \begin{itemize} \tightlist \item \texttt{(01)9...(3103)...} \item \texttt{(01)9...(3202)...} \item \texttt{(01)9...(3203)...} \item \texttt{(01)9...(310x/320x)...(11/13/15/17)...} \item \texttt{(01)9...(310x/320x)...} \item \texttt{(01)9...(392x)...} \item \texttt{(01)9...(393x)...} \item \texttt{(01)...} \end{itemize} \item The \textbf{linkage} option signifies the presence of a GS1 composite 2D component. \end{itemize} \paragraph{Examples}\label{examples-23} \begin{verbatim} Data: (01)95012345678903(3103)000123 Options: Encoder: databarexpanded \end{verbatim} \includegraphics{images/databarexpanded-1.eps} \hypertarget{gs1-databar-expanded-stacked}{\subsubsection{GS1 DataBar Expanded Stacked}\label{gs1-databar-expanded-stacked}} \textbf{GS1 DataBar Expanded Stacked} is a variable-length, stacked-linear barcode symbology that can be used to encode a GTIN-14 alongside a number of other application identifiers for use at point of sale. Also known as: RSS Expanded Stacked. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{gs1-databar-expanded}{GS1 DataBar Expanded} is a variant of GS1 DataBar Expanded Stacked for use where a shorter, wider symbol is required. \item \protect\hyperlink{gs1-composite-symbols}{GS1 DataBar Expanded Stacked Composite} is a variant of GS1 DataBar Expanded Stacked that should be used when a CC-A or CC-B GS1 composite 2D component is required. \end{itemize} Standards: ISO/IEC 24724, ITS Reduced Space Symbology (RSS), AIM ISS - Reduced Space Symbology (RSS), GS1 General Specifications. \paragraph{Data and Options}\label{data-and-options-31} \begin{itemize} \tightlist \item The data field input is provided in \protect\hyperlink{gs1-application-identifier-standard-format}{GS1 Application Identifier standard format}. \item If the data contains a number of application identifiers matching any of the specifications below then they should be provided in this given order for maximum encoding efficiency: \begin{itemize} \tightlist \item \texttt{(01)9...(3103)...} \item \texttt{(01)9...(3202)...} \item \texttt{(01)9...(3203)...} \item \texttt{(01)9...(310x/320x)...(11/13/15/17)...} \item \texttt{(01)9...(310x/320x)...} \item \texttt{(01)9...(392x)...} \item \texttt{(01)9...(393x)...} \item \texttt{(01)...} \end{itemize} \item The \textbf{segments} option is used to specify the maximum number of segments per row which must be an even number. The default is \emph{4}. \item The \textbf{linkage} option signifies the presence of a GS1 composite 2D component. \end{itemize} \paragraph{Examples}\label{examples-24} \begin{verbatim} Data: (01)95012345678903(3103)000123 Options: segments=4 Encoder: databarexpandedstacked \end{verbatim} \includegraphics{images/databarexpandedstacked-1.eps} \hypertarget{gs1-databar-truncated}{\subsubsection{GS1 DataBar Truncated}\label{gs1-databar-truncated}} \textbf{GS1 DataBar Truncated} is a fixed-length, linear barcode symbology that can be used to encode a GTIN-14 for in-house applications. Also known as: RSS-14 Truncated. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{gs1-databar-stacked}{GS1 DataBar Stacked} is a variant of GS1 DataBar Truncated for use where a taller, narrower symbol is required. \item \protect\hyperlink{gs1-composite-symbols}{GS1 DataBar Truncated Composite} is a variant of GS1 DataBar Truncated that should be used when a CC-A or CC-B GS1 composite 2D component is required. \end{itemize} Standards: ISO/IEC 24724, ITS Reduced Space Symbology (RSS), AIM ISS - Reduced Space Symbology (RSS), GS1 General Specifications. \paragraph{Data and Options}\label{data-and-options-32} \begin{itemize} \tightlist \item The data field input is provided in \protect\hyperlink{gs1-application-identifier-standard-format}{GS1 Application Identifier standard format} and must be a solitary \emph{AI (01)} with 13 or 14 digits of a GTIN, i.e. \texttt{(01)...}. \item If thirteen digits of \emph{AI (01)} data are supplied then the check digit is calculated automatically, otherwise the digits are encoded as supplied. \item The \textbf{linkage} option signifies the presence of a GS1 composite 2D component. \end{itemize} \paragraph{Examples}\label{examples-25} Identical symbols, input provided with and without a check digit: \begin{verbatim} Data: (01)24012345678905 Options: Encoder: databartruncated \end{verbatim} \begin{verbatim} Data: (01)2401234567890 Options: Encoder: databartruncated \end{verbatim} \includegraphics{images/databartruncated-1.eps} \hypertarget{gs1-databar-stacked}{\subsubsection{GS1 DataBar Stacked}\label{gs1-databar-stacked}} \textbf{GS1 DataBar Stacked} is a fixed-length, stacked linear barcode symbology that can be used to encode a GTIN-14 for in-house applications. Also known as: RSS-14 Stacked. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{gs1-databar-truncated}{GS1 DataBar Truncated} is a variant of GS1 DataBar Stacked for use where a shorter, wider symbol is required. \item \protect\hyperlink{gs1-composite-symbols}{GS1 DataBar Stacked Composite} is a variant of GS1 DataBar Stacked that should be used when a CC-A or CC-B GS1 composite 2D component is required. \end{itemize} Standards: ISO/IEC 24724, ITS Reduced Space Symbology (RSS), AIM ISS - Reduced Space Symbology (RSS), GS1 General Specifications. \paragraph{Data and Options}\label{data-and-options-33} \begin{itemize} \tightlist \item The data field input is provided in \protect\hyperlink{gs1-application-identifier-standard-format}{GS1 Application Identifier standard format} and must be a solitary \emph{AI (01)} with thirteen or fourteen digits of a GTIN, i.e. \texttt{(01)...}. \item If thirteen digits of \emph{AI (01)} data are supplied then the check digit is calculated automatically, otherwise the digits are encoded as supplied. \item The \textbf{linkage} option signifies the presence of a GS1 composite 2D component. \end{itemize} \paragraph{Examples}\label{examples-26} Identical symbols, input provided with and without a check digit: \begin{verbatim} Data: (01)24012345678905 Options: Encoder: databarstacked \end{verbatim} \begin{verbatim} Data: (01)2401234567890 Options: Encoder: databarstacked \end{verbatim} \includegraphics{images/databarstacked-1.eps} \hypertarget{gs1-databar-limited}{\subsubsection{GS1 DataBar Limited}\label{gs1-databar-limited}} \textbf{GS1 DataBar Limited} is fixed-length, linear barcode symbology that can be used to encode a GTIN-14 beginning with \emph{0} or \emph{1} for in-house applications. Also known as: RSS Limited. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{gs1-composite-symbols}{GS1 DataBar Limited Composite} is a variant of GS1 DataBar Limited that should be used when a CC-A or CC-B GS1 composite 2D component is required. \end{itemize} Standards: ISO/IEC 24724, ITS Reduced Space Symbology (RSS), AIM ISS - Reduced Space Symbology (RSS), GS1 General Specifications. \paragraph{Data and Options}\label{data-and-options-34} \begin{itemize} \tightlist \item The data field input is provided in \protect\hyperlink{gs1-application-identifier-standard-format}{GS1 Application Identifier standard format} and must be a solitary \emph{AI (01)} with thirteen or fourteen digits of a GTIN starting with \emph{0} or \emph{1}, i.e. \texttt{(01)0...} or \texttt{(01)1...}. \item If thirteen digits of \emph{AI (01)} data are supplied then the check digit is calculated automatically, otherwise the digits are encoded as supplied. \item The \textbf{linkage} option signifies the presence of a GS1 composite 2D component. \end{itemize} \paragraph{Examples}\label{examples-27} Identical symbols, input provided with and without a check digit: \begin{verbatim} Data: (01)15012345678907 Options: Encoder: databarlimited \end{verbatim} \begin{verbatim} Data: (01)1501234567890 Options: Encoder: databarlimited \end{verbatim} \includegraphics{images/databarlimited-1.eps} \subsection{Postal Symbols}\label{postal-symbols} \subsubsection{Australia Post 4 State Customer Code}\label{australia-post-4-state-customer-code} The \textbf{Australia Post 4 State Customer Code} is a barcode used by the Australian Postal Service to encode the data on letter mail. \paragraph{Data and Options}\label{data-and-options-35} \begin{itemize} \tightlist \item The first two characters of the data field are digits used to specify the manditory FCC type of the symbols, either \texttt{11}, \texttt{45}, \texttt{59} or \texttt{67}. \item The next eight characters are digits that specify the manditory DPID. \item The number of remaining characters varies according to the given FCC code and these specify the contents of the customer information field in one of two alphabets: \begin{itemize} \tightlist \item The \textbf{custinfoenc} option should be supplied as \texttt{custinfoenc=numeric} if the customer information field is to be encoded using the numeric alphabet which can contain the digits 0-9. \item Otherwise the customer information field is encoded using the default character encoding, \texttt{custinfoenc=character}, which permits any of the following characters: \item Upper case letters \texttt{A-Z} \item Lower case letters \texttt{a-z} \item Digits \texttt{0-9} \item Symbols \texttt{space} and \texttt{\#} \end{itemize} \item The maditory Reed-Solomon check bars are calculated automatically. \end{itemize} \paragraph{Examples}\label{examples-28} FCC 62 symbol with character customer data: \begin{verbatim} Data: 6279438541AaaB 155 Options: custinfoenc=character Encoder: auspost \end{verbatim} \includegraphics{images/auspost-1.eps} FCC 59 symbol with numeric customer data: \begin{verbatim} Data: 593221132401234567 Options: custinfoenc=numeric Encoder: auspost \end{verbatim} \includegraphics{images/auspost-2.eps} \subsubsection{Deutsche Post Identcode}\label{deutsche-post-identcode} \textbf{Deutsche Post Identcode} is an implementation of the \protect\hyperlink{interleaved-2-of-5}{Interleaved 2 of 5} barcode symbology that is used by German Post for mail routing. Also known as: DHL Identcode. \paragraph{Data and Options}\label{data-and-options-36} \begin{itemize} \tightlist \item The data consists of a consecutive string of eleven or twelve digits consisting of: \begin{itemize} \tightlist \item Two-digit primary distribution centre identifier \item Three-digit customer identifier \item Six-digit mail piece identifier \item One-digit check digit (may be omitted) \end{itemize} \item If eleven digits are supplied then the check digit is calculated automatically. Otherwise the provided check digit must be correct. \end{itemize} \paragraph{Example}\label{example-5} Identical symbols, input provided with an without a check digit: \begin{verbatim} Data: 563102430313 Options: includetext Encoder: identcode \end{verbatim} \begin{verbatim} Data: 56310243031 Options: includetext Encoder: identcode \end{verbatim} \includegraphics{images/identcode-1.eps} \subsubsection{Deutsche Post Leitcode}\label{deutsche-post-leitcode} The \textbf{Deutsche Post Leitcode} barcode symbology is an implementation of the \protect\hyperlink{interleaved-2-of-5}{Interleaved 2 of 5} barcode that is used by German Post for mail routing. Also known as: DHL Leitcode. \paragraph{Data and Options}\label{data-and-options-37} \begin{itemize} \tightlist \item The data consists of a consecutive string of thirteen or fourteen digits consisting of: \begin{itemize} \tightlist \item Five-digit postal code \item Three-digit street identifier \item Three-digit house number \item Two-digit product code \item One-digit check digit (may be omitted) \end{itemize} \item If thirteen digits are supplied then the check digit is calculated automatically. Otherwise the provided check digit must be correct. \end{itemize} \paragraph{Examples}\label{examples-29} Identical symbols, input provided with and without a check digit: \begin{verbatim} Data: 21348075016401 Options: includetext Encoder: leitcode \end{verbatim} \begin{verbatim} Data: 2134807501640 Options: includetext Encoder: leitcode \end{verbatim} \includegraphics{images/leitcode-1.eps} \subsubsection{Japan Post 4 State Barcode}\label{japan-post-4-state-barcode} The \textbf{Japan Post 4 state barcode} symbology is used by the Japan Post service to encode the delivery point identifier on letter mail. \paragraph{Data and Options}\label{data-and-options-38} \begin{itemize} \tightlist \item The data may contain any of the following characters: \begin{itemize} \tightlist \item Capital letters \texttt{A-Z} \item Digits \texttt{0-9} \item Hyphen \texttt{-} \end{itemize} \end{itemize} \paragraph{Example}\label{example-6} \begin{verbatim} Data: 6540123789-A-K-Z Options: Encoder: japanpost \end{verbatim} \includegraphics{images/japanpost-1.eps} \subsubsection{MaxiCode}\label{maxicode} The \textbf{MaxiCode} barcode symbology is a 2D barcode based on a hexagonal matrix surrounding a bulls eye pattern. It can encode a structured carrier message and full 256 character extended-ASCII. Also known as: UPS Code, Code 6. Standards: ISO/IEC 16023, ANSI/AIM BC10 - ISS MaxiCode. \paragraph{Data and Options}\label{data-and-options-39} \begin{itemize} \tightlist \item The \textbf{mode} option is used to specify how the data is structured in the symbol: \begin{itemize} \tightlist \item \texttt{mode=2} - Formatted data containing a Structured Carrier Message with a numeric (US domestic) postal code. \item \texttt{mode=3} - Formatted data containing a Structured Carrier Message with an alphanumeric (international) postal code. \item \texttt{mode=4} - Unstructured data using standard error correction. \item \texttt{mode=5} - Unstructured data using enhanced error correction. \item \texttt{mode=6} - Barcode reader programming. \end{itemize} \item If \textbf{mode} is unspecified the encoder will default to selecting \texttt{mode=5} if the encoded length of the input data permits enhanced error correction, otherwise it will select \texttt{mode=4} which provides standard error correction. \item When the \textbf{parse} option is specified, any instances of \texttt{\^{}NNN} in the data field are replaced with their equivalent ASCII value, useful for specifying unprintable characters. \item If \texttt{mode=4}, \texttt{mode=5} or \texttt{mode=6} the data field may contain any extended ASCII data. \item If \texttt{mode=2} or \texttt{mode=3} the data field must begin with a properly structured carrier message, followed by any extended ASCII data. \item The structured carrier message contains a postal code, three-digit class of service and a three-digit ISO country code separated by \emph{GS} (ASCII 29) characters. It is formatted in the data field as follows: \texttt{{[}postal\ code{]}\^{}029{[}country\ code{]}\^{}029{[}service\ class{]}\^{}029}. If \texttt{mode=2} the postcode must be numeric, whilst if \texttt{mode=3} the postcode may contain up to six digits, upper case letters and spaces. \item Alternatively, messages may begin with the special application field identifier \texttt{{[})\textgreater{}\{RS\}01\{GS\}yy} where \texttt{\{RS\}} represents ASCII value 30, \texttt{\{GS\}} represents ASCII value 29 and \texttt{yy} is a two-digit year. In parse mode this is represented as \texttt{{[})\textgreater{}\^{}03001\^{}0299}. If \texttt{mode=2} or \texttt{mode=3} this must be immediately followed by the structured carrier message. \end{itemize} \paragraph{Examples}\label{examples-30} \begin{verbatim} Data: This is MaxiCode Options: Encoder: maxicode \end{verbatim} \begin{verbatim} Data: This is Maxi^067ode Options: parse Encoder: maxicode \end{verbatim} \includegraphics{images/maxicode-1.eps} \begin{verbatim} Data: 152382802^029840^029001^0291Z00004951^029UPSN^02906X610^029159^0291234567^0291/1^029^029Y^029634 ALPHA DR^029PITTSBURGH^029PA^029^004 Options: mode=2 parse Encoder: maxicode \end{verbatim} \includegraphics{images/maxicode-2.eps} \begin{verbatim} Data: ABC123^029840^029001^0291Z00004951^029UPSN^02906X610^029159^0291234567^0291/1^029^029Y^029634 ALPHA DR^029PITTSBURGH^029PA^029^004 Options: mode=3 parse Encoder: maxicode \end{verbatim} \includegraphics{images/maxicode-3.eps} \begin{verbatim} Data: [\)>^03001^02996152382802^029840^029001^0291Z00004951^029UPSN^02906X610^029159^0291234567^0291/1^029^029Y^029634 ALPHA DR^029PITTSBURGH^029PA^029^004 Options: mode=2 parse Encoder: maxicode \end{verbatim} \includegraphics{images/maxicode-4.eps} \subsubsection{Royal Mail 4 State Customer Code}\label{royal-mail-4-state-customer-code} The \textbf{Royal Mail 4 State Customer Code} is a barcode symbology used by the British Postal Service to encode the postcode and delivery point identifier on letter mail. Also known as: RM4SCC, CBC. \paragraph{Data and Options}\label{data-and-options-40} \begin{itemize} \tightlist \item The data may contain any of the following characters from the postcode and DPID: \begin{itemize} \tightlist \item Capital letters A-Z \item Digits 0-9 \end{itemize} \item The maditory checksum digit is calculated automatically and must not be included in the data field \end{itemize} \paragraph{Example}\label{example-7} \begin{verbatim} Data: LE28HS9Z Options: includetext Encoder: royalmail \end{verbatim} \includegraphics{images/rm4scc-1.eps} \subsubsection{Royal TNT Post 4 state barcode}\label{royal-tnt-post-4-state-barcode} The \textbf{Royal TNT Post 4 state barcode} symbology is used by the Dutch Postal Service to encode the delivery point identifier on letter mail. Also known as: KIX. \paragraph{Data and Options}\label{data-and-options-41} \begin{itemize} \tightlist \item The data may contain any of the following characters from the DPID: \begin{itemize} \tightlist \item Capital letters \texttt{A-Z} \item Digits \texttt{0-9} \end{itemize} \end{itemize} \paragraph{Example}\label{example-8} \begin{verbatim} Data: 1231FZ13XHS Options: includetext Encoder: kix \end{verbatim} \includegraphics{images/kix-1.eps} \subsubsection{USPS Intelligent Mail}\label{usps-intelligent-mail} The \textbf{USPS Intelligent Mail} barcode is used by the US Postal service to encode the delivery and sender information on letter mail. Also known as: USPS OneCode. Standards: USPS-STD-11. \paragraph{Data and Options}\label{data-and-options-42} \begin{itemize} \tightlist \item The data contains 31 digits representing the following: \begin{itemize} \tightlist \item Barcode Identifier - two digits \item Service Type Identifier - three digits \item Mailer ID, Sequence Number - either six then nine digits respectively or nine then six digits respectively \item Delivery Point ZIP Code - eleven digits \end{itemize} \item The mandatory checksum digit is calculated automatically and must not be included in the data field. \end{itemize} \paragraph{Example}\label{example-9} \begin{verbatim} Data: 0123456709498765432101234567891 Options: includetext Encoder: onecode \end{verbatim} \includegraphics{images/onecode-1.eps} \subsubsection{USPS POSTNET}\label{usps-postnet} The \textbf{USPS POSTNET} barcode symbology is used by the US Postal service to encode the ZIP code information on letter mail. \paragraph{Data and Options}\label{data-and-options-43} \begin{itemize} \tightlist \item The data field contains the digits from the ZIP code, without dashes. \item The mandatory checksum is calculated automatically and must not be included in the data field. \end{itemize} \paragraph{Example}\label{example-10} \begin{verbatim} Data: 12345123412 Options: Encoder: postnet \end{verbatim} \includegraphics{images/postnet-1.eps} \subsubsection{USPS PLANET}\label{usps-planet} The \textbf{USPS PLANET} barcode symbology is used by the US Postal service to encode the ZIP code information on letter mail. \paragraph{Data and Options}\label{data-and-options-44} \begin{itemize} \tightlist \item The data field contains eleven or thirteen digits, without dashes. \item The mandatory checksum is calculated automatically and must not be included in the data field. \end{itemize} \paragraph{Example}\label{example-11} \begin{verbatim} Data: 01234567890 Options: Encoder: planet \end{verbatim} \includegraphics{images/planet-1.eps} \subsubsection{USPS FIM Symbols}\label{usps-fim-symbols} The \textbf{USPS FIM} encoder is used to generate static predefined barcode symbols. \paragraph{Data and Options}\label{data-and-options-45} \begin{itemize} \tightlist \item The data field accepts one of the following values: \begin{itemize} \tightlist \item \texttt{fima} - US Postal Service FIM-A symbol \item \texttt{fimb} - US Postal Service FIM-B symbol \item \texttt{fimc} - US Postal Service FIM-C symbol \item \texttt{fimd} - US Postal Service FIM-D symbol \end{itemize} \end{itemize} \paragraph{Examples}\label{examples-31} A USPS FIM A symbol: \begin{verbatim} Data: fima Options: Encoder: symbol \end{verbatim} \includegraphics{images/fima-1.eps} A USPS FIM B symbol: \begin{verbatim} Data: fimb Options: Encoder: symbol \end{verbatim} \includegraphics{images/fimb-1.eps} A USPS FIM C symbol: \begin{verbatim} Data: fimc Options: Encoder: symbol \end{verbatim} \includegraphics{images/fimc-1.eps} A USPS FIM D symbol: \begin{verbatim} Data: fimd Options: Encoder: symbol \end{verbatim} \includegraphics{images/fimd-1.eps} \subsection{Pharmaceutical Symbols}\label{pharmaceutical-symbols} \subsubsection{Italian Pharmacode}\label{italian-pharmacode} \textbf{Italian Pharmacode} is a discrete, fixed length, self-checking barcode symbology used for pharmaceutical products in Italy. Also known as: Code 32, IMH, Radix 32. \paragraph{Data and Options}\label{data-and-options-46} \begin{itemize} \tightlist \item The data field must contain either eight or nine digits from the code. The leading \emph{A} which is provided in some applications must be omitted. \item The mandatory check digit is calculated automatically if it is not provided. \end{itemize} \paragraph{Examples}\label{examples-32} Identical symbols, input provided with and without a check digit: \begin{verbatim} Data: 012345676 Options: includetext Encoder: code32 \end{verbatim} \begin{verbatim} Data: 01234567 Options: includetext Encoder: code32 \end{verbatim} \includegraphics{images/code32-1.eps} \hypertarget{pharmacode}{\subsubsection{Pharmacode}\label{pharmacode}} \textbf{Pharmacode} is a binary barcode symbology that is used by the Pharmaceutical industry. Also known as: Pharmaceutical Binary Code. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{two-track-pharmacode}{Two-track Pharmacode} is a variant of the Pharmacode barcode. \end{itemize} \paragraph{Data and Options}\label{data-and-options-47} \begin{itemize} \tightlist \item The data field must contain a number between \texttt{3} and \texttt{131070} inclusive. \item The \textbf{nwidth}, \textbf{wwidth} and \textbf{swidth} options can be used to specify a custom width (in points) for the narrow bars, wide bars and inter-bar spaces respectively. \end{itemize} \paragraph{Example}\label{example-12} \begin{verbatim} Data: 117480 Options: Encoder: pharmacode \end{verbatim} \includegraphics{images/pharmacode-1.eps} \hypertarget{two-track-pharmacode}{\subsubsection{Two-Track Pharmacode}\label{two-track-pharmacode}} \textbf{Two-Track Pharmacode} is a binary barcode symbology used by the Pharmaceutical industry. Also known as: Two-track Pharmaceutical Binary Code. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{pharmacode}{Pharmacode} is a variant of the Two-track Pharmacode barcode. \end{itemize} \paragraph{Data and Options}\label{data-and-options-48} \begin{itemize} \tightlist \item The data field must contain a number between \texttt{4} and \texttt{64570080} inclusive. \end{itemize} \paragraph{Example}\label{example-13} \begin{verbatim} Data: 117480 Options: Encoder: pharmacode2 \end{verbatim} \includegraphics{images/pharmacode2-1.eps} \subsubsection{PZN}\label{pzn} \textbf{PZN} is a discrete, fixed length, self-checking barcode symbology used for pharmaceutical products in Germany. Also known as: Pharmazentralnummer. Variants: \begin{itemize} \tightlist \item PZN-7. \item PZN-8. \end{itemize} \paragraph{Data and Options}\label{data-and-options-49} \begin{itemize} \tightlist \item For the default PZN7 encoding, the data field must contain six digits or seven digits. \item The \textbf{pzn8} option specifies that a PZN8 symbol is required, in which case the data field must contain seven digits or eight digits. \item The mandatory check digit is calculated automatically if not provided. \item Note: by definition, not all six-digit or seven-digit number sequences are valid inputs. \end{itemize} \paragraph{Examples}\label{examples-33} Identical PZN7 symbols, input provided with and without a check digit: \begin{verbatim} Data: 1234562 Options: includetext Encoder: pzn \end{verbatim} \begin{verbatim} Data: 123456 Options: includetext Encoder: pzn \end{verbatim} \includegraphics{images/pzn-1.eps} Identical PZN8 symbols, input provided with and without a check digit: \begin{verbatim} Data: 0275808 Options: pzn8 includetext Encoder: pzn \end{verbatim} \begin{verbatim} Data: 02758089 Options: pzn8 includetext Encoder: pzn \end{verbatim} \includegraphics{images/pzn-2.eps} \hypertarget{hibc-symbols}{\subsection{HIBC Symbols}\label{hibc-symbols}} \textbf{HIBC barcodes} use a number of general symbologies as carrier symbols for data structured according to the LIC and PAS structured data definitions. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{hibc-code-39}{HIBC Code 39} is a variant of \protect\hyperlink{code-39}{Code 39}. \item \protect\hyperlink{hibc-code-128}{HIBC Code 128} is a variant of \protect\hyperlink{code-128}{Code 128}. \item \protect\hyperlink{hibc-pdf417}{HIBC PDF417} is a variant of \protect\hyperlink{pdf417}{PDF417}. \item \protect\hyperlink{hibc-micropdf417}{HIBC MicroPDF417} is a variant of \protect\hyperlink{micropdf417}{MicroPDF417}. \item \protect\hyperlink{hibc-qr-code}{HIBC QR Code} is a variant of \protect\hyperlink{qr-code}{QR Code}. \item \protect\hyperlink{hibc-data-matrix}{HIBC Data Matrix} is a variant of \protect\hyperlink{data-matrix}{Data Matrix}. \item \protect\hyperlink{hibc-codablock-f}{HIBC Codablock F} is a variant of \protect\hyperlink{codablock-f}{Codablock F}. \end{itemize} Standards: ANSI/HIBC Provider Applications Standard, ANSI/HIBC Supplier Labelling Standard, ANSI/HIBC Positive Identification for Patient Safety, ANSI/HIBC Syntax Standard. \paragraph{Data and Options}\label{data-and-options-50} \begin{itemize} \tightlist \item The data should be pre-encoded to describe the intended barcode content. \item The HIBC \emph{+} character is prefixed automatically. \item The mandatory HIBC check character is automatically appended to the input. \end{itemize} \hypertarget{hibc-code-39}{\subsubsection{HIBC Code 39}\label{hibc-code-39}} \begin{verbatim} Data: A123BJC5D6E71 Options: includetext Encoder: hibccode39 \end{verbatim} \includegraphics{images/hibccode39-1.eps} \hypertarget{hibc-code-128}{\subsubsection{HIBC Code 128}\label{hibc-code-128}} \begin{verbatim} Data: A123BJC5D6E71 Options: includetext Encoder: hibccode128 \end{verbatim} \includegraphics{images/hibccode128-1.eps} \hypertarget{hibc-pdf417}{\subsubsection{HIBC PDF417}\label{hibc-pdf417}} \begin{verbatim} Data: A123BJC5D6E71 Options: Encoder: hibcpdf417 \end{verbatim} \includegraphics{images/hibcpdf417-1.eps} \hypertarget{hibc-micropdf417}{\subsubsection{HIBC MicroPDF417}\label{hibc-micropdf417}} \begin{verbatim} Data: A123BJC5D6E71 Options: Encoder: hibcmicropdf417 \end{verbatim} \includegraphics{images/hibcmicropdf417-1.eps} \hypertarget{hibc-qr-code}{\subsubsection{HIBC QR Code}\label{hibc-qr-code}} \begin{verbatim} Data: A123BJC5D6E71 Options: Encoder: hibcqrcode \end{verbatim} \includegraphics{images/hibcqrcode-1.eps} \hypertarget{hibc-data-matrix}{\subsubsection{HIBC Data Matrix}\label{hibc-data-matrix}} \begin{verbatim} Data: A123BJC5D6E71 Options: Encoder: hibcdatamatrix \end{verbatim} \includegraphics{images/hibcdatamatrix-1.eps} \hypertarget{hibc-codablock-f}{\subsubsection{HIBC Codablock F}\label{hibc-codablock-f}} \begin{verbatim} Data: A123BJC5D6E71 Options: Encoder: hibccodablockf \end{verbatim} \includegraphics{images/hibccodablockf-1.eps} \subsection{Less-used Symbols}\label{less-used-symbols} \subsubsection{BC412}\label{bc412} The \textbf{BC412} barcode symbology is single width, variable length barcode that is used for silicon wafer identification by the semiconductor manufacturing industry. Also known as: BC412 SEMI, BC412 IBM. \paragraph{Data and Options}\label{data-and-options-51} \begin{itemize} \tightlist \item The data field can hold any of the following: \begin{itemize} \tightlist \item Numbers 0-9 \item Capital letters A-Z, excluding O \end{itemize} \item The \textbf{includestartstop} option enables the display of start and stop bars. \item The \textbf{includecheck} option calculates the check character. \item The \textbf{includecheckintext} option makes the calculated checksum appear in the human readable text. \item The \textbf{semi} option enables conformance to the SEMI standard by enabling start and stop bars as well as a check character. \item The \textbf{inkspread} option can be used to adjust the width of the bars. \end{itemize} \paragraph{Examples}\label{examples-34} \begin{verbatim} Data: BC412 Options: includecheck Encoder: bc412 \end{verbatim} \includegraphics{images/bc412-1.eps} \begin{verbatim} Data: BC412 Options: includestartstop Encoder: bc412 \end{verbatim} \includegraphics{images/bc412-2.eps} \begin{verbatim} Data: BC412 Options: semi Encoder: bc412 \end{verbatim} \includegraphics{images/bc412-3.eps} \subsubsection{Channel Code}\label{channel-code} \textbf{Channel Code} is a linear, continuous, self-checking, bidirectional barcode symbology that encodes between two and seven digits in a short space. Standards: ANSI/AIM BC12 - USS Channel Code. \paragraph{Data and Options}\label{data-and-options-52} \begin{itemize} \tightlist \item The data field can hold zero prefixed values from any of the following ranges: \begin{itemize} \tightlist \item Channel 3: \texttt{00-26} \item Channel 4: \texttt{000-292} \item Channel 5: \texttt{0000-3493} \item Channel 6: \texttt{00000-44072} \item Channel 7: \texttt{000000-576688} \item Channel 8: \texttt{0000000-7742862} \end{itemize} \item The channel is determined to be one more than the number of digits given in the data field. \item The \textbf{shortfinder} option generates a symbol with a shortened finder pattern. \item The \textbf{includecheck} option appends an optional check bar suffix. \end{itemize} \paragraph{Examples}\label{examples-35} A channel 3 symbol holding the value five: \begin{verbatim} Data: 05 Options: includetext Encoder: channelcode \end{verbatim} \includegraphics{images/channelcode-1.eps} A channel 4 symbol holding the value 123: \begin{verbatim} Data: 123 Options: includetext Encoder: channelcode \end{verbatim} \includegraphics{images/channelcode-2.eps} A channel 4 symbol holding the value five including optional check bars: \begin{verbatim} Data: 005 Options: includetext includecheck Encoder: channelcode \end{verbatim} \includegraphics{images/channelcode-3.eps} A channel 3 symbol holding the value 26 with a shorteded finder pattern: \begin{verbatim} Data: 26 Options: shortfinder includetext Encoder: channelcode \end{verbatim} \includegraphics{images/channelcode-4.eps} \subsubsection{Codabar}\label{codabar} \textbf{Codabar} is a linear, discrete, self-checking, bidirectional barcode symbology that can encode digits, six symbols and four delimiter characters. It is primarily used by libraries and blood banks, photo labs and FedEx airbills. Also known as: Rationalized Codabar, Ames Code, NW-7, USD-4, USS-Codabar, ABC Codabar, Monarch, Code 2 of 7. Standards: ANSI/AIM BC3 - USS Codabar, BS EN 798. \paragraph{Data and Options}\label{data-and-options-53} \begin{itemize} \tightlist \item The data field must start and stop with one of the following delimiters \begin{itemize} \tightlist \item \texttt{ABCD} \item \texttt{TNE*} (with the \emph{altstartstop} option) \end{itemize} \item The data field can otherwise hold any of the following \begin{itemize} \tightlist \item Digits 0-9 \item Symbols \texttt{-\$:/.+} \end{itemize} \item The \textbf{altstartstop} option specifies that the alternative set of delimiter characters is in use. \item The \textbf{includecheck} option calculates the check digit. \item The \textbf{includecheckintext} option makes the calculated check characters appear in the human readable text. \end{itemize} \paragraph{Example}\label{example-14} \begin{verbatim} Data: A0123456789B Options: includecheck includetext includecheckintext Encoder: rationalizedCodabar \end{verbatim} \includegraphics{images/codabar-1.eps} \hypertarget{codablock-f}{\subsubsection{Codablock F}\label{codablock-f}} The \textbf{Codablock F} barcode symbology is 2D stacked-linear barcode that consists of a number of stacked \protect\hyperlink{code-128}{Code 128} symbols. It can encode full 256 character extended-ASCII. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{hibc-symbols}{HIBC Codablock F} is a variant of Codablock F that should be used when encoding HIBC formatted data. \end{itemize} Standards: USS Codablock F. \paragraph{Data and Options}\label{data-and-options-54} \begin{itemize} \tightlist \item The data field can consist of any extended-ASCII data. \item \emph{FNC4} function characters will be inserted automatically to allow the encoding of extended ASCII characters. \item When the \textbf{parse} option is specified, any instances of \texttt{\^{}NNN} in the data field are replaced with their equivalent ASCII value, useful for specifying unprintable characters. \item When the \textbf{parsefnc} option is specified, non-data function characters can be specified by \texttt{\^{}FNC1} or \texttt{\^{}FNC3}. \item The \textbf{columns} option specifies the number of columns in the symbol, default 8. \item The \textbf{rows} option specifies the number of rows in the symbol, between 2 and 44. \item If \textbf{rows} is unspecified the encoder will default to the smallest number of rows that can hold the given data. \item The \textbf{raw} option denotes that the data field is providing the input as a pre-encoded codewords in \texttt{\^{}NNN} format, suitable for direct low-level encoding. \item The \textbf{rowheight} option specifies the height of the bars in each row in points. The default is 10. \item The \textbf{sepheight} option specifies the height of the separator bars enclosing the rows in points. The default is 1. \end{itemize} \paragraph{Examples}\label{examples-36} \begin{verbatim} Data: Codablock F Options: Encoder: codablockf \end{verbatim} \includegraphics{images/codablockf-1.eps} \begin{verbatim} Data: CODABLOCK F 34567890123456789010040digit Options: columns=8 rows=5 Encoder: codablockf \end{verbatim} \includegraphics{images/codablockf-2.eps} \begin{verbatim} Data: Short bars, fat seperators Options: columns=10 rows=8 rowheight=6 sepheight=2 Encoder: codablockf \end{verbatim} \includegraphics{images/codablockf-3.eps} \subsubsection{Code 11}\label{code-11} \textbf{Code 11} is a linear, discrete, non-self-checking, bidirectional, numeric barcode symbology that is primarily used for labelling telecommunication equipment. Also known as: USD-8. \paragraph{Data and Options}\label{data-and-options-55} \begin{itemize} \tightlist \item The data consists of digits and the dash character \emph{-}. \item The \textbf{includecheck} option calculates the check digits. \item For less than 10 data digits a single check digit is used. \item For 10 or more data digits two check digits are used. \end{itemize} \paragraph{Example}\label{example-15} \begin{verbatim} Data: 0123456789 Options: includecheck includetext includecheckintext Encoder: code11 \end{verbatim} \includegraphics{images/code11-1.eps} \subsubsection{Code 16K}\label{code-16k} The \textbf{Code 16K} barcode symbology is 2D stacked-linear barcode that can encode full 256 character extended-ASCII with the use of the \emph{FNC4} shift character. Also known as: USS-16K Standards: ANSI/AIM BC7 - USS Code 16K, BS EN 12323. \paragraph{Data and Options}\label{data-and-options-56} \begin{itemize} \tightlist \item The input can consist of any 256-bit extended ASCII data. \item \emph{FNC4} function characters will be inserted automatically to allow the encoding of extended ASCII characters. \item When the \textbf{parse} option is specified, any instances of \texttt{\^{}NNN} in the data field are replaced with their equivalent ASCII value, useful for specifying unprintable characters. \item When the \textbf{parsefnc} option is specified, non-data function characters can be specified by \texttt{\^{}FNC1} through \texttt{\^{}FNC3}. \item The \textbf{mode} option specifies the mode for the symbol. It is usual to leave this unspecified in which case the most appropriate mode that results in the shortest symbol is automatically selected based in the input data. \begin{itemize} \tightlist \item \texttt{mode=0} - Starting code set A \item \texttt{mode=1} - Starting code set B \item \texttt{mode=2} - Starting code set C \item \texttt{mode=3} - Starting code set B with implied \emph{FNC1} \item \texttt{mode=4} - Starting code set C with implied \emph{FNC1} \item \texttt{mode=5} - Starting code set C with implied \emph{Shift B} \item \texttt{mode=6} - Starting code set C with implied \emph{Double Shift B} \end{itemize} \item The \textbf{pos} option specifies this symbol to be part of multi-part structured data. For example \texttt{pos=25} specifies this to be the second symbol in a group of five symbols. \item The \textbf{rows} option specifies the number of rows in the symbol, between two and sixteen. \item If \textbf{rows} is unspecified the encoder will default to the smallest number of rows that can hold the given data. \item The \textbf{raw} option denotes that the data field is providing the input as a pre-encoded codewords in \texttt{\^{}NNN} format, suitable for direct low-level encoding. \item The \textbf{rowheight} option specifies the height of the bars in each row in points. The default is 10. \item The \textbf{sepheight} option specifies the height of the separator bars enclosing the rows in points. The default is 1. \end{itemize} \paragraph{Examples}\label{examples-37} \begin{verbatim} Data: Abcd-1234567890-wxyZ Options: Encoder: code16k \end{verbatim} \includegraphics{images/code16k-1.eps} \begin{verbatim} Data: Code 16K Options: rows=10 Encoder: code16k \end{verbatim} \includegraphics{images/code16k-2.eps} \begin{verbatim} Data: Short bars, fat seperators Options: rows=8 rowheight=5 sepheight=2 Encoder: code16k \end{verbatim} \includegraphics{images/code16k-3.eps} \hypertarget{code-25}{\subsubsection{Code 25}\label{code-25}} \textbf{Code 2 of 5} is a simple low density numeric barcode symbology. Also known as: Code 25, Industrial 2 of 5, Standard 2 of 5 Variants: \begin{itemize} \tightlist \item \protect\hyperlink{iata-2-of-5}{IATA 2 of 5}, Computer Identics 2 of 5. \item \protect\hyperlink{datalogic-2-of-5}{Datalogic 2 of 5}. \item \protect\hyperlink{matrix-2-of-5}{Matrix 2 of 5}. \item \protect\hyperlink{coop-2-of-5}{COOP 2 of 5}. \end{itemize} \paragraph{Data and Options}\label{data-and-options-57} \begin{itemize} \tightlist \item The data consists of any number of digits. \item The \textbf{includecheck} option calculates the check digit. \item The \textbf{version} option determines which variant to use: \begin{itemize} \tightlist \item \texttt{version=industrial} (default) - Industrial 2 of 5. \item \texttt{version=iata} - \emph{Deprecated: Use \protect\hyperlink{iata-2-of-5}{IATA 2 of 5}} \item \texttt{version=datalogic} - \emph{Deprecated: Use \protect\hyperlink{datalogic-2-of-5}{Datalogic 2 of 5}} \item \texttt{version=matrix} - \emph{Deprecated: Use \protect\hyperlink{matrix-2-of-5}{Matrix 2 of 5}} \item \texttt{version=coop} - \emph{Deprecated: Use \protect\hyperlink{coop-2-of-5}{COOP 2 of 5}} \end{itemize} \end{itemize} \paragraph{Examples}\label{examples-38} \begin{verbatim} Data: 01234567 Options: Encoder: code2of5 \end{verbatim} \includegraphics{images/code25-1.eps} \hypertarget{iata-2-of-5}{\subsubsection{IATA 2 of 5}\label{iata-2-of-5}} \textbf{IATA 2 of 5} is a variant of the \protect\hyperlink{code-25}{Code 2 of 5} barcode symbology. Also known as: Computer Identics 2 of 5. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{code-25}{Industrial 2 of 5}, Standard 2 of 5. \item \protect\hyperlink{datalogic-2-of-5}{Datalogic 2 of 5}. \item \protect\hyperlink{matrix-2-of-5}{Matrix 2 of 5}. \item \protect\hyperlink{coop-2-of-5}{COOP 2 of 5}. \end{itemize} \paragraph{Data and Options}\label{data-and-options-58} \begin{itemize} \tightlist \item The data consists of any number of digits. \item The \textbf{includecheck} option calculates the check digit. \end{itemize} \paragraph{Examples}\label{examples-39} \begin{verbatim} Data: 01234567 Options: includetext includecheck includecheckintext Encoder: iata2of5 \end{verbatim} \includegraphics{images/code25-2.eps} \hypertarget{matrix-2-of-5}{\subsubsection{Matrix 2 of 5}\label{matrix-2-of-5}} \textbf{Matrix 2 of 5} is a variant of the \protect\hyperlink{code-25}{Code 2 of 5} barcode symbology. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{code-25}{Industrial 2 of 5}, Standard 2 of 5. \item \protect\hyperlink{iata-2-of-5}{IATA 2 of 5}, Computer Identics 2 of 5. \item \protect\hyperlink{datalogic-2-of-5}{Datalogic 2 of 5}. \item \protect\hyperlink{coop-2-of-5}{COOP 2 of 5}. \end{itemize} \paragraph{Data and Options}\label{data-and-options-59} \begin{itemize} \tightlist \item The data consists of any number of digits. \item The \textbf{includecheck} option calculates the check digit. \end{itemize} \hypertarget{datalogic-2-of-5}{\subsubsection{Datalogic 2 of 5}\label{datalogic-2-of-5}} \textbf{Datalogic 2 of 5} is a variant of the \protect\hyperlink{code-25}{Code 2 of 5} barcode symbology. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{code-25}{Industrial 2 of 5}, Standard 2 of 5. \item \protect\hyperlink{iata-2-of-5}{IATA 2 of 5}, Computer Identics 2 of 5. \item \protect\hyperlink{matrix-2-of-5}{Matrix 2 of 5}. \item \protect\hyperlink{coop-2-of-5}{COOP 2 of 5}. \end{itemize} \paragraph{Data and Options}\label{data-and-options-60} \begin{itemize} \tightlist \item The data consists of any number of digits. \item The \textbf{includecheck} option calculates the check digit. \end{itemize} \hypertarget{coop-2-of-5}{\subsubsection{COOP 2 of 5}\label{coop-2-of-5}} \textbf{COOP 2 of 5} is a variant of the \protect\hyperlink{code-25}{Code 2 of 5} barcode symbology. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{code-25}{Industrial 2 of 5}, Standard 2 of 5. \item \protect\hyperlink{iata-2-of-5}{IATA 2 of 5}, Computer Identics 2 of 5. \item \protect\hyperlink{datalogic-2-of-5}{Datalogic 2 of 5}. \item \protect\hyperlink{matrix-2-of-5}{Matrix 2 of 5}. \end{itemize} \paragraph{Data and Options}\label{data-and-options-61} \begin{itemize} \tightlist \item The data consists of any number of digits. \item The \textbf{includecheck} option calculates the check digit. \end{itemize} \subsubsection{Code 49}\label{code-49} The \textbf{Code 49} barcode symbology is 2D stacked-linear barcode that can encode 128 character ASCII. Also known as: USS-49. Standards: ANSI/AIM BC6 - USS Code 49. \paragraph{Data and Options}\label{data-and-options-62} \begin{itemize} \tightlist \item The input can consist of any ASCII data. \item When the \textbf{parse} option is specified, any instances of \texttt{\^{}NNN} in the data field are replaced with their equivalent ASCII value, useful for specifying unprintable characters. \item When the \textbf{parsefnc} option is specified, non-data function characters can be specified by \texttt{\^{}FNC1} through \texttt{\^{}FNC3}. \item The \textbf{mode} option specifies the mode for the symbol. It is usual to leave this unspecified in which case the most appropriate mode that results in the shortest symbol is automatically selected based in the input data. \begin{itemize} \tightlist \item \texttt{mode=0} - regular alphanumeric mode \item \texttt{mode=1} - append mode \item \texttt{mode=2} - numeric mode \item \texttt{mode=3} - group alphanumeric mode \item \texttt{mode=4} - alphanumeric mode starting shift 1 \item \texttt{mode=5} - alphanumeric mode starting shift 2 \item \texttt{mode=6} - reserved \end{itemize} \item The \textbf{pos} option specifies this symbol to be part of multi-part structured data, i.e.~selecting \texttt{mode=3}. For example \texttt{pos=25} specifies this to be the second symbol in a group of five symbols. \item The \textbf{rows} option specifies the number of rows in the symbol, between \emph{2} and \emph{8}. \item If \textbf{rows} is unspecified the encoder will default to the smallest number of rows that can hold the given data. \item The \textbf{rowheight} option specifies the height of the bars in each row in points. The default is \emph{10}. \item The \textbf{sepheight} option specifies the height of the separator bars enclosing the rows in points. The default is \emph{1}. \end{itemize} \paragraph{Examples}\label{examples-40} \begin{verbatim} Data: MULTIPLE ROWS IN CODE 49 Options: Encoder: code49 \end{verbatim} \includegraphics{images/code49-1.eps} \begin{verbatim} Data: CODE 49 Options: rows=8 Encoder: code49 \end{verbatim} \includegraphics{images/code49-2.eps} \begin{verbatim} Data: Short bars, fat seperators Options: rows=8 rowheight=6 sepheight=2 Encoder: code49 \end{verbatim} \includegraphics{images/code49-3.eps} \subsubsection{Code One}\label{code-one} \textbf{Code One} was the earliest public domain 2D matrix-style barcode. It is used by the health care and recycling industry and can encode full 256 character extended-ASCII. Also known as: Code 1, Code 1S. Standards: AIM USS - Code One. \paragraph{Data and Options}\label{data-and-options-63} \begin{itemize} \tightlist \item The data field can consist of any ASCII data for \emph{standard} and \emph{T-type} symbols. \item Note: \emph{S-type} symbols are special in that they represent a numeric value so may only contain digits. \item When the \textbf{parse} option is specified, any instances of \texttt{\^{}NNN} in the data field are replaced with their equivalent ASCII value, useful for specifying unprintable characters, e.g. \texttt{\^{}029} for \emph{GS}, etc. \item When the \textbf{parsefnc} option is specified, non-data function characters can be specified by \texttt{\^{}FNC1}, \texttt{\^{}FNC3}. \item The \textbf{version} option is used to specify the size and type of the symbol: \begin{itemize} \tightlist \item \texttt{A}, \texttt{B}, \texttt{C}, \texttt{D}, \texttt{E}, \texttt{F}, \texttt{G}, \texttt{H} - for standard format symbols (default automatic selection) \item \texttt{version=T-16}, \texttt{version=T-32}, \texttt{version=T-48} - \emph{T-type} symbols \item \texttt{version=S-10}, \texttt{version=S-20}, \texttt{version=S-30} - \emph{S-type} symbols \end{itemize} \end{itemize} \paragraph{Examples}\label{examples-41} \begin{verbatim} Data: Code One Options: Encoder: codeone \end{verbatim} \includegraphics{images/codeone-1.eps} \begin{verbatim} Data: Code One Options: version=C Encoder: codeone \end{verbatim} \includegraphics{images/codeone-2.eps} \begin{verbatim} Data: Code One Options: version=T-32 Encoder: codeone \end{verbatim} \includegraphics{images/codeone-3.eps} \begin{verbatim} Data: 406990 Options: version=S-10 Encoder: codeone \end{verbatim} \includegraphics{images/codeone-4.eps} \hypertarget{msi-plessey}{\subsubsection{MSI Plessey}\label{msi-plessey}} \textbf{MSI Plessey} is a continuous, non-self-checking, arbitrary length, numeric barcode symbology. Also known as: MSI, MSI Modified Plessey. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{plessey}{Plessey (UK)} is the original barcode upon which MSI Modified Plessey was based. \end{itemize} \paragraph{Data and Options}\label{data-and-options-64} \begin{itemize} \tightlist \item The data can consist of any number of digits. \item The \textbf{includecheck} option calculates the check digit or check digits. \item The \textbf{includecheckintext} option makes the calculated check characters appear in the human readable text. \item The \textbf{checktype} option is used to specify the type of checksum, either: \begin{itemize} \tightlist \item \texttt{checktype=mod10} (default) \item \texttt{checktype=mod1010} \item \texttt{checktype=mod11} \item \texttt{checktype=ncrmod11} \item \texttt{checktype=mod1110} \item \texttt{checktype=ncrmod1110} \end{itemize} \item The \textbf{badmod11} option allows a \texttt{checktype=mod11} checksum value of 10 to be encoded with a pair of check digits \emph{10}. Normally in \texttt{checktype=mod11}, any input whose checksum evaluates to \emph{10} is considered invalid having no correct representation. \end{itemize} \paragraph{Examples}\label{examples-42} \begin{verbatim} Data: 0123456789 Options: includecheck includetext Encoder: msi \end{verbatim} \includegraphics{images/msi-1.eps} \begin{verbatim} Data: 0123456789 Options: includecheck checktype=mod1110 includetext includecheckintext Encoder: msi \end{verbatim} \includegraphics{images/msi-2.eps} \begin{verbatim} Data: 0123456785 Options: includecheck checktype=mod11 badmod11 includetext includecheckintext Encoder: msi \end{verbatim} \includegraphics{images/msi-3.eps} \hypertarget{plessey}{\subsubsection{Plessey}\label{plessey}} \textbf{Plessey} is a continuous, arbitrary length barcode symbology for encoding hexadecimal data. Also known as: Anker Code. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{msi-plessey}{MSI Modified Plessey} is a variant of the Plessey (UK) barcode developed by the MSI Data Corporation. \end{itemize} \paragraph{Data and Options}\label{data-and-options-65} \begin{itemize} \tightlist \item The data can contain any of the following: \begin{itemize} \tightlist \item Numbers \texttt{0-9} \item Capital letters \texttt{A-F} \end{itemize} \item Two manditory check characters implementing a CRC check are automatically included. \item The \textbf{includecheckintext} option makes the calculated check characters appear in the human readable text. \item The \textbf{unidirectional} option generates a unidirectional Plessey symbol. \end{itemize} \paragraph{Examples}\label{examples-43} Equivalent symbols, the latter displaying the two mandatory check characters: \begin{verbatim} Data: 01234ABCD Options: includetext Encoder: plessey \end{verbatim} \includegraphics{images/plessey-1.eps} \begin{verbatim} Data: 01234ABCD Options: includetext includecheckintext Encoder: plessey \end{verbatim} \includegraphics{images/plessey-2.eps} A unidirectional symbol: \begin{verbatim} Data: 01234ABCD Options: unidirectional Encoder: plessey \end{verbatim} \includegraphics{images/plessey-3.eps} \subsubsection{PosiCode}\label{posicode} \textbf{PosiCode} is a continuous, variable length, non-self-checking, bidirectional barcode symbology that is designed for use within printing processes where it is difficult to precisely control the width of a bar. Standards: ITS PosiCode. \paragraph{Data and Options}\label{data-and-options-66} \begin{itemize} \tightlist \item The data field can hold the following: \begin{itemize} \tightlist \item For \emph{standard} symbols: Any 256-bit extended ASCII data. \item \emph{FNC4} function characters will be inserted automatically to allow the encoding of extended ASCII characters. \item For \emph{limited} symbols: letters \texttt{A-Z}, digits \texttt{0-9}, symbols \texttt{-} and \texttt{.} \end{itemize} \item The \textbf{version} option is used to specify the variant of the symbol, either: \begin{itemize} \tightlist \item \texttt{version=a} (default) \item \texttt{version=b} \item \texttt{version=limiteda} \item \texttt{version=limitedb} \end{itemize} \item When the \textbf{parse} option is specified, any instances of \texttt{\^{}NNN} in the data field are replaced with their equivalent ASCII value, useful for specifying unprintable characters, e.g. \texttt{\^{}029} for \emph{GS}, etc. \item When the \textbf{parsefnc} option is specified, non-data function characters can be specified by \texttt{\^{}FNC1} through \texttt{\^{}FNC3}. \item The \textbf{inkspread} option can be used to adjust the width of the bars. \end{itemize} \paragraph{Example PosiCode}\label{example-posicode} Equivalent ways to generate a PosiCode A symbol: \begin{verbatim} Data: Abc123 Options: Encoder: posicode \end{verbatim} \begin{verbatim} Data: Abc123 Options: version=a Encoder: posicode \end{verbatim} \includegraphics{images/posicode-1.eps} PosiCode A including a \emph{GS} (ASCII 29) character: \begin{verbatim} Data: AB^029CD Options: parse Encoder: posicode \end{verbatim} \includegraphics{images/posicode-2.eps} PosiCode A including an \emph{FNC2} special character: \begin{verbatim} Data: AB^FNC2CD Options: parsefnc Encoder: posicode \end{verbatim} \includegraphics{images/posicode-3.eps} PosiCode B symbol with widened bars: \begin{verbatim} Data: Abc123 Options: version=b inkspread=-1 Encoder: posicode \end{verbatim} \includegraphics{images/posicode-4.eps} \paragraph{Example Limited PosiCode}\label{example-limited-posicode} Limited PosiCode A with narrowed bars: \begin{verbatim} Data: ABC-12.3 Options: version=limiteda Encoder: posicode \end{verbatim} \includegraphics{images/posicode-5.eps} Limited PosiCode B: \begin{verbatim} Data: ABC-12.3 Options: version=limitedb Encoder: posicode \end{verbatim} \includegraphics{images/posicode-6.eps} \hypertarget{telepen}{\subsubsection{Telepen}\label{telepen}} \textbf{Telepen} is an arbitrary length barcode symbology for encoding all 128 ASCII characters without the need for shift characters. Also known as: Telepen Alpha, Telepen Full ASCII. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{telepen-numeric}{Telepen Numeric}. \end{itemize} Standards: USS Telepen. \paragraph{Data and Options}\label{data-and-options-67} \begin{itemize} \tightlist \item The data can contain any standard ASCII data, values 0-127. \item When the \textbf{parse} option is specified, any instances of \texttt{\^{}NNN} in the data field are replaced with their equivalent ASCII value, useful for specifying unprintable characters. \item The mandatory check digit is automatically included. \item \emph{Deprecated: Use \protect\hyperlink{telepen-numeric}{Telepen Numeric} instead. When the \textbf{numeric} option is given, the data is read as either pairs of digits or \texttt{0X}, \texttt{1X}, etc. The singular values \texttt{\^{}000} to \texttt{\^{}016} can also be encoded using the \emph{parse} option.} \end{itemize} \paragraph{Examples}\label{examples-44} \begin{verbatim} Data: Telepen Options: includetext Encoder: telepen \end{verbatim} \includegraphics{images/telepen-1.eps} \begin{verbatim} Data: Telepen^013 Options: parse Encoder: telepen \end{verbatim} \includegraphics{images/telepen-2.eps} \hypertarget{telepen-numeric}{\subsubsection{Telepen Numeric}\label{telepen-numeric}} \textbf{Telepen Numeric} is a variant of the Telepen symbology for efficient encoding of numeric data. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{telepen}{Telepen Alpha}. \end{itemize} Standards: USS Telepen. \paragraph{Data and Options}\label{data-and-options-68} \begin{itemize} \tightlist \item The data is provided as either pairs of digits or \texttt{0X}, \texttt{1X}, etc. The singular values \texttt{\^{}000} to \texttt{\^{}016} can also be encoded using the \emph{parse} option. \item When the \textbf{parse} option is specified, any instances of \texttt{\^{}NNN} in the data field are replaced with their equivalent ASCII value, useful for specifying unprintable characters. \item The mandatory check digit is automatically included. \end{itemize} \paragraph{Examples}\label{examples-45} \begin{verbatim} Data: 123456 Options: Encoder: telepennumeric \end{verbatim} \includegraphics{images/telepen-3.eps} \begin{verbatim} Data: 1X345X Options: Encoder: telepennumeric \end{verbatim} \includegraphics{images/telepen-4.eps} \begin{verbatim} Data: 1234^005 Options: parse includetext Encoder: telepennumeric \end{verbatim} \includegraphics{images/telepen-5.eps} \hypertarget{gs1-composite-symbols}{\subsection{GS1 Composite Symbols}\label{gs1-composite-symbols}} \textbf{GS1 Composite} barcode symbologies consist of a primary component beneath a 2D component (variations of \protect\hyperlink{micropdf417}{MicroPDF417} and \protect\hyperlink{pdf417}{PDF417}) used to encode supplementary \protect\hyperlink{gs1-application-identifier-standard-format}{GS1 formatted data}. Variants: \begin{itemize} \tightlist \item \protect\hyperlink{ean-13-composite}{EAN-13 Composite} is a variant of \protect\hyperlink{ean-13}{EAN-13}. \item \protect\hyperlink{ean-8-composite}{EAN-8 Composite} is a variant of \protect\hyperlink{ean-8}{EAN-8}. \item \protect\hyperlink{upc-a-composite}{UPC-A Composite} is a variant of \protect\hyperlink{upc-a}{UPC-A}. \item \protect\hyperlink{upc-e-composite}{UPC-E Composite} is a variant of \protect\hyperlink{upc-e}{UPC-E}. \item \protect\hyperlink{gs1-databar-omnidirectional-composite}{GS1 DataBar Omnidirectional Composite} is a variant of \protect\hyperlink{gs1-databar-omnidirectional}{GS1 DataBar Omnidirectional}. \item \protect\hyperlink{gs1-databar-stacked-omnidirectional-composite}{GS1 DataBar Stacked Omnidirectional Composite} is a variant of \protect\hyperlink{gs1-databar-stacked-omnidirectional}{GS1 DataBar Stacked Omnidirectional}. \item \protect\hyperlink{gs1-databar-expanded-composite}{GS1 DataBar Expanded Composite} is a variant of \protect\hyperlink{gs1-databar-expanded}{GS1 DataBar Expanded}. \item \protect\hyperlink{gs1-databar-expanded-stacked-composite}{GS1 DataBar Expanded Stacked Composite} is a variant of \protect\hyperlink{gs1-databar-expanded-stacked}{GS1 DataBar Expanded Stacked}. \item \protect\hyperlink{gs1-databar-truncated-composite}{GS1 DataBar Truncated Composite} is a variant of \protect\hyperlink{gs1-databar-truncated}{GS1 DataBar Truncated}. \item \protect\hyperlink{gs1-databar-stacked-composite}{GS1 DataBar Stacked Composite} is a variant of \protect\hyperlink{gs1-databar-stacked}{GS1 DataBar Stacked}. \item \protect\hyperlink{gs1-databar-limited-composite}{GS1 DataBar Limited Composite} is a variant of \protect\hyperlink{gs1-databar-limited}{GS1 DataBar Limited}. \item \protect\hyperlink{gs1-128-composite}{GS1-128 Composite} is a variant of \protect\hyperlink{gs1-128}{GS1-128}. \end{itemize} Standards: ISO/IEC 24723, ITS EAN.UCC Composite Symbology, AIM ISS - EAN.UCC Composite Symbology, GS1 General Specifications. \paragraph{Data and Options}\label{data-and-options-69} \begin{itemize} \tightlist \item The data field consists of a primary and secondary component separated by a pipe \texttt{\textbar{}} character. \item The data for the primary component (preceding the pipe) is entered in a format identical to the corresponding non-composite barcode symbology. \item The data for the 2D component (following the pipe) is entered in \protect\hyperlink{gs1-application-identifier-standard-format}{GS1 Application Identifier standard format}. \item For maximum efficiency, if the data for the 2D component contains a number of application identifiers matching any of the specifications below then they should be provided in this given order: \begin{itemize} \tightlist \item \texttt{(11)...(10)...} \item \texttt{(17)...(10)...} \item \texttt{(90)\{0-3\ digits\ not\ starting\ 0\}\{upper\ alpha\}...} \end{itemize} \item The \textbf{ccversion} option is used to select a specific 2D component: \begin{itemize} \tightlist \item \texttt{ccversion=a} - \protect\hyperlink{cc-a}{CC-A} \item \texttt{ccversion=b} - \protect\hyperlink{cc-b}{CC-B} \item \texttt{ccversion=c} - \protect\hyperlink{cc-c}{CC-C} (\protect\hyperlink{gs1-128-composite}{GS1-128 Composite} only) \end{itemize} \item If \textbf{ccversion} is not specified a CC-A component will be selected if the data will fit, otherwise a CC-B component will be used. In the case of \protect\hyperlink{gs1-128-composite}{GS1-128 Composite} a CC-C component will be used if the data does not fit within either a CC-A or CC-B component. \end{itemize} \hypertarget{ean-13-composite}{\subsubsection{EAN-13 Composite}\label{ean-13-composite}} \begin{verbatim} Data: 331234567890|(99)1234-abcd Options: includetext guardwhitespace Encoder: ean13composite \end{verbatim} \includegraphics{images/ean13composite-1.eps} \hypertarget{ean-8-composite}{\subsubsection{EAN-8 Composite}\label{ean-8-composite}} \begin{verbatim} Data: 12345670|(21)A12345678 Options: includetext guardwhitespace Encoder: ean8composite \end{verbatim} \includegraphics{images/ean8composite-1.eps} \hypertarget{upc-a-composite}{\subsubsection{UPC-A Composite}\label{upc-a-composite}} \begin{verbatim} Data: 01600033610|(99)1234-abcd Options: includetext Encoder: upcacomposite \end{verbatim} \includegraphics{images/upcacomposite-1.eps} \hypertarget{upc-e-composite}{\subsubsection{UPC-E Composite}\label{upc-e-composite}} \begin{verbatim} Data: 0121230|(15)021231 Options: includetext Encoder: upcecomposite \end{verbatim} \includegraphics{images/upcecomposite-1.eps} \hypertarget{gs1-databar-omnidirectional-composite}{\subsubsection{GS1 DataBar Omnidirectional Composite}\label{gs1-databar-omnidirectional-composite}} \begin{verbatim} Data: (01)03612345678904|(11)990102 Options: Encoder: databaromnicomposite \end{verbatim} \includegraphics{images/databaromnicomposite-1.eps} \hypertarget{gs1-databar-stacked-omnidirectional-composite}{\subsubsection{GS1 DataBar Stacked Omnidirectional Composite}\label{gs1-databar-stacked-omnidirectional-composite}} \begin{verbatim} Data: (01)03612345678904|(11)990102 Options: Encoder: databarstackedomnicomposite \end{verbatim} \includegraphics{images/databarstackedomnicomposite-1.eps} \hypertarget{gs1-databar-expanded-composite}{\subsubsection{GS1 DataBar Expanded Composite}\label{gs1-databar-expanded-composite}} \begin{verbatim} Data: (01)93712345678904(3103)001234|(91)1A2B3C4D5E Options: Encoder: databarexpandedcomposite \end{verbatim} \includegraphics{images/databarexpandedcomposite-1.eps} \hypertarget{gs1-databar-expanded-stacked-composite}{\subsubsection{GS1 DataBar Expanded Stacked Composite}\label{gs1-databar-expanded-stacked-composite}} \begin{verbatim} Data: (01)00012345678905(10)ABCDEF|(21)12345678 Options: segments=4 Encoder: databarexpandedstackedcomposite \end{verbatim} \includegraphics{images/databarexpandedstackedcomposite-1.eps} \hypertarget{gs1-databar-truncated-composite}{\subsubsection{GS1 DataBar Truncated Composite}\label{gs1-databar-truncated-composite}} \begin{verbatim} Data: (01)03612345678904|(11)990102 Options: Encoder: databartruncatedcomposite \end{verbatim} \includegraphics{images/databartruncatedcomposite-1.eps} \hypertarget{gs1-databar-stacked-composite}{\subsubsection{GS1 DataBar Stacked Composite}\label{gs1-databar-stacked-composite}} \begin{verbatim} Data: (01)03412345678900|(17)010200 Options: Encoder: databarstackedcomposite \end{verbatim} \includegraphics{images/databarstackedcomposite-1.eps} \hypertarget{gs1-databar-limited-composite}{\subsubsection{GS1 DataBar Limited Composite}\label{gs1-databar-limited-composite}} \begin{verbatim} Data: (01)03512345678907|(21)abcdefghijklmnopqrstuv Options: Encoder: databarlimitedcomposite \end{verbatim} \includegraphics{images/databarlimitedcomposite-1.eps} \hypertarget{gs1-128-composite}{\subsubsection{GS1-128 Composite}\label{gs1-128-composite}} GS1-128 Composite with a CC-A 2D component: \begin{verbatim} Data: (01)03212345678906|(21)A1B2C3D4E5F6G7H8 Options: Encoder: gs1-128composite \end{verbatim} \includegraphics{images/ean128composite-1.eps} GS1-128 Composite with a CC-C 2D component: \begin{verbatim} Data: (00)030123456789012340|(02)13012345678909(37)24(10)1234567ABCDEFG Options: ccversion=c Encoder: gs1-128composite \end{verbatim} \includegraphics{images/ean128composite-2.eps} \hypertarget{cc-a}{\subsubsection{CC-A}\label{cc-a}} Isolated CC-A 2D component: \begin{verbatim} Data: (01)95012345678903 Options: ccversion=a cccolumns=3 Encoder: gs1-cc \end{verbatim} \includegraphics{images/gs1composite-1.eps} \hypertarget{cc-b}{\subsubsection{CC-B}\label{cc-b}} Isolated CC-B 2D component: \begin{verbatim} Data: (01)95012345678903(3103)000123 Options: ccversion=b cccolumns=4 Encoder: gs1-cc \end{verbatim} \includegraphics{images/gs1composite-2.eps} \hypertarget{cc-c}{\subsubsection{CC-C}\label{cc-c}} Isolated CC-C 2D component: \begin{verbatim} Data: (02)13012345678909(37)24(10)1234567ABCDEFG Options: ccversion=c cccolumns=5 Encoder: gs1-cc \end{verbatim} \includegraphics{images/gs1composite-3.eps} \subsection{Raw Symbols}\label{raw-symbols} \subsubsection{DAFT}\label{daft} \textbf{DAFT} is an encoder for directly specifying the descender, ascender, full-height, tracker-bar succession for a custom 4 state barcode symbol. \paragraph{Data and Options}\label{data-and-options-70} \begin{itemize} \tightlist \item The data field contains a sequence of the characters \texttt{D}, \texttt{A}, \texttt{F} or \texttt{T} to denote the descender, ascender, full-height and tracker bars of a custom 4 state symbol. \end{itemize} \paragraph{Example}\label{example-16} \begin{verbatim} Data: FATDAFTDAD Options: Encoder: daft \end{verbatim} \includegraphics{images/daft-1.eps} \subsubsection{Flattermarken}\label{flattermarken} \textbf{Flattermarken} are identification marks used in book production that facilitate the proper arrangement of bound sections by a book binder. \paragraph{Data and Options}\label{data-and-options-71} \begin{itemize} \tightlist \item The data field can holding any sequence of digits corresponds to a 9 module width with the following meaning: \begin{itemize} \tightlist \item \texttt{1-9}: a single mark exists in the corresponding module position \item \texttt{0}: unmarked sequence of modules \end{itemize} \item The \textbf{inkspread} option can be used to adjust the width of the bars. \item If greater fidelity is required then the \protect\hyperlink{raw}{raw} encoder should be used instead. \end{itemize} \paragraph{Example}\label{example-17} \begin{verbatim} Data: 1304 Options: inkspread=-1 Encoder: flattermarken \end{verbatim} \includegraphics{images/flattermarken-1.eps} \hypertarget{raw}{\subsubsection{Raw}\label{raw}} The \textbf{raw} encoder is used for directly specifying the space/bar succession of a custom barcode symbol. \paragraph{Data and Options}\label{data-and-options-72} \begin{itemize} \tightlist \item The data field contains an alternating sequence of widths (1 to 9) for the bars and spaces of a custom symbol. \end{itemize} \paragraph{Example}\label{example-18} \begin{verbatim} Data: 331132131313411122131311333213114131131221323 Options: height=0.5 Encoder: raw \end{verbatim} \includegraphics{images/raw-1.eps} \subsection{Partial Symbols}\label{partial-symbols} \hypertarget{ean-2}{\subsubsection{EAN-2}\label{ean-2}} \textbf{EAN-2} is the two-digit add-on code that accompanies a EAN or UPC type barcode symbol such as an \protect\hyperlink{isbn}{ISBN} or \protect\hyperlink{issn}{ISSN}. Also known as: Two-Digit Add-On, Two-Digit Supplement, UPC-2 \paragraph{Data and Options}\label{data-and-options-73} \begin{itemize} \tightlist \item The data field must contain two digits. \item The \textbf{includetext} option should normally be supplied. \end{itemize} \paragraph{Example}\label{example-19} \begin{verbatim} Data: 05 Options: includetext guardwhitespace Encoder: ean2 \end{verbatim} \includegraphics{images/ean2-1.eps} \hypertarget{ean-5}{\subsubsection{EAN-5}\label{ean-5}} \textbf{EAN-5} is the five-digit add-on code that accompanies an EAN or UPC type barcode symbol such as an \protect\hyperlink{isbn}{ISBN} or \protect\hyperlink{issn}{ISSN}. Also known as: Five-Digit Add-On, Five-Digit Supplement, UPC-5 \paragraph{Data and Options}\label{data-and-options-74} \begin{itemize} \tightlist \item The data field must contain five digits. \item The \textbf{includetext} option should normally be supplied. \end{itemize} \paragraph{Example}\label{example-20} \begin{verbatim} Data: 90200 Options: includetext guardwhitespace Encoder: ean5 \end{verbatim} \includegraphics{images/ean5-1.eps} \hypertarget{gs1-application-identifier-standard-format}{\subsection{GS1 Application Identifier Standard Format}\label{gs1-application-identifier-standard-format}} Certain barcode symbologies (including \protect\hyperlink{gs1-128}{GS1-128}, \protect\hyperlink{gs1-databar-omnidirectional}{GS1 DataBar Omnidirectional}, \protect\hyperlink{gs1-datamatrix}{GS1 DataMatrix}, \protect\hyperlink{gs1-qr-code}{GS1 QR Code} and \protect\hyperlink{gs1-composite-symbols}{GS1 Composite Symbols}) represent standardized GS1 data and require that their data field is provided in GS1 Application Identifier standard format, consisting of a concatenated string of \emph{AIs} along with their corresponding values. The AIs are a set of approximately one hundred two-, three- or four-digit prefixes written within parentheses that represent physical attributes and business information, e.g. \begin{itemize} \tightlist \item \emph{(00)} is an eighteen-digit SSCC. \item \emph{(01)} is a fourteen-digit GTIN. \item \emph{(403)} is a variable-length routing code. \end{itemize} The following input represents GTIN \emph{0061414199996}; Expiration Date \emph{1 January 2010}; Batch \emph{123ABC}; Serial \emph{1234567890}: \begin{verbatim} (01)0061414199996(17)100101(10)123ABC(21)1234567890 \end{verbatim} Encoders for barcode symbologies that expect data in GS1 Application Identifier standard format will take care of parsing the input and inserting any necessary \emph{FNC1} characters to delimit variable length fields. \paragraph{GS1 Application Identifier Definitions}\label{gs1-application-identifier-definitions} The Application Identifier definitions are provided in the \href{http://www.gs1.org/barcodes-epcrfid-id-keys/gs1-general-specifications}{GS1 General Specifications}. A summary is available \href{http://en.wikipedia.org/wiki/GS1-128\#Full_list_of_Application_Identifiers}{here} however this may be out of date. \section{Options Reference}\label{options-reference} \subsection{Check Digits}\label{check-digits} \subsubsection{includecheck}\label{includecheck} Generate check digit(s) for symbologies where the use of check digits is optional. \paragraph{Example}\label{example-21} Calculate the optional check characters of this Code 93 symbol: \begin{verbatim} Data: CHECK ME OUT Options: includecheck Encoder: code93 \end{verbatim} \includegraphics{images/optincludecheck.eps} \subsubsection{includecheckintext}\label{includecheckintext} Show the calculated check digit in the human readable text. \paragraph{Notes}\label{notes} \begin{itemize} \tightlist \item For barcode symbologies where the check digit is not mandatory, this option must be used in combination with \textbf{includecheck}. \item If any part of the checksum does not have a printable representation then that part is not displayed. \end{itemize} \paragraph{Example}\label{example-22} Display the check digit of this Royal Mail barcode: \begin{verbatim} Data: LE28HS9Z Options: includetext includecheckintext Encoder: royalmail \end{verbatim} \includegraphics{images/optincludecheckintext.eps} \subsection{Input Processing}\label{input-processing} \subsubsection{parse}\label{parse} In supporting barcode symbologies, when the \emph{parse} option is specified, any instances of \texttt{\^{}NNN} in the data field are replaced with their equivalent ASCII value, useful for specifying unprintable characters. \paragraph{Example}\label{example-23} Equivalent symbols: \begin{verbatim} Data: This is Data Matrix Options: Encoder: datamatrix \end{verbatim} \begin{verbatim} Data: This is ^068ata Matrix Options: parse Encoder: datamatrix \end{verbatim} \includegraphics{images/optparse.eps} \subsubsection{parsefnc}\label{parsefnc} In supporting barcode symbologies, when the \textbf{parsefnc} option is specified, non-data function characters can be specified by escaped combinations such as \texttt{\^{}FNC1}, \texttt{\^{}FNC4} and \texttt{\^{}SFT/}. \paragraph{Example}\label{example-24} Code 93 including a special shift combination \texttt{(/)A} representing \emph{!}: \begin{verbatim} Data: TERRY^SFT/A Options: parsefnc includecheck Encoder: code93 \end{verbatim} \includegraphics{images/optparsefnc.eps} \subsection{Symbol Dimensions}\label{symbol-dimensions} \subsubsection{height}\label{height} Height of longest bar, in inches. \paragraph{Example}\label{example-25} A 1/2 inch tall EAN-13: \begin{verbatim} Data: 977147396801 Options: includetext height=0.5 Encoder: ean13 \end{verbatim} \includegraphics{images/optheight.eps} \subsubsection{width}\label{width} Stretch the symbol to precisely this width, in inches. \paragraph{Notes}\label{notes-1} \begin{itemize} \tightlist \item This parameter literally stretches the symbol and text to the desired width which will may distort the human readable text. \item For information about resizing symbols read the article on \protect\hyperlink{resizing-symbols}{resizing symbols}. \end{itemize} \paragraph{Example}\label{example-26} A 2 inch wide Code 93 symbol: \begin{verbatim} Data: TERRY Options: width=2 Encoder: code93 \end{verbatim} \includegraphics{images/optwidth.eps} \subsection{Bar Properties}\label{bar-properties} \subsubsection{inkspread}\label{inkspread} For linear barcodes, the amount by which to reduce the bar widths to compensate for inkspread, in points. For matrix barcodes, the amount by which the reduce the width and height of dark modules to compensate for inkspread, in points. \paragraph{Notes}\label{notes-2} \begin{itemize} \tightlist \item Negative values will increase the bar width. \end{itemize} \paragraph{Example}\label{example-27} Code 39 for a printer with very runny ink: \begin{verbatim} Data: TEZ Options: inkspread=0.6 Encoder: code39 \end{verbatim} \includegraphics{images/optinkspread.eps} \subsubsection{inkspreadh}\label{inkspreadh} For matrix barcodes, the amount by which the reduce the width of dark modules to compensate for inkspread, in points. Note: inkspreadh is most useful for stacked-linear type barcodes such as PDF417 and Codablock F. \subsubsection{inkspreadv}\label{inkspreadv} For matrix barcodes, the amount by which the reduce the height of dark modules to compensate for inkspread, in points. \subsection{Text Properties}\label{text-properties} \subsubsection{includetext}\label{includetext} Show human readable text for data in symbol. \paragraph{Notes}\label{notes-3} \begin{itemize} \tightlist \item If a character in the data does not have a printable representation then it is not displayed \end{itemize} \paragraph{Example}\label{example-28} Display the text encoded in this Code 39 symbol: \begin{verbatim} Data: SEE ME Options: includetext Encoder: code39 \end{verbatim} \includegraphics{images/optincludetext.eps} \subsubsection{textfont}\label{textfont} The font name for text. \paragraph{Notes}\label{notes-4} \begin{itemize} \tightlist \item The font name must be the literal name of a PostScript font that is available to the system. \item This option should be used in combination with the \textbf{includetext} option. \end{itemize} \paragraph{Example}\label{example-29} Customise the human readable text of this USPS POSTNET symbol \begin{verbatim} Data: 64501 Options: includetext textfont=Times-Roman textsize=9 Encoder: postnet \end{verbatim} \includegraphics{images/opttextfont.eps} \subsubsection{textsize}\label{textsize} The font size of the text in points. \paragraph{Note}\label{note} \begin{itemize} \tightlist \item This option should be used in combination with the \textbf{includetext} option. \end{itemize} \paragraph{Example}\label{example-30} Customise the human readable text of this USPS POSTNET symbol \begin{verbatim} Data: 64501 Options: includetext textfont=Times-Roman textsize=9 Encoder: postnet \end{verbatim} \includegraphics{images/opttextfont.eps} \subsubsection{textgaps}\label{textgaps} The inter-character spacing of the text. \paragraph{Note}\label{note-1} \begin{itemize} \tightlist \item This option should be used in combination with the \textbf{textxalign} option. \end{itemize} \subsection{Text Positioning}\label{text-positioning} \subsubsection{textxalign}\label{textxalign} The \textbf{textxalign} option is used to specify where to horizontally position the text. \begin{itemize} \tightlist \item \texttt{textxalign=offleft} \item \texttt{textxalign=left} \item \texttt{textxalign=center} \item \texttt{textxalign=right} \item \texttt{textxalign=offright} \item \texttt{textxalign=justify} \end{itemize} \paragraph{Notes}\label{notes-5} \begin{itemize} \tightlist \item By default (in the absence of \textbf{textxalign} or \textbf{textyalign}), each character of text is placed immediately below the corresponding modules where this is possible. \item Where there isn't such a direct relationship then the default is to position the text centrally beneath the symbol. \end{itemize} \subsubsection{textyalign}\label{textyalign} The \textbf{textyalign} option is used to specify where to vertically position the text. \begin{itemize} \tightlist \item \texttt{textyalign=below} \item \texttt{textyalign=center} \item \texttt{textyalign=above} \end{itemize} \paragraph{Notes}\label{notes-6} \begin{itemize} \tightlist \item By default (in the absence of \textbf{textxalign} or \textbf{textyalign}), each character of text is placed immediately below the corresponding modules where this is possible. \item Where there isn't such a direct relationship then the default is to position the text centrally beneath the symbol. \end{itemize} \subsubsection{textxoffset}\label{textxoffset} The horizontal position of the text in points relative to the default position. \subsubsection{textyoffset}\label{textyoffset} The vertical position of the text in points relative to the default position. \subsection{Border Properties}\label{border-properties} \subsubsection{showborder}\label{showborder} Display a border around the symbol. \paragraph{Example}\label{example-31} Display a customised border around this Codabar symbol: \begin{verbatim} Data: A3+14-63B Options: includetext showborder borderwidth=2 borderbottom=8 Encoder: rationalizedCodabar \end{verbatim} \includegraphics{images/optborder.eps} \subsubsection{borderwidth}\label{borderwidth} Width of the border, in points. \subsubsection{borderleft}\label{borderleft} Gap between the left edge of the border and the symbol, in points. \subsubsection{borderright}\label{borderright} Gap between the right edge of the border and the symbol, in points. \subsubsection{bordertop}\label{bordertop} Gap between the top edge of the border and the symbol, in points. \subsubsection{borderbottom}\label{borderbottom} Gap between the bottom edge of the border and the symbol, in points. \subsection{Symbol Colors}\label{symbol-colors} \subsubsection{barcolor}\label{barcolor} Color of the bars or dark modules, either as a hex \texttt{RRGGBB} value or a hex \texttt{CCMMYYKK} value. \subsubsection{backgroundcolor}\label{backgroundcolor} Color of the light background or light modules, either as a hex \texttt{RRGGBB} value or a hex \texttt{CCMMYYKK} value. \subsubsection{bordercolor}\label{bordercolor} Color of the border, either as a hex \texttt{RRGGBB} value or a hex \texttt{CCMMYYKK} value. \subsubsection{textcolor}\label{textcolor} Color of the respective component, either as a hex \texttt{RRGGBB} value or a hex \texttt{CCMMYYKK} value. \paragraph{Examples}\label{examples-46} Colorized Code 11 symbol using the RGB colour space: \begin{verbatim} Data: 0123456789 Options: includetext barcolor=AA0000 textcolor=008888 backgroundcolor=FFFF60 showborder bordercolor=0000FF textyoffset=-8 Encoder: code11 \end{verbatim} \includegraphics{images/optcolorrgb.eps} Colorized Code 11 symbol using the CMYK colour space: \begin{verbatim} Data: 0123456789 Options: includetext barcolor=AA000000 textcolor=00888844 backgroundcolor=CCCC6000 showborder bordercolor=00FF0088 Encoder: code11 \end{verbatim} \includegraphics{images/optcolorcmyk.eps} \subsection{EAN-UPC Add Ons}\label{ean-upc-add-ons} \subsubsection{addontextfont}\label{addontextfont} The font name of the add on text. \paragraph{Notes}\label{notes-7} \begin{itemize} \tightlist \item The font name must be the literal name of a PostScript available font. \item These options must be used in combination with the \textbf{includetext} option. \end{itemize} \subsubsection{addontextsize}\label{addontextsize} The size of the add on text, in points \paragraph{Notes}\label{notes-8} \begin{itemize} \tightlist \item These options must be used in combination with the \textbf{includetext} option. \end{itemize} \paragraph{Example}\label{example-32} Customise the human readable text of this USPS POSTNET symbol \begin{verbatim} Data: 64501 Options: includetext textfont=Times-Roman textsize=9 Encoder: postnet \end{verbatim} \includegraphics{images/opttextfont.eps} \subsubsection{addontextxoffset}\label{addontextxoffset} Overrides the default horizontal positioning of the add on text. \subsubsection{addontextyoffset}\label{addontextyoffset} Overrides the default vertical positioning of the add on text. \subsection{EAN-UPC Guards}\label{ean-upc-guards} \subsubsection{guardwhitespace}\label{guardwhitespace} Display white space guards. \paragraph{Example}\label{example-33} ISBN-13 with tiny white space guard: \begin{verbatim} Data: 978-1-873671-00 Options: includetext guardwhitespace guardwidth=3 guardheight=3 Encoder: isbn \end{verbatim} \includegraphics{images/optguardsize.eps} \subsubsection{guardwidth}\label{guardwidth} Width of the whitespace guards, in points. \subsubsection{guardheight}\label{guardheight} Height of the whitespace guards, in points. \subsubsection{guardleftpos}\label{guardleftpos} Override the default horizontal position of the left whitespace guard. \subsubsection{guardrightpos}\label{guardrightpos} Override the default horizontal position of the right whitespace guard. \subsubsection{guardleftypos}\label{guardleftypos} Override the default vertical position of the left whitespace guard. \subsubsection{guardrightypos}\label{guardrightypos} Override the default vertical position of the right whitespace guard. \paragraph{Example}\label{example-34} EAN-8 with very mangled white space guards: \begin{verbatim} Data: 01335583 Options: includetext guardwhitespace guardleftpos=14 guardrightpos=7 guardleftypos=15 guardrightypos=4 Encoder: ean8 \end{verbatim} \includegraphics{images/optguardpos.eps}