Zint Manual 242
Zint Manual 242
This document is a backup of the user manual information $hich $as formerly held at the $ebsite http455$$$.2int.org.uk. 3ou are free to distribute this document" copy it or any part of it and reproduce it by any means or in any medium as you see fit as long as you also ackno$ledge the fact that it is covered by the follo$ing copyright4 A Bobin /tuart 2((@ C 2(99 (In other words I'm happy for you to treat it as a public domain document as long as you don't take credit for it!)
1. Introduction
The Zint project aims to provide a complete cross-platform open source barcode generating solution. The package currently consists of a Qt based G !" a command line e#ecutable and a library $ith an %&! to allo$ developers access to the capabilities of Zint. !t is hoped that Zint provides a solution $hich is fle#ible enough for professional users $hile at the same time takes care of as much of the processing as possible to allo$ easy translation from input data to barcode image. The library $hich forms the main component of the Zint project is currently able to encode data in over '( barcode symbologies )types of barcode*" for each of $hich it is possible to translate that data from either nicode ) T+-,* or a ra$ ,-bit data stream. The image can be rendered as either a &ortable -et$ork Graphic )&-G* image" as .ncapsulated &ost /cript ).&/* or as a /calable 0ector Graphic )/0G*. 1any options are available for setting the characteristics of the output image including the si2e and colour of the image" the amount of error correction used in the symbol and" in the case of &-G images" the orientation of the image. !f you find this project useful then please consider making a donation. 3our support $ill ensure that $e are able to continue to purchase and implement ne$ barcode standards as they become available from various standards organisations. To make a donation go to4 http455sourceforge.net5project5project6donations.php7group6id89::;'(
Getting Help
The pages on this site should help you to get the most out of Zint. !f" ho$ever" you have specific re<uirements or <uestions or $ish to report a bug then either join the mailing list at https455lists.sourceforge.net5lists5listinfo52int-barcode or send an e-mail to 2int-barcode=lists.sourceforge.net >efore posting to this list please note the follo$ing points... 3ou do not need to join the list to post messages" although joining the list $ill usually mean your re<uest is ans$ered more promptly. Zint is primarily developed for ?inu#. !f you are using another platform then $e $ill be less 95@9
able to help you" although $e $ill do so if $e can. De cannot provide support for commercial packages such as 1/ Effice or Frystal Beports. %l$ays ensure you are using the latest version of Zint before posting bug reports - the bug you are reporting may have been fi#ed already. &lease remember to state $hat operating system you are using and include enough information to allo$ us to reproduce the error - including input data if appropriate. &lease GE -ET post messages asking for us to change the license arrangements. 3ou $ill be ignored. !f you $ant a barcode encoder $ith a different license then please look else$here )see belo$*. &lease remember that Zint is developed by volunteers - donHt be surprised if $e are unable to help you or if it takes a long time to ans$er your <uestions.
What's In a Name?
!n best G- fashion the name IZintI is a recursive acronym for IZint is not Tec-!tI. Tec-!t is an %ustrian !/0 $ho specialise in %!GF technologies and in particular their commercial products I>arcode /tudioI and IT>arcode5JI perform very similar functions to Zint. !n fact the design of Zint is heavily influenced by these products $ith the hope that it can provide a close to Hdrop-in replacementH capability. &lease note" ho$ever" that Zint is released under the G- General &ublic ?icense. This means that" for developers" it is only suitable for use $ith other open source packages. Zint cannot be released under any other license. !f you see a copy of Zint released under any other license then please report it. !f you re<uire commercially licensed soft$are to create barcodes then please contact Tec-!t.
. Installing Zint
.1 !inu"
The easiest $ay to configure compilation is to take advantage of the F1ake utilities. 3ou $ill need to install F1ake and libpng first. -ote that you $ill need both libpng and libpng-devel packages. !f you $ant to take advantage of Zint >arcode /tudio you $ill also need the Qt libraries pre-installed. Ence you have fulfilled these re<uirements un2ip the source code tarball and follo$ these steps in the top directory4
mkdir build cd build cmake .. make make install
-otice that the data needs to be entered after all other options. %ny options given after the data $ill be ignored. The G ! can be accessed by typing
zint-qt
25@9
To test that the installation has been sucessful a shell script is included in the 5frontend folder. To run the test type
./test.sh
This should create numerous files sho$ing the many modes of operation $hich are available from Zint.
. Microso#t Windo$s
To run Zint >arcode /tudio on Dindo$s simply do$nload and run the installation e#ecutable and follo$ the instructions on-screen.
This is the main $indo$ of Zint >arcode /tudio. The top of the $indo$ sho$s a previe$ of the barcode $hich the current settings $ould create. These settings can be changed using the controls belo$. The top most te#t bo# on this first tab allo$s you to enter the data to be encoded. Dhen you are happy $ith your settings you can use the /ave button to save the resulting image to file as a &-G" .&/ or /0G image. The t$o sliders ne#t to the previe$ allo$ you to change the orientation and scale of the previe$ image but do not affect the saved image.
;5@9
The /ymbology drop-do$n bo# gives access to all of the symbologies supported by Zint sho$n in alphabetical order.
%t the bottom of the screen is an area for creating composite symbologies $hich appears $hen the currently selected symbology is supported by the composite symbology standard. G/9 data can then be entered $ith s<uare brackets used to separate %! information from data as sho$n here.
45@9
Dith some symbologies e#tra options area available to fine-tune the appearance or the content of the symbol generated. These are given in a second tab. Kere the method is sho$n for adjusting the si2e of an %2tec Fode symbol.
The appearance tab can be used to adjust the dimensions and other properties of the symbol. The height value affects the height of 9dimensional symbologies. >oundary bars can be added and adjusted and the si2e of the saved image can be determined.
'5@9
% colour dialog is used to adjust the colour of the foreground and background of the generated image. Flick on L+oreground FolourM or L>ackground FolourM respectively.
Flicking on the ellipsis ne#t to the IGata to .ncodeI te#t bo# opens a larger $indo$ $hich can be used to enter longer strings of te#t. 3ou can also use this $indo$ to get data from file.
@5@9
Flicking on the se<uence button )labelled I92;..I* opens the /e<uence Gialog. This allo$s you to create multiple barcode images by entering a se<uence of data inputs in the right hand panel. /e<uences can also be automatically generated by entering parameters on the left hand side or by importing the data from file. Zint $ill generate a separate barcode image for each line of te#t in the right hand panel. The format field determines the format of the automatically generated se<uence $here characters have the meanings as given belo$4 Fharacter N O P %ny other character .ffect !nsert leading spaces !nsert leading 2eroes !nsert leading asterisks !nterpreted literally.
The .#port Gialog sets the parameters for e#porting a se<uence of barcode images. Kere you can set the file name and the output image format. -ote that the symbology" colour and other formatting information is taken from the main $indo$.
Q5@9
This $ill encode the te#t This Text. Zint $ill use the default symbology" Fode 92," and output to the default file out.png in the current directory. The -d s$itch and the input data should al$ays be the last entry on the command line input. %ny options given after -d $ill be ignored. The data input to Zint is assumed to be encoded in nicode ) T+-,* format. !f you are encoding characters beyond the Q-bit %/F!! set on a platform $hich does not use nicode by default then some corruption of the data may occur. -on-printing characters can be entered on the command line using the backslash )R* as an escape character. &ermissable characters are sho$n in the table belo$. -ote that only applies on the command line. +scape *haracter R( R. Ra Rb Rt Rn Rv Rf Rr Re RG RB &S*II +,ui-alent (#(( (#(4 (#(Q (#(, (#(: (#(a (#(b (#(c (#(d (#9b (#9d (#9e Interpretation -ull .nd of Transmission >ell >ackspace Kori2ontal Tab ?ine +eed 0ertical Tab +orm +eed Farriage Beturn .scape Group /elector Becord /elector
!nput data can be read directly from file using the -i s$itch as sho$n belo$. The input file is assumed to be nicode ) T+-,* formatted unless an alternative mode is selected.
zint -i ./somefile.txt
,5@9
). .irecting 'utput
Eutput can be directed to a file other than the default using the -o s$itch. +or e#ample4
zint -o here.png -d 'This Text'
dra$s a Fode 92, barcode in the file here.png. !f an encapsulated &ost /cript file is needed simply append the file name $ith .eps4
zint -o there.eps -d 'This Text'
/calable 0ector Graphics representations of symbols can be generated $ith the suffi# I.svgI. Eutput can also be directed to stdout using the --directeps" --directpng and --directsvg s$itches for .&/" &-G and /0G output respectively.
+lattermarken G/9 Gata>ar-94 G/9 Gata>ar ?imited G/9 Gata>ar .#tended Telepen %lpha &F % &F . &ost-et 1/! &lessey +!1 ?EG1%B/ &harmacode Ene-Track &Z&harmacode T$o-Track &G+49Q &G+49Q Truncated 1a#icode QB Fode Fode 92, )/ubset >* %ustralia &ost /tandard Fustomer %ustralia &ost Beply &aid %ustralia &ost Bouting %ustralia &ost Bedirection !/>- ).%--9; $ith verification stage* Boyal 1ail 4 /tate )B14/FF* Gata 1atri# .%--94 -0.-9, Uapanese &ostal Fode 9(5@9
QQ Q: ,( ,9 ,2 ,4 ,' ,@ ,Q ,: :( :2 :; :Q :, :: 9(2 9(4 9(@ 9(, 992 92, 92: 9;( 9;9 9;2
Torea &ost G/9 Gata>ar-94 /tacked G/9 Gata>ar-94 /tacked Emnidirectional G/9 Gata>ar .#panded /tacked &?%-.T 1icro&G+49Q /&/ EneFode &lessey Fode Telepen -umeric !T+-94 Gutch &ost T!J Fode %2tec Fode G%+T Fode 1icro QB Fode K!>F Fode 92, K!>F Fode ;: K!>F Gata 1atri# K!>F QB Fode K!>F &G+49Q K!>F 1icro&G+49Q K!>F %2tec Fode %2tec Bunes Fode ;2 Fomposite /ymbol $ith .%- linear component Fomposite /ymbol $ith G/9-92, linear component Fomposite /ymbol $ith G/9 Gata>ar-94 linear component 995@9
9;; 9;4 9;' 9;@ 9;Q 9;, 9;: 94( 949 942
Fomposite /ymbol $ith G/9 Gata>ar ?imited component Fomposite /ymbol $ith G/9 Gata>ar .#tended component Fomposite /ymbol $ith &F % linear component Fomposite /ymbol $ith &F . linear component Fomposite /ymbol $ith G/9 Gata>ar-94 /tacked component Fomposite /ymbol $ith G/9 Gata>ar-94 /tacked Emnidirectional component Fomposite /ymbol $ith G/9 Gata>ar .#panded /tacked component Fhannel Fode Fode Ene Grid 1atri#
This table is also accessible from the command line by issuing 2int -t
925@9
gives an inverted Fode 92, symbol. This is not practical for most symbologies but $hite-on-black is allo$ed by the Gata 1atri# and %2tec Fode symbology specifications. +or more specific needs the foreground and background colours can be specified using the --fg= and --bg= options follo$ed by a number in BG> he#adecimal notation )the same system used in KT1?*. +or e#ample the command
zint --fg=!!#$!! -d 'This'
9;5@9
The follo$ing table sho$s some e#amples to clarify this method4 Input -o file~~~.svg -o @@@@bar.png -o my~~~bar.eps -o t@es~t~.png ;ilenames Generated file((9.svg" file((2.svg" file((;.svg PPP9.png" PPP2.png" PPP;.png my((9.bar.eps" my((2.bar.eps" my((;bar.eps tPes(t9.png" tPes(t2.png" tPes(t;.png
945@9
9'5@9
Dhen compiling this code it $ill need to be linked $ith the libzint library using the -l2int option4
gcc -o simple simple.c -lzint
This can also be done in one stage using the ZBarcode_Encode_and_Print() function as sho$n in the ne#t e#ample4
%include &stdio.h'
9@5@9
%include &zint.h' int main(int argc9 char ,,arg:) { struct zint*s+mbol ,m+*s+mbolm+*s+mbol = ./arcode*0reate()./arcode*;ncode*and*>rint(m+*s+mbol9 arg:< =9 !9 !)./arcode*8elete(m+*s+mbol)return !}
!n these definitions IlengthI can be used to set the length of the input string. This allo$s the encoding of - ?? )%/F!! (* characters in those symbologies $hich allo$ this. % value of ( $ill disable this function and Zint $ill encode data up to the first - ?? character in the input string. The Irotate6angleI value can be used to rotate the image $hen outputting as a &-G image. 0alid values are (" :(" 9,( and 2Q(. The Z>arcode6.ncode6+ile)* and Z>arcode6.ncode6+ile6and6&rint)* functions can be used to encode data read directly from a file $here the filename is given in the IfilenameI string.
The arguments here are the same as above. The difference is that instead of saving the image to file it is placed in a character array. The IbitmapI pointer )see belo$* is set to the first memory location in the array and the values Ibarcode6$idthI and Ibarcode6heightI indicate the si2e of the resulting image in pi#els. Botation and colour options can be used at the same time as using the buffer functions in the same $ay as $hen saving to a &-G image. The bitmap data can be e#tracted from the character array by the method sho$n in the e#ample belo$ $here render6pi#el)* is assumed to be a function for dra$ing a pi#el on the screen implimented by the e#ternal application4
int ro"9 col9 i = !int red9 blue9 greenfor(ro" = !- ro" & m+*s+mbol-'bitmap*height- ro"@@) { for(column = !- column & m+*s+mbol-'bitmap*"idth- column@@) { red = m+*s+mbol-'bitmap<i=-
9Q5@9
fgcolour
+oreground )ink* colour as BG> character he#adecimal string. 1ust be @ "000000" string characters follo$ed by terminating R ( character. >ackground )paper* colour as BG> character he#adecimal string. 1ust be @ "ffffff" string characters follo$ed by terminating R ( character. Fontains the name of the file to character output a resulting barcode symbol string to. 1ust end in .png" .eps or .svg integer integer integer float integer /ymbology specific options. /ymbology specific options. /ymbology specific options. /cale factor for adjusting si2e of image. /et encoding of input data )see section '.:* 9,5@9 "out.png" )automatic* )automatic* )automatic* 9.( BINARY_MODE
bgcolour
primary
- ??
text
Kuman readable te#t" $hich usually unsigned consists of the input data plus one or character - ?? more check digits. ses T+-, string formatting. integer integer -umber of ro$s used by the symbol or" if using barcode stacking" the ro$ )output only* to be used by the ne#t symbol. Didth of the generated symbol. )output only* )output only*
array of character Bepresentation of the encoded data. strings array of integers Bepresentation of the height of a ro$.
row_height errtxt
character .rror message in the event that an string error occurred. pointer to character &ointer to stored bitmap image. array integer integer Didth of stored bitmap image )in pi#els*. Keight of stored bitmap image )in pi#els*.
bitmap
)output only*
bitmap_width bitmap_height
To alter these values use the synta# sho$n in the e#ample belo$. This code has the same result as the previous e#ample e#cept the output is no$ taller and plotted in green.
%include &stdio.h' %include &zint.h' %include &string.h' int main(int argc9 char ,,arg:) { struct zint*s+mbol ,m+*s+mbol-m+*s+mbol = ./arcode*0reate()strcp+(m+*s+mbol-'fgcolour9 5!!ff!!5)m+*s+mbol-'height = #!!./arcode*;ncode*and*>rint(m+*s+mbol9 arg:< =9 !9 !)./arcode*8elete(m+*s+mbol)return !}
Meaning Ene of the values in zint_struct $as set incorrectly but Zint has made a guess at $hat it should have been and generated a barcode accordingly. The input data is too long or too short for the selected symbology. -o symbol has been generated. The data to be encoded includes characters $hich are not permitted by the selected symbology )e.g. alphabetic characters in an .%- symbol*. -o symbol has been generated. %n !/>- $ith an incorrect check digit has been entered. -o symbol has been generated. Ene of the values in zint_struct $as set incorrectly and Zint $as unable to guess $hat it should have been. -o symbol has been generated. % problem has occurred during encoding of the data. This should never happen. &lease contact the developer if you encounter this error. Zint $as unable to open the re<uested output file. This is usually a file permissions problem. Zint ran out of memory. This should only be a problem $ith legacy systems.
ERROR_TOO_LONG
ERROR_INVALID_DATA
ERROR_INVALID_CHECK
ERROR_INVALID_OPTION
ERROR_ENCODING_PROBLEM
ERROR_FILE_ACCESS ERROR_MEMORY
2(5@9
Name BARCODE_CODE11 BARCODE_C25MATRIX BARCODE_C25INTER BARCODE_C25IATA BARCODE_C25LOGIC BARCODE_C25IND BARCODE_CODE39 BARCODE_EXCODE39 BARCODE_EANX BARCODE_EAN128 BARCODE_CODABAR BARCODE_CODE128 BARCODE_DPLEIT BARCODE_DPIDENT BARCODE_CODE16K BARCODE_CODE49 BARCODE_CODE93 BARCODE_FLAT BARCODE_RSS14 BARCODE_RSS_LTD BARCODE_RSS_EXP Fode 99
S0m/olog0
/tandard Fode 2 of ' !nterleaved 2 of ' Fode 2 of ' !%T% Fode 2 of ' Gata ?ogic Fode 2 of ' !ndustrial Fode ; of : )Fode ;:* .#tended Fode ; of : )Fode ;:S* .%G/9-92, Fodabar Fode 92, )automatic subset s$itching* Geutshe &ost ?eitcode Geutshe &ost !dentcode Fode 9@T Fode 4: Fode :; +lattermarken G/9 Gata>ar-94 G/9 Gata>ar ?imited G/9 Gata>ar .#panded 295@9
BARCODE_TELEPEN BARCODE_UPCA BARCODE_UPCE BARCODE_POSTNET BARCODE_MSI_PLESSEY BARCODE_FIM BARCODE_LOGMARS BARCODE_PHARMA BARCODE_PZN BARCODE_PHARMA_TWO BARCODE_PDF417 BARCODE_PDF417TRUNC BARCODE_MAXICODE BARCODE_QRCODE BARCODE_CODE128B BARCODE_AUSPOST BARCODE_AUSREPLY BARCODE_AUSROUTE BARCODE_AUSREDIRECT BARCODE_ISBNX BARCODE_RM4SCC BARCODE_DATAMATRIX BARCODE_EAN14 BARCODE_NVE18 BARCODE_JAPANPOST BARCODE_KOREAPOST BARCODE_RSS14STACK BARCODE_RSS14STACK_OMNI BARCODE_RSS_EXPSTACK 225@9
Telepen %lpha &F % &F . &ost-et 1/! &lessey +!1 ?EG1%B/ &harmacode Ene-Track &Z&harmacode T$o-Track &G+49Q &G+49Q Truncated 1a#icode QB Fode Fode 92, )/ubset >* %ustralia &ost /tandard Fustomer %ustralia &ost Beply &aid %ustralia &ost Bouting %ustralia &ost Bedirection !/>- ).%--9; $ith verification stage* Boyal 1ail 4 /tate )B14/FF* Gata 1atri# .%--94 -0.-9, Uapanese &ost Torea &ost G/9 Gata>ar-94 /tacked G/9 Gata>ar-94 /tacked Emnidirectional G/9 Gata>ar .#panded /tacked
,2 ,4 ,' ,@ ,Q ,: :( :2 :; :Q :, :: 9(2 9(4 9(@ 9(, 992 92, 92: 9;( 9;9 9;2 9;; 9;4 9;'
BARCODE_PLANET BARCODE_MICROPDF417 BARCODE_ONECODE BARCODE_PLESSEY BARCODE_TELEPEN_NUM BARCODE_ITF14 BARCODE_KIX BARCODE_AZTEC BARCODE_DAFT BARCODE_MICROQR BARCODE_HIBC_128 BARCODE_HIBC_39 BARCODE_HIBC_DM BARCODE_HIBC_QR BARCODE_HIBC_PDF BARCODE_HIBC_MICPDF BARCODE_HIBC_AZTEC BARCODE_AZRUNE BARCODE_CODE32 BARCODE_EANX_CC BARCODE_EAN128_CC BARCODE_RSS14_CC BARCODE_RSS_LTD_CC BARCODE_RSS_EXP_CC BARCODE_UPCA_CC
&?%-.T 1icro&G+49Q /&/ EneFode &lessey Fode Telepen -umeric !T+-94 Gutch &ost T!J Fode %2tec Fode G%+T Fode 1icro QB Fode K!>F Fode 92, K!>F Fode ;: K!>F Gata 1atri# K!>F QB Fode K!>F &G+49Q K!>F 1icro&G+49Q K!>F %2tec Fode %2tec Bunes Fode ;2 Fomposite /ymbol $ith .%- linear component Fomposite /ymbol $ith G/9-92, linear component Fomposite /ymbol $ith G/9 Gata>ar-94 linear component Fomposite /ymbol $ith G/9 Gata>ar ?imited component Fomposite /ymbol $ith G/9 Gata>ar .#tended component Fomposite /ymbol $ith &F % linear component 2;5@9
Fomposite /ymbol $ith &F . linear component Fomposite /ymbol $ith G/9 Gata>ar-94 /tacked component Fomposite /ymbol $ith G/9 Gata>ar-94 /tacked Emnidirectional component Fomposite /ymbol $ith G/9 Gata>ar .#panded /tacked component Fhannel Fode Fode Ene Grid 1atri#
245@9
This function allo$s you to check $hether a given symbology is available. % non-2ero return value indicates that the given symbology is available. +or e#ample4
if(./arcode*HalidG8(/EF0I8;*>8?# $) 1= !) { printf(5>8?# $ a:ailable5)- } else { printf(5>8?# $ not a:ailable5)- }
V9W This value is ignored for %ustralia &ost 4-/tate >arcodes" &ost-et" &?%-.T" /&/ EneFode" B14/FF" &G+49Q" Gata 1atri#" 1a#icode" QB Fode" G/9 Gata>ar-94 /tacked" &G+49Q and 1icro&G+49Q - all of $hich have a fi#ed height. V2W This value is ignored for Fode 9@k and !T+-94 symbols.
2'5@9
4.1.1 *ode 11
Geveloped by !ntermec in 9:QQ" Fode 99 is similar to Fode 2 of ' 1atri# and is primarily used in telecommunications. The symbol can encode any length string consisting of the digits (-: and the dash character )-*. Ene modulo-99 check digit is calculated.
4.1. *ode
o# 3
Fode 2 of ' is a family of onedimensional symbols" , of $hich are supported by Zint. -ote that the names given to these standards alters from one source to another so you should take care to ensure that you have the right barcode type before using these standards.
o# 3
%lso kno$n as Fode 2 of ' 1atri# is a self-checking code used in industrial applications and photo development. /tandard Fode 2 of ' $ill encode any length numeric input )digits (-:*.
o# 3
sed for baggage handling in the air-transport industry by the !nternational %ir Transport %gency" this self-checking code $ill encode any length numeric input )digits (-:* and does not include a check digit.
o# 3
!ndustrial Fode 2 of ' can encode any length numeric input )digits (-:* and does not include a check digit.
o# 3
This self-checking symbology encodes pairs of numbers" and so can only encode an even number of digits )(-:*. !f an odd number of digits is entered a leading 2ero is added by Zint. -o check digit is added.
2@5@9
o# 3 .ata !ogic
Gata ?ogic does not include a check digit and can encode any length numeric input )digits (-:*.
!T+-94" also kno$n as &F /hipping Fontainer /ymbol or Fase Fode is based on !nterleaved Fode 2 of ' and re<uires a 9; digit numeric input )digits (-:*. Ene modulo-9( check digit is calculated.
or
m+*s+mbol-'s+mbolog+ = /EF0I8;*3>0;error = ./arcode*;ncode*and*>rint(m+*s+mbol9 5 AB#MN5)-
2Q5@9
$ill encode an .%--, symbol $ith an .%--' add-on. %s before these results can be achieved using the %&!4
m+*s+mbol-'s+mbolog+ = /EF0I8;*;E2Oerror = ./arcode*;ncode*and*>rint(m+*s+mbol9 5M#BA 5)error = ./arcode*;ncode*and*>rint(m+*s+mbol9 5$#BABNM@M#BA 5)-
%ll of the .%- symbols include check data $hich is added by Zint.
4.1.3 <lesse0
%lso kno$n as &lessey Fode" this symbology $as developed by the &lessey Fompany ?td. in the T. The symbol can encode any length data consisting of digits )(-:* or letters %+ and includes a FBF check digit.
2,5@9
*hecB .igits
4.1.5 =elepen
4.1.5.1 =elepen &lpha
Telepen %lpha $as developed by /> .lectronic /ystems ?imited and can encode any length of %/F!! te#t input. Telepen includes a modulo-92Q check digit.
4.1.6 *ode %8
4.1.6.1 Standard *ode %8 ?IS' 14%66@
/tandard Fode ;: $as developed in 9:Q4 by !ntermec. !nput data can be of any length and supports the characters (-:" %Z" dash )-*" full stop ).*" space" asterisk )P*" dollar )O*" slash )5*" plus )S* and percent )Z*. The standard does not re<uire a check digit but a modulo-4; check digit can be added if re<uired by setting option_2 = 1 or using --ver=1.
4.1.6.% *ode 8%
% variation of .#tended Fode ;:" Fode :; also supports full %/F!! te#t. T$o check digits are added by Zint.
2:5@9
4.1.6.) <ZN
&Z- is a Fode ;: based symbology used by the pharmaceutical industry in Germany. &Z- encodes a @ digit number and includes a modulo-9( check digit.
4.1.6.3 !'GM&7S
?EG1%B/ )?ogistics %pplications of %utomated 1arking and Beading /ymbols* is a variation of the Fode ;: symbology used by the / Gepartment of Gefence. ?EG1%B/ encodes the same character set as /tandard Fode ;: and adds a modulo-4; check digit.
4.1.6.4 *ode %
% variation of Fode ;: used by the !talian 1inistry of Kealth )I1inistero della /anit[I* for encoding identifiers on pharmaceutical products. Be<uires a numeric input up to , digits in length. Fheck digit is added by Zint.
4.1.1: <harmacode
Geveloped by ?aetus" &harmacode is used for the identification of pharmaceuticals. The symbology is able to encode $hole numbers bet$een ; and 9;9(Q(.
4.1.11 *ode 1 6
4.1.11.1 Standard *ode 1 6 ?IS' 13)15@
Ene of the most ubi<uitous one-dimensional barcode symbologies" Fode 92, $as developed in 9:,9 by Fomputer !dentics. This symbology supports full %/F!! te#t and uses a three-mode system to compress the data into a smaller symbol. Zint automatically s$itches bet$een modes and adds a modulo-9(; check digit. Fode 92, is the default barcode symbology used by Zint. !n addition Zint supports the encoding of ?atin-9 )non-.nglish* characters in Fode 92, symbols V9W. The ?atin-9 character set is sho$n in %ppendi# %. ;(5@9
4.1.11.% GS1>1 6
% variation of Fode 92, also kno$n as FF5.%--92," this symbology is defined by the G/9 General /pecification. %pplication !dentifiers )%!s* should be entered using Vs<uare bracketsW notation. These $ill be converted to )round brackets* for the human readable te#t. This $ill allo$ round brackets to be used in the data strings to be encoded. +i#ed length data should be entered at the appropriate length for correct encoding )see %ppendi# F*. G/9-92, does not support e#tended %/F!! characters. Fheck digits for GT!- data )%! (9* are not generated and need to be included in input data. The follo$ing is an e#ample of a valid G/9-92, input4
zint --barcode= N -d 5<! =PQQPQ$NM#BA !N<BA!A=! AB#M< M=PP AB 5
4.1.11.) +&N>1)
% shorter version of G/9-92, $hich encodes GT!- data only. % 9; digit number is re<uired. GT!check digit and %! )(9* are added by Zint.
4.1.11.3 N1+>16
% variation of Fode 92, the -ummber der 0ersandeinheit standard includes both modulo-9( and modulo-9(; check digits. -0.-9, re<uires a 9Q digit numerical input.
)i.e. numbers in the range ( to 9::::::::::::*. %s $ith Gata>ar-94 a check digit and application identifier of )(9* are added by Zint.
-ote that Q and , channel codes re<uire a processor intensive algorithm to generate and so response times $hen generating these codes $ill be relatively slo$.
;25@9
4. StacBed S0m/ologies
4. .1 Basic S0m/ol StacBing
%n early innovation to get more information into a symbol" used primarily in the vehicle industry" is to simply stack one-dimensional codes on top of each other. This can be achieved at the command prompt by giving more than one set of input data. +or e#ample
zint -d 'This' -d 'That'
$ill dra$ t$o Fode 92, symbols" one on top of the other. The same result can be achieved using the %&! by e#ecuting the ZBarcode_Encode() function more than once on a symbol. +or e#ample4
m+*s+mbol-'s+mbolog+ = /EF0I8;*0I8; AQerror = ./arcode*;ncode(m+*s+mbol9 5This5)error = ./arcode*;ncode(m+*s+mbol9 5That5)error = ./arcode*>rint(m+*s+mbol)-
The e#ample belo$ sho$s ' .%--9; symbols stacked in this $ay.
;;5@9
4. .) *ompact <.;)15
%lso kno$n as truncated &G+49Q. Eptions are as for &G+49Q above.
4. .3 Micro<.;)15 ?IS' )5 6@
% variation of the &G+49Q standard" 1icro&G+49Q is intended for applications $here symbol si2e needs to be kept to a minimum. ;4 predefined symbol si2es are available $ith 9 - 4 columns and 4 - 44 ro$s. The ma#imum si2e 1icro&G+49Q symbol can hold 2'( alphanumeric characters or ;@@ digits. The amount of error correction used is dependant on symbol si2e. The number of columns used can be determined using the --cols s$itch or option_2 as $ith &G+49Q. % separate symbology !G can be used to encode Kealth !ndustry >arcode )K!>F* data $hich adds a leading HSH character and a modulo-4: check digit to the encoded data.
4. .8 *ode )8
Geveloped in 9:,Q at !ntermec" Fode 4: is a cross bet$een &F and Fode ;:. !t it one of the earliest stacked symbologies and influenced the design of Fode 9@T a fe$ years later. !t supports full Q-bit %/F!! input up to a ma#imum of 4: characters or ,9 numeric digits. G/9 data encoding is also supported. ;45@9
9;,
BARCODE_RSS14_OMNI_CC
9;:
The data to be encoded in the linear component of a composite symbol should be entered into a primary string $ith the data for the 2G component being entered in the normal $ay. To do this at the command prompt use the --primary= command. +or e#ample4
zint -b B! --mode= --primar+=BB AB#MN$QP! -d 5<PP= AB#-abcd5
This creates an .%--9; linear component $ith the data I;;92;4'@Q,:(I and a 2G FF-% )see belo$* component $ith the data I)::*92;4-abcdI. The same results can be achieved using the %&! as sho$n belo$4
m+*s+mbol-'s+mbolog+ = B!-m+*s+mbol-'option* = -
;'5@9
.%--2 and .%--' add-on data can be used $ith .%- and &F symbols using the S symbol as described in section @.9.; and '.9.4. The 2G component of a composite symbol can use one of three systems4 FF-%" FF-> and FF-F as described belo$. The 2G component type can be selected automatically by Zint dependant on the length of the input string. %lternatively the three methods can be accessed using the --mode= prompt follo$ed by 9" 2 or ; for FF-%" FF-> or FF-F respectively" or by using the option_1 variable as sho$n above.
4.%.1 **>&
This system uses a variation of 1icro&G+49Q $hich optimised to fit into a small space. The si2e of the 2G component and the amount of error correction is determined by the amount of data to be encoded and the type of linear component $hich is being used. FF% can encode up to '@ numeric digits or an alphanumeric string of shorter length. To select FF-% use --mode=1.
4.%. **>B
This system uses 1icro&G+49Q to encode the 2G component. The si2e of the 2G component and the amount of error correction is determined by the amount of data to be encoded and the type of linear component $hich is being used. FF-> can encode up to ;;, numeric digits or an alphanumeric string of shorter length. To select FF> use --mode=2.
4.%.% **>*
This system uses &G+49Q and can only be used in conjunction $ith a G/9-92, linear component. FF-F can encode up to 2;@9 numeric digits or an alphanumeric string of shorter length. To select FF-F use --mode=3.
;@5@9
4.). <ostNet
sed by the nited /tates &ostal /ervice until 2((:" the &ost-et barcode $as used for encoding 2ip-codes on mail items. &ost-et uses numerical input data and includes a modulo-9( check digit. Dhile Zint $ill encode &ost-et symbols of any length" standard lengths as used by /&/ $ere &ost-et@ )' digits Z!& input*" &ost-et9( )' digit Z!& S 4 digit user data* and &ost-et92 )' digit Z!& S @ digit user data*.
4.).% <!&N+=
sed by the nited /tates &ostal /ervice until 2((:" the &?%-.T )&ostal %lpha -umeric .ncoding Techni<ue* barcode $as used for encoding routing data on mail items. &lanet uses numerical input data and includes a modulo-9( check digit. Dhile Zint $ill encode &?%-.T symbols of any length" standard lengths used by /&/ $ere &lanet92 )99 digit input* and &lanet94 )9; digit input*.
;Q5@9
;,5@9
%n e#tra feature is available for Gata 1atri# symbols $hich allo$s Zint to automatically resi2e the symbol as re<uired but also prevents Zint from using rectangular symbols. To set this mode at the command line use the option --square and $hen using the %&! set the value option_3 = DM_SQUARE.
;:5@9
The si2e of the symbol can be set by using the vers= option or setting option_2 to the QB Fode version re<uired )9-4(*. The si2e of symbol generated is sho$n in the table belo$. Input 9 2 ; 4 ' @ Q , : 9( 99 92 9; 94 9' 9@ 9Q 9, S0m/ol Si9e 29 # 29 2' # 2' 2: # 2: ;; # ;; ;Q # ;Q 49 # 49 4' # 4' 4: # 4: '; # '; 'Q # 'Q @9 # @9 @' # @' @: # @: Q; # Q; QQ # QQ ,9 # ,9 ,' # ,' ,: # ,: Input 29 22 2; 24 2' 2@ 2Q 2, 2: ;( ;9 ;2 ;; ;4 ;' ;@ ;Q ;, 4(5@9 S0m/ol Si9e 9(9 # 9(9 9(' # 9(' 9(: # 9(: 99; # 99; 99Q # 99Q 929 # 929 92' # 92' 92: # 92: 9;; # 9;; 9;Q # 9;Q 949 # 949 94' # 94' 94: # 94: 9'; # 9'; 9'Q # 9'Q 9@9 # 9@9 9@' # 9@' 9@: # 9@:
9: 2(
:; # :; :Q # :Q
;: 4(
The ma#imum capacity of a )version 4(* QB Fode symbol is Q(,: numeric digits" 42:@ alphanumeric characters or 2:'; bytes of data. QB Fode symbols can also be used to encode G/9 data. QB Fode symbols can encode characters in the ?atin-9 set and Tanji characters $hich are members of the /hift-U!/ encoding scheme. !nput should be entered as a T+-, stream $ith conversion to /hift-U!/ being carried out automatically by Zint. % separate symbology !G can be used to encode Kealth !ndustry >arcode )K!>F* data $hich adds a leading HSH character and a modulo-4: check digit to the encoded data.
495@9
*haracters
Meaning &ostcode data $hich can consist of up to : digits )for mode 2* or up to @ alphanumeric characters )for mode ;*. Bemaining unused characters should be filled $ith the /&%F. character )%/F!! ;2*. Three digit country code according to !/E ;9@@ )see %ppendi# >*. Three digit service code. This depends on your parcel courier.
9-:
9(-92 9;-9'
The primary message can be designated at the command prompt using the --primary= s$itch. The secondary message uses the normal data entry method. +or e#ample4
zint -o test.eps -b M$ --primar+='PPPPPPPPPQ#!! A' -d '6econdar+ Lessage Rere'
Dhen using the %&! the primary message must be placed in the symbol->primary string. The secondary is entered in the same $ay as described in section '.2. Dhen either of these modes is selected Zint $ill analyse the primary message and select either mode 2 or mode ; as appropriate. 1odes 4 to @ can be accessed using the --mode= s$itch or by setting option_1. 1odes 4 to @ do not re<uire a primary message. +or e#ample4
zint -o test.eps -b M$ --mode=# -d 'E Laxi0ode Lessage in Lode #'
1ode @ is reserved for the maintenance of scanner hard$are and should not be used to encode user data. %ll modes support e#tended %/F!! characters and number compression. The ma#imum length of te#t $hich can be placed in a 1a#icode symbol depends on the type of characters used in the te#t. .#ample ma#imum data lengths are given in the table belo$4 Ma"imum .ata Ma"imum .ata !ength #or !ength #or *apital !etters Numeric .igits ,4 ,4 :; QQ :; 92@ 92@ 9;' 99( 9;' '( '( '( @@ '( Num/er o# +rror *orrection *ode$ords
Mode
425@9
-ote that in symbols $hich have a specified si2e the amount of error correction is dependent on the length of the data input and Zint $ill allo$ error correction capacities as lo$ as ; code$ords. %lternatively the amount of error correction data can be specified by use of the --mode= option or 4;5@9
by setting option_1 to a value from the follo$ing table4 Mode 9 2 ; 4 +rror *orrection *apacit0 \9(Z S ; code$ords \2;Z S ; code$ords \;@Z S ; code$ords \'(Z S ; code$ords
!t is not possible to select both symbol si2e and error correction capacity for the same symbol. !f both options are selected then the error correction capacity selection $ill be ignored. %2tec Fode is able to encode any e#tended %/F!! character data up to a ma#imum length of appro#imately ;,2; numeric or ;(@Q alphabetic characters or 9:94 bytes of data. % separate symbology !G can be used to encode Kealth !ndustry >arcode )K!>F* data $hich adds a leading HSH character and a modulo-4: check digit to the encoded data.
445@9
9(
9@J height :(
''
0ersion / symbols can only encode numeric data. The $idth of version / and version T symbols is determined by the length of the input data.
4'5@9
Mode 9 2 ; 4 '
+rror *orrection *apacit0 %ppro#imately 9(Z %ppro#imately 2(Z %ppro#imately ;(Z %ppro#imately 4(Z %ppro#imately '(Z
4.5. ;lattermarBen
sed for the recognition of page se<uences in print-shops" the +lattermarken is not a true barcode symbol and re<uires precise kno$ledge of the position of the mark on the page. The +lattermarken system can encode any length numeric data and does not include a check digit.
4@5@9
5. <atent Issues
%ll of the code in Zint is developed using information in the public domain" usually freely available on the !nternet. /ome of the techni<ues used may be subject to patents and other intellectual property legislation. !t is my belief that any patents involved in the technology underlying symbologies utilised by Zint are HunadoptedH" that is the holder does not object to their methods being used. !f" ho$ever" you are a patent holder or hold any other intellectual property rights on the methods used by Zint or the symbologies $hich Zint generates" and do not $ant Zint to continue to support your symbology then please contact me and ! $ill update the code to accommodate your 4Q5@9
$ishes at the soonest opportunity. %ny methods patented or o$ned by third parties or trademarks or registered trademarks used $ithin Zint or in this document are and remain the property of their respective o$ners and do not indicate endorsement or affiliation $ith those o$ners" companies or organisations.
routines. --font option removed. .ncoding is no$ done $ith a restructured 2int6symbol structure. %dded make install option and optional QB Fode support to 1akefile. Forrected minor problem $ith 4-/tate Fodes. Bestructured code into fe$er source code files. %dded 1icro&G+49Q support. 925,52((Q v9.'.9 - %dded formatting code to .&/ output of .%- and &F symbols according to .Q:Q49::@. Fhecked against and" $here appropriate" altered or corrected to comply $ith !/E 9@;,, and !/E 9'49Q including ?atin-9 support. %ltered default image settings" added automatic !T+ border. Forrected error $ith /&/ EneFode. Tidied up Fode ;: <uite a bit" added 1od 4; options. ;5:52((Q v9.'.2 - %dded e#tended %/F!! support to Fode 9@k. Forrected Fode 92, error. %dded 1a#icode support by integrating code by Uohn ?ien. 2@5:52((Q v9.'.; - 1ade huge corrections to 1a#icode support by removing and re-$riting much of UohnHs code. 1a#icode no$ supports e#tended %/F!! and modes 4" ' and @. 9(59(52((Q v9.'.4 - %dded G/9 Gata>ar )Beduced /pace /ymbology* support. 2@59952((Q v9.'.' - %dded composite symbology support. Forrected errors $ith G/9-92, and &G+49Q51icro&G+49Q byte processing. Transferred licence to G&? version ;. :5;52((, v9.@ - Gata 1atri#" 1a#icode and %ustralia &ost no$ use common Beed-/olomon functions - this also fi#es a bug in 1a#icode error correction and replaces the last of the ?ien code. %dded &-G output for 1a#icode symbols. Bemoved some useless code. pdated QB support for lib%rencode v2.(.(. 225452((, [email protected] - 1ajor restructuring of &-G generating code4 -o$ dra$s &F% and .%- symbols properly and puts human readable te#t into the image. %lso corrected some nasty Hnever ending loopH bugs in Fode 92, and check digit bugs in &ost-et and &lanet. ,5Q52((, [email protected] - %dded T!J Fode support and &-G image rotation. Forrected a bug affecting e#tended %/F!! support in Fode 92, and Fode 9@k. 2,5Q52((,. v2.( beta - %dded support for %2tec Fode" Fodablock-+" Fode ;2" .%--94 and G%+T Fode. Bearranged symbology numbers to match Tbarcode v,. Forrected a never ending loop bug in .%-92,. 2:5:52((, v2.( beta r2 - 1any corrections and bugfi#es. )Fode 99" Fode 92," .%--92," %2tec Fode" Fodablock-+" Fode 9@k" &ostnet" &?%-.T" -0.-9," &Z-" Gata 1atri#" 1a#icode and QB Fode* v2.( - 1ade corrections to %2tec Fode and tested output $ith bcTester. %dded %2tec Bunes" 1icro QB Fode and Gata 1atri# .FF (((-94(. pdated e-mail information. 9,59952((, v2.9 - Beinstated Torea &ost barcodes" harmonised bind and bo# options" moved nicode handling into backend and added input6mode option" added si2e options to Gata 1atri#" added - ?? character handling for Fodablock-+" Fode 92," Fode 9@k" .#tended Fode ;:" Fode :;" Telepen" 1a#icode" Gata 1atri# .FF 2((" &G+49Q and 1icro&G+49Q. %dded G/9 support for Fode 9@k" Fodablock-+ and %2tec Fode. %dded scale and direct to stdout options. Bebult Gata 1atri# .FF 2(( encoding algorithms to support - ?? encoding and G/9 data encoding. ;95952((: v2.9.9 - 1inor Gata 1atri# bugfi# and added K!>F options. 9(5252((: v2.9.2 - %dded /0G output option. !mproved Uapanese character support including nicode \ 4:5@9
/hift-U!/ capability. >ugfi#es for Gata 1atri# )missing characters at end of string* and Fodablock-+ )T95T2 check digit and ro$ indicators above ro$ @*. 95;52((: v2.9.; - 1any improvements to the QZint G ! $hich is no$ renamed IZint >arcode /tudio (.2I. %dded Uapanese &ostal >arcode" Fode 4: and Fhannel Fode and made corrections to Gata 1atri# )>inary mode data compression terminates too soon*" %2tec Fode )>ug $hen automatically resi2ing after removing Iall (I and Iall 9I code$ords* and Fode 92, ).#tended %/F!! characters become corrupt*. 9:5'52((: v2.9.4 - 1any stability improvements including removal of buffer overruns in Fode ;:" ?EG1%B/" &Z-" %2tec Fode and Fomposite FF-%. %ddition of files for compiling on 1/ Dindo$s platform - tested successfully on J& and 0ista. 9:5@52((: v2.2 - %dded Fode Ene and G/9 support in Fode 4:. Fhanged G ! binary name to 2int-<t and brought G ! up to version 9.(. 1ade some minor bugfi#es to Fode ;:" !T+-94" %2tec Fode" Fode 92, and Fode 9@T. %dded HrestH button to G !. !ncluded .spec file from Badist. 9,5Q52((: v2.2.9 - Gata encoding bugfi#es for %2tec Fode" Gata 1atri#" /&/ Ene Fode and &G+49Q. /ymbol plotting bugfi#es for 1icro&G+49Q and 2G components of composite symbols. Te#t formatting bugfi# for Qt renderer and a couple of compiler fi#es for 1/0F &-G image output. @5,52((: v2.2.2 - % beta release previe$ing the ne$ %&! structure. >etter - ?? character support $ith InullcharI value removed. %dded loading from file and se<uence dialogs in >arcode /tudio. 2:5:52((: v2.; - +i#ed problems $ith 1icro QB Fode and rebuilt QB Fode support removing dependence on lib<rencode. !mproved Tanji character support for QB Fode and 1icro QB Fode $hich no$ autodetects and automatically converts to /hift-U!/. %dded Grid 1atri# symbology $ith Tanji character support and automatic conversion to G> 2;92. Bemoved no6<r compile option. %dvanced >arcode /tudio version number to match library version number. 2;59952((: v2.;.9 - Bemoved Fodablock-+. Bedesigned scale function so that human readable te#t and 1a#icode symbols can be scaled consistently. Forrected encoding bugs $ith Fode 92,5Fode 9@k and Gata 1atri# .FF ('(. %dded --note#t option to F?!. Q5;52(9( v2.;.2 - Forrected many bugs in G/9 Gata>ar .#tended thanks to the careful study of the code by &ablo Erdu]a at the &!B%m!G. project. /imilarly corrected some bugs in 1a#icode thanks to 1onica /$anson at /ource Technologies. %lso minor bugfi#es for !/>- and %2tec Fode" and added some small features like a --s<uare option in the F?!. 2:5'52(9( v2.4 - >uilt e#tensions to the %&! for integrating $ith glabels $ith thanks to /am ?o$n and Uim .vins. %dded code optimisation and input from stdin thanks to !smael ?uceno. Beinstated escape character input. /implification of >arcode /tudio. 9;5:52(9( v2.4.9 Y 2.4.2 C % $hole host of bugfi#es including correction of .FF routines for Fode-9 and addition of batch processing at the command line.
>ar Fode 9 /pecification /ource &age /> .lectronic /ystems Telepen $ebsite &harmacode specifications from ?aetus 1orovia B14/FF specification %ustalia &ostHs H% Guide to &rinting the 4-/tate >arcodeH and bcsample source code &lessey algorithm from G- ->arcode v(.:, by ?eonid %. >roukhis G/9 General /pecifications v ,.( !ssue 2 &-G4 The Gefinitive Guide and $png source code by Greg Beolofs &G+49Q specification and pdf49Q source code by Grand Zebu >arcode Beference" T>arFode5J ser Gocumentation and T>arFode5J demonstration program from Tec-!t !.F9@(22 source code by /tefan /chmidt et al nited /tates &ostal /ervice /pecification /&/->-;2(( %dobe /ystems !ncorporated .ncapsulated &ost/cript +ile +ormat /pecification >/! Enline ?ibrary ?ibdmt# Gata 1atri# decoding library
techni<ues - QB Fode 2((' bar code symbology specification >/ !/E5!.F 24Q2;42((@ !nformation technology - %utomatic identification and data capture techni<ues - .%-. FF Fomposite bar code symbology specification >/ !/E5!.F 24Q2442((@ !nformation technology - %utomatic identification and data capture techni<ues - Beduced /pace /ymbology )B//* bar code symbology specification >/ !/E5!.F 24Q2,42((@ !nformation technology - %utomatic identification and data capture techni<ues - 1icro&G+49Q bar code symbology specification !/E5!.F 24QQ,42((, !nformation technology - %utomatic identification and data capture techni<ues - %2tec Fode bar code symbology specification niform /ymbology /pecification Fode Ene )%!1 !nc." 9::4* %-/!5%!1 >F92-9::, - niform /ymbology /pecification Fhannel Fode %-/!5%!1 >F@-2((( - niform /ymbology /pecification Fode 4: %-/!5K!>F 2.;-2((: - The Kealth !ndustry >ar Fode )K!>F* /upplier ?abeling /tandard %!1G(94 )v 9.@;* - !nformation technology" %utomatic identification and data capture techni<ues >ar code symbology specification - Grid 1atri# )Beleased :th Gec 2((,* G/9 General /pecifications 0ersion ,.(
6 8 & B * . + ;
>/ T%> ?+ 0T ++ FB /E /!
) * P S " . 5
, : 4 ` b 8 \ 7
K ! U T ? 1 E
J 3 Z V R W e 6
h i j k l m n o
# y 2 a c d X G.?
';5@9
'45@9
0I2KI9 TR; 8;LI0FETG0 F;>3/4G0 I? TR; 0IIU G64E286 0I6TE FG0E 0IT; 8'GHIGF; 0FIETGE 03/E 0T>F36 0.;0R F;>3/4G0 8;2LEFU 8SG/I3TG 8ILG2G0E 8ILG2G0E2 F;>3/4G0 ;03E8IF ;KT>T ;4 6E4HE8IF ;V3ETIFGE4 K3G2;E ;FGTF;E ;6TI2GE ;TRGI>GE ?E4U4E28 G64E286 (LE4HG2E6) ?EFI; G64E286 ?GSG ?G24E28 ?FE20; ?F;20R K3GE2E ?F;20R >I4T2;6GE ?F;20R 6I3TR;F2 T;FFGTIFG;6 KE/I2 KEL/GE K;IFKGE K;FLE2T KRE2E KG/FE4TEF KF;;0; KF;;24E28 KF;2E8E K3E8;4I3>; K3EL K3ET;LE4E K3;F26;T K3G2;E K3G2;E-/G66E3 K3TE2E REGTG R;EF8 G64E28 E28 L08I2E48 G64E286 RI4T 6;; (HETG0E2 0GTT 6TET;) RI283FE6 RI2K UI2K R32KEFT G0;4E28 G28GE G28I2;6GE GFE2 (G64ELG0 F;>3/4G0 I?) GFEV GF;4E28 G64; I? LE2 G6FE;4 GTE4T SELEG0E SE>E2 S;F6;T
Q! Q# QQ BQ# P PA PN A!B A!Q ANA A A A # A Q Q Q AAA AAN ABA ABB AB ABQ AB# A#A A#N AM! AM# AMQ AN! ANN A$! ANQ A$N AQQ APA B!! B!# B!Q B A B N BA! QB BA# NA# BAQ BBA BB# BBN B#! B## B#Q BMA BMN BN! BN# BNQ B$A QBB B$N BQ! BQQ BPA QBA
''5@9
SIF8E2 UE.EUR6TE2 U;2TE UGFG/ETG UIF;E9 8;LI0FETG0 >;I>4;'6 F;>3/4G0 I? UIF;E9 F;>3/4G0 I? U3DEGT UTFKT.6TE2 4EI >;I>4;'6 8;LI0FETG0 F;>3/4G0 4ETHGE 4;/E2I2 4;6ITRI 4G/;FGE 4G/TE2 EFE/ SELERGFGTE 4G;0RT;26T;G2 4GTR3E2GE 43O;L/I3FK LE0EI LE0;8I2GE9 TR; ?IFL;F T3KI64EH F;>3/4G0 I? LE8EKE60EF LE4EDG LE4ET6GE LE48GH;6 LE4G LE4TE LEF6RE44 G64E286 LEFTG2GV3; LE3FGTE2GE LE3FGTG36 LETITT; L;OG0I LG0FI2;6GE9 ?;8;FET;8 6TET;6 I? LI48IHE9 F;>3/4G0 I? LI2E0I LI2KI4GE LI2T;2;KFI LI2T6;FFET LIFI00I LI.EL/GV3; LTE2LEF 2ELG/GE 2E3F3 2;>E4 2;TR;F4E286 2;TR;F4E286 E2TG44;6 2;D 0E4;8I2GE 2;D .;E4E28 2G0EFEK3E 2GK;F 2GK;FGE 2G3; 2IF?I4U G64E28 2IFTR;F2 LEFGE2E G64E286 2IFDET ILE2 >EUG6TE2 >E4E3 >E4;6TG2GE2 T;FFGTIFT9 I003>G;8 >E2ELE >E>3E 2;D K3G2;E >EFEK3ET
#!! BPQ #!# APN #!Q # ! # # # $ # Q #AQ #AA #AN #B! #B# #BQ ##! ##A ##N Q!$ #M! #M# #MQ #NA #NN #$! MQ# #$# #$Q #Q! $M #Q# MQB #PQ #PA #PN #PP M!! M!# M!Q !# M N MA! MA# MAQ MB! M#! MM# MMQ MNA MNN M$! M$# MQ! M$Q M A MQN MQM A$M MP MPQ N!!
'@5@9
>;F3 >RG4G>>G2;6 >GT0EGF2 >I4E28 >IFT3KE4 >3;FTI FG0I VETEF F;32GI2 FILE2GE F366GE2 ?;8;FETGI2 FDE28E 6EG2T R;4;2E 6EG2T UGTT6 E28 2;HG6 6EG2T 430GE 6EG2T >G;FF; E28 LGV3;4I2 6EG2T HG20;2T E28 TR; KF;2E8G2;6 6ELIE 6E2 LEFG2I 6EI TIL; E28 >FG20G>; 6E38G EFE/GE 6;2;KE4 6;F/GE 6;T0R;44;6 6G;FFE 4;I2; 6G2KE>IF; 64IHEUGE 64IH;2GE 6I4ILI2 G64E286 6ILE4GE 6I3TR E?FG0E 6I3TR K;IFKGE E28 TR; 6I3TR 6E28DG0R G64E286 6>EG2 6FG 4E2UE 638E2 63FG2EL; 6HE4/EF8 E28 SE2 LET;2 6T. R;4;2E 6T. >G;FF; E28 LGV3;4I2 6DE.G4E28 6D;8;2 6DGT.;F4E28 6TFGE2 EFE/ F;>3/4G0 TEGDE29 >FIHG20; I? 0RG2E TESGUG6TE2 TE2.E2GE9 32GT;8 F;>3/4G0 I? TREG4E28 TGLIF-4;6T; TIKI TIU;4E3 TI2KE TFG2G8E8 E28 TI/EKI T32G6GE T3FU;T T3FUL;2G6TE2 T3FU6 E28 0EG0I6 G64E286 T3HE43 3KE28E 3UFEG2; 32GT;8 EFE/ ;LGFET;6 32GT;8 UG2K8IL 32GT;8 6TET;6
N!# N!Q N A N N NA! NB! NB# NBQ N#A N#B N#N NM# NMP NNA NNN N$! QQA N$# N$Q NQA NQN NQQ NP! NP# $!A $!B $!M !P! $!N $ ! ABP $A# ## $BN $#! $## NM# NNN $#Q $MA $MN $N! MQ $NA QB# $N# NAN $NQ $$A $$N $Q! $QQ $PA $PM $PN $PQ Q!! Q!# $Q# QAN Q#!
'Q5@9
32GT;8 6TET;6 LG2IF I3T4TG2K G64E286 3F3K3ET 3./;UG6TE2 HE23ET3 HETG0E2 0GTT 6TET; (RI4T 6;;) H;2;.3;4E HG;T 2EL HGFKG2 G64E286 (/FGTG6R) HGFKG2 G64E286 (3.6.) DE44G6 E28 ?3T32E D;6T;F2 6EREFE T;L;2 T3KI64EHGE .EL/GE .GL/E/D;
MQ QMQ QN! M#Q BBN QNA $!# !PA QM! Q$N $BA QQ$ QP QP# $ N
',5@9
BBB+ 0ontainer 8epth/Thickness/Brd 8imension (Leters) BB#+ 0ontainer Erea (6quare Leters) BBM+ 0ontainer Kross Holume (4iters) BBN+ 0ontainer Kross Holume (0ubic Leters) B#!+ 0ontainer Kross Deight (>ounds) B# + 0ontainer 4ength/ st 8imension9 in inches B#A+ 0ontainer 4ength/ st 8imension9 in feet B#B+ 0ontainer 4ength/ st 8imension in9 in +ards B##+ 0ontainer Didth/8iameter/And 8imension9 in inches B#M+ 0ontainer Didth/8iameter/And 8imension9 in feet B#N+ 0ontainer Didth/8iameter/And 8imension9 in +ards B#$+ 0ontainer 8epth/Thickness/Reight/Brd 8imension9 in inches B#Q+ 0ontainer 8epth/Thickness/Reight/Brd 8imension9 in feet B#P+ 0ontainer 8epth/Thickness/Reight/Brd 8imension9 in +ards BM!+ >roduct Erea (6quare Gnches) BM + >roduct Erea (6quare ?eet) BMA+ >roduct Erea (6quare Tards) BMB+ 0ontainer Erea (6quare Gnches) BM#+ 0ontainer Erea (6quare ?eet) BMM+ 0ontainer Erea (6uqare Tards) BMN+ 2et Deight (Tro+ Iunces) BN!+ >roduct Holume (Vuarts) BN + >roduct Holume (Kallons) BNA+ 0ontainer Kross Holume (Vuarts) BNB+ 0ontainer Kross Holume (Kallons) BN#+ >roduct Holume (0ubic Gnches) BNM+ >roduct Holume (0ubic ?eet) BNN+ >roduct Holume (0ubic Tards) BN$+ 0ontainer Kross Holume (0ubic Gnches) BNQ+ 0ontainer Kross Holume (0ubic ?eet) BNP+ 0ontainer Kross Holume (0ubic Tards) B$ 2umber of 3nits 0ontained #!! 0ustomer >urchase Irder 2umber # ! 6hip To/8eli:er To 4ocation 0ode (Klobal 4ocation 2umber) # /ill To/Gn:oice 4ocation 0ode (Klobal 4ocation 2umber) # A >urchase ?rom 4ocation 0ode (Klobal 4ocation 2umber) #A! 6hip To/8eli:er To >ostal 0ode (6ingle >ostal Euthorit+) #A 6hip To/8eli:er To >ostal 0ode (Lultiple >ostal Euthorit+) Q!! Foll >roducts - Didth/4ength/0ore 8iameter Q!!A ;lectronic 6erial 2umber (;62) for 0ellular >hone Q!!B Klobal Feturnable Esset Gdentifier Q!!# Klobal Gndi:idual Esset Gdentifier Q!!M >rice per 3nit of Leasure Q !! 0oupon ;xtended 0odeJ 2umber 6+stem and Iffer Q ! 0oupon ;xtended 0odeJ 2umber 6+stem9 Iffer9 ;nd of Iffer Q !A 0oupon ;xtended 0odeJ 2umber 6+stem preceded b+ !P! Lutuall+ Egreed /et"een Trading >artners P Gnternal 0ompan+ 0odes PA Gnternal 0ompan+ 0odes PB Gnternal 0ompan+ 0odes P# Gnternal 0ompan+ 0odes PM Gnternal 0ompan+ 0odes PN Gnternal 0ompan+ 0odes P$ Gnternal 0ompan+ 0odes PQ Gnternal 0ompan+ 0odes PP Gnternal 0ompan+ 0odes
%!s have fi#ed length data fields and ho$ long the data should be for each4
@(5@9
V9W This information taken from Dikipedia and used under the terms of the G- +ree Gocumentation ?icense.
@95@9