HomeKnown IssuesLabel StudioEpson Workarounds (with barcode font)

7.2. Epson Workarounds (with barcode font)

The Epson barcode font requires to know in advance the number of barcode digits. This is NOT possible for Label Studio to correctly handle. All Epson barcode-font style printers should be affected by this bug.  The printers that I know are affected are:

Epson DFX-9000
Epson DFX-8500
Epson FX-2190
Epson FX-2180

Barcode construction

The barcode is made up of 3 leading hex control codes, 6 digits of supporting hex codes, and between 6 and 12 data digits.  Only the supporting codes and data bytes are counted for barcode length.  The PostNet checkdigit MUST be included in the barcode by the program (LS does this). The 5th and 4th barcode digits are the barcode length, stored low order byte first (aka Little Endian mode).  The barcode font is set by the printer when the following hex commands are sent to it:

 

Part I: Epson ESC-P Start Bar Code Font

The start barcode command is 3 bits long. Bits 1-3
1b 28 01
1b = ESC
28 = Left Parentheses
42 = Capital B

Part II: Bar Code Size

The barcode size includes the 6 header bits. Bits 4-5 Stored in [LOB] [HOB] form
For Example:
12 00 ==> 0x12 or 18 characters in barcode
10 00 ==> 0x10 or 16 characters in barcode (no delivery point)
0c 00 ==> 0x0C or 12 characters in barcode (no zip+4)

Part III: Postnet Instructions

The following elements set the font into PostNet mode. Bits 5-11

07 02 00 01 01 00
07 - Postnet barcode
02 - Module width (2 = default) 2 dots per 1/120 of an inch
00 - Space Adjustment value (in units of 1/240 of an inch)
01 - Short bar code length (overridden by PostNet settings)
01 - Long bar code length (overridden by PostNet settings)
00 - Control flag binary bitfield
  Bit 0 - T/F Compute Check Digit
  Bit 1 - Add human readable characters
  Bit 2 - Position of Flag (EAN-13 and UPC-A only)
  Bit 3 - 7 reserved

Note (from ESC/P Programmer's manual, 1997) If there is invalid data (non-numeric digits), the barcode will not print.
Barcode printing is always unidirectional
Barcode will not print if it is out of the right hand margin
Barcode and text can be mixed in a line.

This page was: Helpful | Not Helpful