Zint: Manual

6. Types of symbology

6.3 Composite symbols (ISO 24723)

Composite symbols employ a mixture of components to give more comprehensive information aboxut a product. The permissible contents of a composite symbol is determined by the terms of the GS1 General Specification. Composite symbols consist of a linear component which can be an EAN, UPC, GS1-128 or GS1 DataBar symbol, a 2D component which is based on PDF417 or MicroPDF417, and a separator pattern. The type of linear component to be used is determined using the -b or --barcode= switch or by adjusting symbol->symbology as with other encoding methods. Valid values are shown below.

Numeric Value Name symbology
130 BARCODE_EANX_CC Composite symbol with EAN linear component
131 BARCODE_EAN128_CC Composite symbol with GS1-128 linear component
132 BARCODE_RSS14_CC Composite symbol with GS1 DataBar-14 linear component
133 BARCODE_RSS_LTD_CC Composite symbol with GS1 DataBar Limited component
134 BARCODE_RSS_EXP_CC Composite symbol with GS1 DataBar Extended component
135 BARCODE_UPCA_CC Composite symbol with UPC A linear component
136 BARCODE_UPCE_CC Composite symbol with UPC E linear component
137 BARCODE_RSS14STACK_CC Composite symbol with GS1 DataBar-14 Stacked component
138 BARCODE_RSS14_OMNI_CC Composite symbol with GS1 DataBar-14 Stacked Omnidirectional component
139 BARCODE_RSS_EXPSTACK_CC Composite symbol with GS1 DataBar Expanded Stacked component
Numeric Value Name/Symbology
130 Name: BARCODE_EANX_CC
Symbology: Composite symbol with EAN linear component
131 Name: BARCODE_EAN128_CC
Symbology: Composite symbol with GS1-128 linear component
132 Name: BARCODE_RSS14_CC
Symbology: Composite symbol with GS1 DataBar-14 linear component
133 Name: BARCODE_RSS_LTD_CC
Symbology: Composite symbol with GS1 DataBar Limited component
134 Name: BARCODE_RSS_EXP_CC
Symbology: Composite symbol with GS1 DataBar Extended component
135 Name: BARCODE_UPCA_CC
Symbology: Composite symbol with UPC A linear component
136 Name: BARCODE_UPCE_CC
Symbology: Composite symbol with UPC E linear component
137 Name: BARCODE_RSS14STACK_CC
Symbology: Composite symbol with GS1 DataBar-14 Stacked component
138 Name: BARCODE_RSS14_OMNI_CC
Symbology: Composite symbol with GS1 DataBar-14 Stacked Omnidirectional component
139 Name: BARCODE_RSS_EXPSTACK_CC
Symbology: Composite symbol with GS1 DataBar Expanded Stacked component

The data to be encoded in the linear component of a composite symbol should be entered into a primary string with the data for the 2D component being entered in the normal way. To do this at the command prompt use the --primary= command. For example:

zint -b 130 --mode=1 --primary=331234567890 -d "[99]1234-abcd"

This creates an EAN-13 linear component with the data "331234567890" and a 2D CC-A (see below) component with the data "(99)1234-abcd". The same results can be achieved using the API as shown below:

my_symbol->symbology = 130;
my_symbol->option_1 = 1;   
strcpy(my_symbol->primary, "331234567890");
ZBarcode_Encode_and_Print(my_symbol, "[99]1234-abcd");

EAN-2 and EAN-5 add-on data can be used with EAN and UPC symbols using the + symbol as described in section 6.1.3 and 5.1.4.

The 2D component of a composite symbol can use one of three systems: CC-A, CC-B and CC-C as described below. The 2D component type can be selected automatically by Zint dependant on the length of the input string. Alternatively the three methods can be accessed using the --mode= prompt followed by 1, 2 or 3 for CC-A, CC-B or CC-C respectively, or by using the option_1 variable as shown above.

6.3.1 CC-A

EAN-13 with CC-A
Example of EAN-13 with CC-A composite symbol

This system uses a variation of MicroPDF417 which is optimised to fit into a small space. The size of the 2D component and the amount of error correction is determined by the amount of data to be encoded and the type of linear component which is being used. CC-A can encode up to 56 numeric digits or an alphanumeric string of shorter length. To select CC-A use --mode=1.

6.3.2 CC-B

EAN-13 with CC-B
Example of EAN-13 with CC-B composite symbol

This system uses MicroPDF417 to encode the 2D component. The size of the 2D component and the amount of error correction is determined by the amount of data to be encoded and the type of linear component which is being used. CC-B can encode up to 338 numeric digits or an alphanumeric string of shorter length. To select CC-B use --mode=2.

6.3.3 CC-C

GS1-128 with CC-C
Example of GS1-128 with CC-C composite symbol

This system uses PDF417 and can only be used in conjunction with a GS1-128 linear component. CC-C can encode up to 2361 numeric digits or an alphanumeric string of shorter length. To select CC-C use --mode=3.