barcode man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

BARCODE(1)			  GNU barcode			    BARCODE(1)

NAME
       barcode - a stand alone program to run the barcode library

SYNOPSIS
       barcode [-b - | string] [-e encoding] [-o - | outfile] [ other-flags ]

DESCRIPTION
       The  information below is extracted from the texinfo file, which is the
       preferred source of information.

       The barcode program is a front-end  to  access  some  features  of  the
       library	from  the  command  line.   It	is  able to read user supplied
       strings from the command	 line  or  a  data  file  (standard  input  by
       default) and encode all of them.

OPTIONS
       barcode accepts the following options:

       --help or -h
	      Print a usage summary and exit.

       -i filename
	      Identify	a  file	 where strings to be encoded are read from. If
	      missing (and if -b is not used) it defaults to  standard	input.
	      Each data line of the input file will be used to create one bar‐
	      code output.

       -o filename
	      Output file. It defaults to standard output.

       -b string
	      Specify a single ``barcode'' string to be encoded.   The	option
	      can  be  used multiple times in order to encode multiple strings
	      (this will result in multi-page postscript output or a table  of
	      barcodes if -t is specified).  The strings must match the encod‐
	      ing chosen; if it doesn't match the program will print a warning
	      to  stderr  and  generate	 ``blank''  output (although not zero-
	      length).	Please note that a string including  spaces  or	 other
	      special characters must be properly quoted.

       -e encoding
	      encoding	is  the name of the chosen encoding format being used.
	      It defaults to  the  value  of  the  environment	variable  BAR‐
	      CODE_ENCODING  or	 to  auto detection if the environment is also
	      unset.

       -g geometry
	      The geometry argument is of the form ``[<width> x	 <height>]  [+
	      <xmargin>	 + <ymargin>]'' (with no intervening spaces). Unspeci‐
	      fied margin values will result in no  margin;  unspecified  size
	      results  in  default size.  The specified values represent print
	      points by default, and can be inches, millimeters or other units
	      according to the -u option or the BARCODE_UNIT environment vari‐
	      able.  The argument is used to place the printout	 code  on  the
	      page. Note that an additional white margin of 10 points is added
	      to the printout. If the option is unspecified,  BARCODE_GEOMETRY
	      is  looked  up in the environment, if missing a default size and
	      no margin (but the default 10 points) are used.

       -t table-geometry
	      Used to print several barcodes to a single page, this option  is
	      meant  to be used to print stickers. The argument is of the form
	      ``<columns>  x  <lines>  [+  <leftmargin>	 +  <bottommargin>  [-
	      <rightmargin>  [- <topmargin>]]]'' (with no intervening spaces);
	      if missing, the top and right margin will default to be the same
	      as  the  bottom  and  left  margin. The margins are specified in
	      print points or in the chosen  unit  (see	 -u  below).   If  the
	      option is not specified, BARCODE_TABLE is looked up in the envi‐
	      ronment, otherwise no table is printed and each barcode will get
	      its own page.  The size (but not the position) of a barcode item
	      within a table can also be selected  using  -g  (see  "geometry"
	      above),  without	struggling with external and internal margins.
	      I still think management of geometries in a table is suboptimal,
	      but  I  can't  make it better without introducing incompatibili‐
	      ties.

       -m margin(s)
	      Specifies an internal margin for each sticker in the table.  The
	      argument	is  of the form ``<xmargin>,<ymargin>'' and the margin
	      is applied symmetrically to the  sticker.	 If  unspecified,  the
	      environment  variable BARCODE_MARGIN is used or a default inter‐
	      nal margin of 10 points is used.

       -n     ``Numeric'' output: don't print the ASCII form of the code, only
	      the bars.

       -c     No  checksum  character  (for encodings that allow it, like code
	      39, other codes, like UPC or EAN, ignore this option).

       -E     Encapsulated postscript (default is normal postscript). When the
	      output is generated as EPS only one barcode is encoded.

       -P     PCL  output.  Please  note that the Y direction goes from top to
	      bottom for PCL, and the origin for an image is the top-left cor‐
	      ner instead of the bottom-left

       -p pagesize
	      Specify  a non-default page size. The page size can be specified
	      in  millimeters,	inches	or   plain   numbers   (for   example:
	      "210x297mm",  "8.5x11in",	 "595x842").  A	 page specification as
	      numbers will be interpreted according to the current unit speci‐
	      fication	(see -u below). If libpaper is available, you can also
	      specify the page size with its name, like "A3" or "letter" (lib‐
	      paper  is	 a  standard component of Debian GNU/Linux, but may be
	      missing elsewhere). The default page size	 is  your  system-wide
	      default if libpaper is there, A4 otherwise.

       -u unit
	      Choose the unit used in size specifications. Accepted values are
	      ``mm'', ``cm'', ``in'' and ``pt''. By default, the program  will
	      check  BARCODE_UNIT in the environment, and assume points other‐
	      wise (this behaviour is compatible with 0.92 and	previous  ver‐
	      sions. If -u appears more than once, each instance will modified
	      the behaviour for the arguments at its  right,  as  the  command
	      line  is	processes  left to right. The program internally works
	      with points, and any size is approximated to the nearest	multi‐
	      ple of one point. The -u option affect -g (geometry), -t (table)
	      and -p (page size).

ENCODING TYPES
       The program encodes text strings passed	either	on  the	 command  line
       (with  -b) or retrieved from standard input. The text representation is
       interpreted according to the following rules.  When  auto-detection  of
       the  encoding is enabled (i.e, no explicit encoding type is specified),
       the encoding types are scanned to find one that	can  digest  the  text
       string.	 The  following	 list of supported types is sorted in the same
       order the library uses when auto-detecting a suitable  encoding	for  a
       string.

       EAN    The  EAN	frontend is similar to UPC; it accepts strings of dig‐
	      its, 12 or 7 characters long. Strings of 13 or 8 characters  are
	      accepted	if  the	 provided checksum digit is correct.  I expect
	      most users to feed input without a checksum, though.  The	 add-2
	      and  add-5  extension  are  accepted for both the EAN-13 and the
	      EAN-8 encodings.	The  following	are  example  of  valid	 input
	      strings:	``123456789012''  (EAN-13),  ``1234567890128'' (EAN-13
	      wih checksum),  ``1234567'' (EAN-8), ``12345670  12345''	(EAN-8
	      with  checksum  and  add-5),  ``123456789012  12''  (EAN-13 with
	      add-2), ``123456789012 12345'' (EAN-13 with add-5).

       UPC    The UPC frontend accepts only strings made up of digits (and, if
	      a	 supplemental  encoding	 is used, a blank to separate it).  It
	      accepts strings of 11 or 12 digits (UPC-A) and 6 or 7 or 8  dig‐
	      its (UPC-E).

       The  12th digit of UPC-A is the checksum and is added by the library if
       not specified in the input; if it is specified, it must	be  the	 right
       checksum	 or  the  code is rejected as invalid.	For UPC-E, 6 digit are
       considered to be the middle part of the code, a leading	0  is  assumed
       and  the	 checksum is added; 7 digits are either considered the initial
       part (leading digit 0 or 1, checksum missing) or the final part (check‐
       sum  specified,	leading	 0 assumed); 8 digits are considered to be the
       complete code, with leading 0 or 1 and checksum.	 For  both  UPC-A  and
       UPC-E,  a  trailing string of 2 digits or 5 digits is accepted as well.
       Therefore, the following are examples of	 valid	strings	 that  can  be
       encoded	as  UPC:  ``01234567890'' (UPC-A) ``012345678905'' (UPC-A with
       checksum), ``012345'' (UPC-E), ``01234567890 12''  (UPC-A,  add-2)  and
       ``01234567890  12345''  (UPC-A,	add-5), ``0123456 12'' (UPC-E, add-2).
       Please note that when setting BARCODE_ANY to auto-detect	 the  encoding
       to be used, 12-digit strings and 7-digit strings will always be identi‐
       fied as EAN. This because I expect most user to provide input without a
       checksum.  If  you  need to specify UPC-with-checksum as input you must
       explicitly set BARCODE_UPC as a flag or use -e upc on the command line.

       ISBN   ISBN numbers are encoded as EAN-13  symbols,  with  an  optional
	      add-5  trailer.  The  ISBN  frontend of the library accepts real
	      ISBN numbers and deals with any hyphen and, if present, the ISBN
	      checksum	character  before encoding data. Valid representations
	      for   ISBN   strings   are   for	 example:   ``1-56592-292-1'',
	      ``3-89721-122-X'' and ``3-89721-122-X 06900}''.

       code 128-B
	      This  encoding  can  represent all of the printing ASCII charac‐
	      ters, from the space (32) to DEL (127). The  checksum  digit  is
	      mandatory in this encoding.

       code 128-C
	      The  ``C'' variation of Code-128 uses Code-128 symbols to repre‐
	      sent two digits at a time (Code-128 is made up  of  104  symbols
	      whose  interpretation  is	 controlled  by the start symbol being
	      used). Code 128-C is thus the most compact way to represent  any
	      even  number  of digits. The encoder refuses to deal with an odd
	      number of digits because	the  caller  is	 expected  to  provide
	      proper  padding  to  an  even  number of digits. (Since Code-128
	      includes control symbols to switch charset, it is	 theoretically
	      possible	to  represent  the  odd digit as a Code 128-A or 128-B
	      symbol, but this tool doesn't currently implement this option).

       code 128 raw
	      Code-128	output	represented  symbol-by-symbol  in  the	 input
	      string.	To  override  part  of	the problems outlined below in
	      specifying code128 symbols, this pseudo-encoding allows the used
	      to  specify  a list of code128 symbols separated by spaces. Each
	      symbol is represented by a number in the range 0-105.  The  list
	      should  include  the leading character.The checksum and the stop
	      character are automatically added by the	library.  Most	likely
	      this pseudo-encoding will be used with BARCODE_NO_ASCII and some
	      external program to supply the printed text.

       code 39
	      The code-39 standard can encode uppercase letters,  digits,  the
	      blank  space,  plus,  minus,  dot, star, dollar, slash, percent.
	      Any string that is only composed of such characters is  accepted
	      by  the  code-39	encoder.  To  avoid  loosing  information, the
	      encoder refuses to encode mixed-case strings (a lowercase string
	      is  nonetheless accepted as a shortcut, but is encoded as upper‐
	      case).

       interleaved 2 of 5
	      This encoding can only represent an even number of  digits  (odd
	      digits  are  represented	by bars, and even digits by the inter‐
	      leaving spaces). The name stresses the fact that two of the five
	      items  (bars or spaces) allocated to each symbol are wide, while
	      the rest are narrow. The checksum digit is optional (can be dis‐
	      abled  via  BARCODE_NO_CHECKSUM).	  Since	 the number of digits,
	      including the checksum, must be even, a leading zero is inserted
	      in  the  string  being  encoded  if needed (this is specifically
	      stated in the specs I have access to).

       code 128
	      Automatic selection between alphabet A, B and C of the  Code-128
	      standard.	 This encoding can represent all ASCII symbols, from 0
	      (NUL) to 127 (DEL), as well as four special symbols,  named  F1,
	      F2, F3, F4. The set of symbols available in this encoding is not
	      easily represented as input to the barcode library, so the  fol‐
	      lowing  convention  is used.  In the input string, which is a C-
	      language null-terminated string, the NUL char is represented  by
	      the  value  128 (0x80, 0200) and the F1-F4 characters are repre‐
	      sented by the values 193-196 (0xc1-0xc4, 0301-0304).  The values
	      have   been  chosen  to  ease  their  representation  as	escape
	      sequences.

       Since the shell doesn't seem to interpret escape sequences on the  com‐
       mand  line,  the	 "-b"  option  cannot  be easily used to designate the
       strings to be encoded. As a workaround you can resort  to  the  command
       echo, either within back-ticks or used separately to create a file that
       is then fed to the standard-input of barcode -- assuming your echo com‐
       mand  processes	escape sequences.  The newline character is especially
       though to encode (but not impossible unless you use a csh variant.

       These problems only apply to the command-line tool; the use of  library
       functions  doesn't  give any problem. In needed, you can use the ``code
       128 raw'' pseudo-encoding to represent code128 symbols by their numeri‐
       cal  value.  This encoding is used late in the auto-selection mechanism
       because (almost) any input string can be represented using code128.

       Codabar
	      Codabar can encode the ten digits	 and  a	 few  special  symbols
	      (minus,  plus,  dollar,  colon, bar, dot). The characters ``A'',
	      ``B'', ``C'' and ``D'' are  used	to  represent  four  different
	      start/stop  characters.  The input string to the barcode library
	      can include the start and stop characters or  not	 include  them
	      (in  which case ``A'' is used as start and ``B'' as stop). Start
	      and stop characters in the input string can be either all lower‐
	      case or all uppercase and are always printed as uppercase.

       Plessey
	      Plessey  barcodes	 can encode all the hexadecimal digits. Alpha‐
	      betic digits in the input string must either be all lowercase or
	      all uppercase. The output text is always uppercase.

       MSI    MSI can only encode the decimal digits. While the standard spec‐
	      ifies either one or two check digits, the current implementation
	      in this library only generates one check digit.

       code 93
	      The  code-93  standard  can natively encode 48 different charac‐
	      ters, including uppercase	 letters,  digits,  the	 blank	space,
	      plus,  minus, dot, star, dollar, slash, percent, as well as five
	      special characters:  a  start/stop  delimiter  and  four	"shift
	      characters"  used for extended encoding.	  Using this "extended
	      encoding" method, any standard  7-bit  ASCII  character  can  be
	      encoded,	but  it	 takes up two symbol lengths in barcode if the
	      character is not	natively  supported  (one  of  the  48).   The
	      encoder  here  fully  implements	the code 93 encoding standard.
	      Any characters natively supported (A-Z, 0-9, ".+-/$  encoded  as
	      such  -  for  any	 other characters (such as lower case letters,
	      brackets,	 parentheses,  etc.),  the  encoder  will  revert   to
	      extended	encoding.  As a note, the option to exclude the check‐
	      sum will eliminate the two modulo-47 checksums (called C and  K)
	      from the barcode, but this probably will make it unreadable by 9
	      These checksums are specified to be used at the firmware	level,
	      and their absence will be interpreted as an invalid barcode.

PCL OUTPUT
       While  the  default output is Postscript (possibly EPS), and Postscript
       can be post-processed to almost anything, it is sometimes desirable  to
       create  output directly usable by the specific printer at hand.	PCL is
       currently supported as an output format for this reason.	  Please  note
       that  the Y coordinate for PCL goes from top to bottom, while for Post‐
       script it goes from bottom to top. Consistently,	 while	in  Postscript
       you  specify  the bottom-left corner as origin, for PCL you specify the
       top-left corner.

       Barcode output for PCL Printers	(HP  LaserJet  and  compatibles),  was
       developed  using PCL5 Reference manuals from HP.	 that really refers to
       these printers:

       LaserJet III, III P, III D, III Si,

       LaserJet 4 family

       LaserJet 5 family

       LaserJet 6 family

       Color LaserJet

       DeskJet 1200 and 1600.

       However, barcode printing uses a very small  subset  of	PCL,  probably
       also  LaserJet  II  should  print it without problem, but the resulting
       text may be horrible.

       The only real difference from one printer to another really depends  on
       which  font  are	 available  in the printer, used in printing the label
       associated to the bars (if requested).

       Earlier LaserJet supports only bitmaps fonts, so these are  not	"scal‐
       able".  (Ljet II ?), Also these fonts, when available, have a specified
       direction, and not all of them are available in both Portrait and Land‐
       scape mode.

       From  LaserJet  4 series, (except 4L/5L that are entry-level printers),
       Arial scalable font should be available, so  it's  the  "default	 font"
       used by this program.

       LaserJet	 III  series printers (and 4L, 5L), don't feature "Arial" as a
       resident font, so you should use BARCODE_OUT_PCL_III  instead  of  BAR‐
       CODE_OUT_PCL.,  and  font  the  font  used will be "Univers" instead of
       "Arial".

       Results on compatible printers, may depend on consistency of PCL5  com‐
       patibility, in doubt, try BARCODE_OUT_PCL_III

       PJL commands are not used here, as it's not very compatible.

       Tested Printers:

       Hp LaserJet 4050

       Hp LaserJet 2100

       Epson N-1200 emul PCL

       Toshiba DP2570 (copier) + PCL option

       Epson EPL-7100 emul. HP LaserJet II: bars print fine but text is bad.

BUGS
       The  current  management	 of  borders/margins  is far from optimal. The
       ``default'' margin applied by the library interferes with the  external
       representation,	but  I	feel it is mandatory to avoid creating barcode
       output with no surrounding white space (the problem is especially rele‐
       vant for EPS output).

       EAN-128	is not (yet) supported. I plan to implement it pretty soon and
       then bless the package as version 1.0.

SEE ALSO
       barcode(3)

AUTHORS
       Alessandro Rubini <rubini@gnu.org> (maintainer)

       Leonid A. Broukhis <leob@mailcom.com> (several encodings)

       Andrea Scopece <a.scopece@tin.it> (PCL output)

4th Berkeley Distribution	 October 2001			    BARCODE(1)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net