# Description of shipped barcodes

You will find below detailed information about all barcode types shipped by default with Zend Framework.

## Zend_Barcode_Object_Error

This barcode is a special case. It is internally used to automatically render an exception caught by the `Zend_Barcode` component.

## Zend_Barcode_Object_Code25

- Name: Code 25 (or Code 2 of 5 or Code 25 Industrial)

- Allowed characters: '0123456789'

- Checksum: optional (modulo 10)

- Length: variable

There are no particular options for this barcode.

## Zend_Barcode_Object_Code25interleaved

This barcode extends `Zend_Barcode_Object_Code25` (Code 2 of 5), and has the same particulars and options, and adds the following:

- Name: Code 2 of 5 Interleaved

- Allowed characters: '0123456789'

- Checksum: optional (modulo 10)

- Length: variable (always even number of characters)

Available options include:

### Zend_Barcode_Object_Code25interleaved Options

Option | Data Type | Default Value | Description
--- | --- | --- | ---
withBearerBars | Boolean | `FALSE` | Draw a thick bar at the top and the bottom of the barcode.

If the number of characters is not even, `Zend_Barcode_Object_Code25interleaved` will automatically prepend the missing zero to the barcode text.

## Zend_Barcode_Object_Ean2

This barcode extends `Zend_Barcode_Object_Ean5` (EAN 5), and has the same particulars and options, and adds the following:

- Name: EAN-2

- Allowed characters: '0123456789'

- Checksum: only use internally but not displayed

- Length: 2 characters

There are no particular options for this barcode.

If the number of characters is lower than 2, `Zend_Barcode_Object_Ean2` will automatically prepend the missing zero to the barcode text.

## Zend_Barcode_Object_Ean5

This barcode extends `Zend_Barcode_Object_Ean13` (EAN 13), and has the same particulars and options, and adds the following:

- Name: EAN-5

- Allowed characters: '0123456789'

- Checksum: only use internally but not displayed

- Length: 5 characters

There are no particular options for this barcode.

If the number of characters is lower than 5, `Zend_Barcode_Object_Ean5` will automatically prepend the missing zero to the barcode text.

## Zend_Barcode_Object_Ean8

This barcode extends `Zend_Barcode_Object_Ean13` (EAN 13), and has the same particulars and options, and adds the following:

- Name: EAN-8

- Allowed characters: '0123456789'

- Checksum: mandatory (modulo 10)

- Length: 8 characters (including checksum)

There are no particular options for this barcode.

If the number of characters is lower than 8, `Zend_Barcode_Object_Ean8` will automatically prepend the missing zero to the barcode text.

## Zend_Barcode_Object_Ean13

- Name: EAN-13

- Allowed characters: '0123456789'

- Checksum: mandatory (modulo 10)

- Length: 13 characters (including checksum)

There are no particular options for this barcode.

If the number of characters is lower than 13, `Zend_Barcode_Object_Ean13` will automatically prepend the missing zero to the barcode text.

## Zend_Barcode_Object_Code39

- Name: Code 39

- Allowed characters: '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ -.$/+%'

- Checksum: optional (modulo 43)

- Length: variable

`Zend_Barcode_Object_Code39` will automatically add the start and stop characters ('*') for you.

There are no particular options for this barcode.

## Zend_Barcode_Object_Identcode

This barcode extends `Zend_Barcode_Object_Code25interleaved` (Code 2 of 5 Interleaved), and inherits some of its capabilities; it also has a few particulars of its own.

- Name: Identcode (Deutsche Post Identcode)

- Allowed characters: '0123456789'

- Checksum: mandatory (modulo 10 different from Code25)

- Length: 12 characters (including checksum)

There are no particular options for this barcode.

If the number of characters is lower than 12, `Zend_Barcode_Object_Identcode` will automatically prepend missing zeros to the barcode text.

## Zend_Barcode_Object_Itf14

This barcode extends `Zend_Barcode_Object_Code25interleaved` (Code 2 of 5 Interleaved), and inherits some of its capabilities; it also has a few particulars of its own.

- Name: ITF-14

- Allowed characters: '0123456789'

- Checksum: mandatory (modulo 10)

- Length: 14 characters (including checksum)

There are no particular options for this barcode.

If the number of characters is lower than 14, `Zend_Barcode_Object_Itf14` will automatically prepend missing zeros to the barcode text.

## Zend_Barcode_Object_Leitcode

This barcode extends `Zend_Barcode_Object_Identcode` (Deutsche Post Identcode), and inherits some of its capabilities; it also has a few particulars of its own.

- Name: Leitcode (Deutsche Post Leitcode)

- Allowed characters: '0123456789'

- Checksum: mandatory (modulo 10 different from Code25)

- Length: 14 characters (including checksum)

There are no particular options for this barcode.

If the number of characters is lower than 14, `Zend_Barcode_Object_Leitcode` will automatically prepend missing zeros to the barcode text.

## Zend_Barcode_Object_Planet

- Name: Planet (PostaL Alpha Numeric Encoding Technique)

- Allowed characters: '0123456789'

- Checksum: mandatory (modulo 10)

- Length: 12 or 14 characters (including checksum)

There are no particular options for this barcode.

## Zend_Barcode_Object_Postnet

- Name: Postnet (POSTal Numeric Encoding Technique)

- Allowed characters: '0123456789'

- Checksum: mandatory (modulo 10)

- Length: 6, 7, 10 or 12 characters (including checksum)

There are no particular options for this barcode.

## Zend_Barcode_Object_Royalmail

- Name: Royal Mail or RM4SCC (Royal Mail 4-State Customer Code)

- Allowed characters: '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'

- Checksum: mandatory

- Length: variable

There are no particular options for this barcode.

## Zend_Barcode_Object_Upca

This barcode extends `Zend_Barcode_Object_Ean13` (EAN-13), and inherits some of its capabilities; it also has a few particulars of its own.

- Name: UPC-A (Universal Product Code)

- Allowed characters: '0123456789'

- Checksum: mandatory (modulo 10)

- Length: 12 characters (including checksum)

There are no particular options for this barcode.

If the number of characters is lower than 12, `Zend_Barcode_Object_Upca` will automatically prepend missing zeros to the barcode text.

## Zend_Barcode_Object_Upce

This barcode extends `Zend_Barcode_Object_Upca` (UPC-A), and inherits some of its capabilities; it also has a few particulars of its own. The first character of the text to encode is the system (0 or 1).

- Name: UPC-E (Universal Product Code)

- Allowed characters: '0123456789'

- Checksum: mandatory (modulo 10)

- Length: 8 characters (including checksum)

There are no particular options for this barcode.

If the number of characters is lower than 8, `Zend_Barcode_Object_Upce` will automatically prepend missing zeros to the barcode text.

If the first character of the text to encode is not 0 or 1, `Zend_Barcode_Object_Upce` will automatically replace it by 0.