TBarcode2D_CCC

EAN.UCC composite barcode symbol (CC-C)The component is used to create the EAN.UCC compisite barcode symbol that uses the CC-C as the 2D symbol. It is defined in the pCCC unit.

An EAN.UCC composite symbol consists of a linear symbol (encoding the item's primary identification) associated with an adjacent 2D symbol (encoding supplementary data, such as a batch number or expiration date). The CC-C is one of the three choices for the 2D symbol in a symbol encoded in the EAN.UCC composite symbology. A CC-C symbol is a PDF417 symbol with a codeword of 920 in the first data position.


Symbol sizes

Each CC-C symbol consists of a stack of vertically aligned rows with a minimum of 3 rows (maximum 90 rows). Each stacked row shall include a minimum of 1 symbol character column (maximum 30 symbol character columns), excluding start, stop and row indicator columns. They are defined in the pPDF417Custom unit. The RowHeight property can be used to specify the height for each stacked row, in modules. See diagram:

EAN.UCC composite barcode symbol (CC-C)

You can use the MinRows and the MaxRows properties to specifiy the minimum and maximum number of stacked rows for a CC-C symbol. And use the MinColumns and the MaxColumns properties to specifiy the minimum and maximum number of symbol character columns for it. In other words, the MinRows and MinColumns properties specify a minimum symbol size, and the MaxRows and MaxColumns properties specify a maximum symbol size. According to the priority order specified by the StretchOrder property, the first symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size.

You can use the CurrentRows property to get the factual number of stacked rows. And use the CurrentColumns property to get the factual number of columns.

If the barcode text is so long that it cannot be encoded using the maximum symbol size specified by the MaxRows and the MaxColumns properties, an OnInvalidLength or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event will occur.


Quiet zones

For the CC-C symbol, The leading quiet zone and trailing quiet zone shall be a minimum of 2 modules. No top quiet zone and bottom quiet zone are required outside the bounds of the CC-C symbol.

The LeadingQuietZone, TrailingQuietZone, TopQuietZone, and BottomQuietZone properties specify the size of quiet zones for entire EAN.UCC composite symbol, they are not only for the CC-C 2D symbol. So the minimum values of TrailingQuietZone, TopQuietZone, and BottomQuietZone properties are equal to 0. For the LeadingQuietZone property, the minimum values of the property is equal to 2 because the first bar of the CC-C symbol is on the left of the EAN-128 symbol always. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones):

Quiet zones of EAN.UCC composite barcode symbol (CC-C)

If the linear component is the TBarcode1D_UPCE, TBarcode1D_UPCE0, TBarcode1D_UPCE1, TBarcode1D_UPCA, TBarcode1D_ENA8, TBarcode1D_EAN13, or TBarcode1D_EAN128, and its human readable text is represented and exceeds the beginning or end of entire EAN.UCC barcode symbol (the leading and trailing quiet zones is included if the ShowQuietZone property is set to true), the leading and trailing quiet zoens will be extanded automatically to cover the human readable text, regardless of whether the ShowQuietZone property is set to true or false. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones):

CC-C Quiet Zones (Text exceeds bounds)


Separator pattern

A separator pattern is required between the EAN-128 linear and CC-C 2D symbols of an EAN.UCC composite barcode symbol. The separator pattern will be represented by the TBarcode1D_EAN128 linear component (specified by the Linear property). See digiam (the color of separator patterns are changed to red in order to accentuate them):

Separator pattern of EAN.UCC composite barcode symbol (CC-C)

Note, the TBarcode1D_EAN128 linear component is in the 1D Barcode VCL Components package.


Error checking and correcting (ECC)

In fact, a CC-C symbol is a special PDF417 symbol, so CC-C symbols offer 9 levels of error correction too, referred to as ECC 0 to ECC 8 respectively in increasing order of recovery capacity. You can use the ECCLevel property to specify the error correction code level for a CC-C symbol. It can be one of values from elEcc_0 to elEcc_8, corresponding to error correction code level from ECC 0 to ECC 8. They are defined in the pPDF417Custom unit.

If the ECCLevelUpgrade property is set to true, the highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols. Note, the new level is always no lower than the level specified by the ECCLevel property, and the symbol size will not be increased, it may be determined based on the length of barcode text, and the error correction code level specified by the ECCLevel property, in other words, only the remaining capacity in current symbol size will be used to upgrade the error correction code level. The CurrentECCLevel property can be used to get the factual error correction code level.


Character set

A subset of ISO/IEC 646, consisting of the upper and lower case letters (A-Z, a-z), digits (0-9), space, and 19 selected punctuation characters (!:%&()*+,-./:;<=>?_) in addition to the special function characters, FNC1 and symbol separator.

If you want insert the FNC1, please insert the "^" character instead. And if you want insert the symbol separator, please insert the "#" character instead.

Note, in the barcode text, all Application Identifiers should be enclosed in parentheses "(" and ")", the parentheses are only for identifying Application Identifiers, and they are not encoded into the barcode symbol. If you want encode the parentheses "(" and ")" in an Application Identifier element string, please use the "{" and "}" instead.


Properties:
Methods:
Events:

(*): The Data property, OnInvalidDataLength and OnInvalidDataChar events are available only for the Delphi/C++ Builder 2009 or later.

Contents