DotCode Barcode

This Symbology is also known as ISS DotCode

This Barcode Symbology is supported by the following Neodynamic products:

Overview

DotCode is a 2D Barcode data carrier designed to be reliably readable when printed by high-speed inkjet or laser dot technologies. A DotCode Barcode encodes data in an array of nominally disconnected dots at chosen sites within a regular grid of possible locations. DotCode is a rectangular array symbol made of height H (rows) and width W (columns), with just half of the possible dot locations made available for printing, like the dark squares on a checker-board, and with about 56% of those dot locations eventually printed. Unlike other dot codes, and all other matrix symbologies, this results in dots which are aligned on a grid diagonal to the edges of the rectangular outline of the symbol. The sum of H (Rows) and W (Columns) must be odd; in other words either H or W must be an odd value and the other even. In some applications the height H will be fixed and the width W will vary with data content, or vice versa, creating ribbon-like symbols appropriate to many high-speed dot printing methods. In other applications the aspect ratio of H and W can remain roughly fixed, both dimensions varying with data content in a continuum of symbol sizes.

Logically, DotCode employs message encoding originally inspired by Code 128 and strengthened by Reed-Solomon error correction. Like Code 128, a proper subset of symbols is set aside for GS1-formatted data messages. DotCode is designed, both graphically and logically, to tolerate missing, extra or poorly-placed dots without sacrificing reading integrity.

DotCode Barcode can encode the following data:

  • GS1 Data Structures (Application Identifiers + Data) as stated in GS1 General Specification.
  • All 128 ASCII characters, i.e., ASCII characters 0 to 127 inclusively, in accordance with ISO 646.
  • Extended ASCII characters (128 to 255) and pure binary sequences.

How to create DotCode using Barcode Professional

Note: Please refer to the Class Reference documentation for more information about the properties and methods stated in this document.
In order to get a DotCode barcode image, please follow these steps:
  • Set the Symbology property to DotCode.
  • Setting up dimensions and quiet zones:
    • Set the DotCodeModuleSize property (Value is expressed in Inches)
    • Set the QuietZoneWidth property (Value is expressed in Inches)
    • Set the TopMargin and BottomMargin properties (Values are expressed in Inches)
  • Setting up Columns & Rows or Size Ratio:
    • Auto Sizing: By setting DotCodeColumns = 0, DotCodeRows = 0 and DotCodeAspectRatio = <empty> then Barcode Professional will set the number of Columns and Rows automatically based on the data to encode specified to Code property.
    • Manual Size Setting: You can force the DotCode symbol to have a fixed number of columns and rows by setting DotCodeColumns and DotCodeRows properties respectivelly. NOTE: Each property must be set to an integer number between 5 upto 200. In addition, if Columns is set to an even number, then Rows must be set to an odd number and vice versa.
    • Fixed Columns: If you want the DotCode to grow in rows, then set the DotCodeColumns to a fixed value (an integer number between 5 upto 200) and set DotCodeRows = 0. Barcode Professional will set the number of Rows automatically based on the data to encode specified to Code property.
    • Fixed Rows: If you want the DotCode to grow in columns, then set the DotCodeRows to a fixed value (an integer number between 5 upto 200) and set DotCodeColumns = 0. Barcode Professional will set the number of Columns automatically based on the data to encode specified to Code property.
    • Columns to Rows Aspect Ratio: You can also specify a desired Columns (Width) to Rows (Height) Aspect Ratio for the DotCode symbol. It must be specified to DotCodeAspectRatio as "C:R" (without quotes) where C and R are integers referring to num of Columns and Rows respectively e.g. 3:2
  • Set the Code property with the value to encode. DotCode can encode GS1 Data Structures as well as ASCII chars [0-127] and extended charset [128-255].
    IMPORTANT NOTE
    By default, DotCode is designed to encode GS1 Data Structures i.e. Application Identifiers + Data as stated in the GS1 General Specification. You can specify them by using parentheses around the AIs e.g. (17)070620(10)ABC123456 and even force them to be validated by setting GS1DataStrictValidation to True.
    To encode Generic Data i.e. not GS1 Data Structures, then FNC1 special char must be specified as the first data to encode (Learn how to specify it...). If FNC1 is not specified, then Barcode Professional performs a GS1 Data Validation on the specified Code property and if it fails, then FNC1 is automatically added.
  • If desired, you can use the tilde character "~" to specify special characters in the input data. To do that you must set the DotCodeProcessTilde property to True. Read more about how it works.
  • The DotCode symbol is made by modules that by default are rendered as Circles. This can be changed to Squares if desired by setting the DotCodeModuleShape property.
Note: Please refer to the Class Reference documentation for more information about the properties and methods stated in this document.
In order to get a DotCode barcode image, please follow these steps:
  • Set the Symbology property to DotCode.
  • Setting up dimensions and quiet zones:
    All values for barcode dimensions are expressed in INCHES by default. However, Barcode Professional supports other unit of measurement such as Millimeter, Centimeter, and Mils. For modifying the unit of measurement for barcoding, please set up the BarcodeUnit property as needed.
    • Set the DotCodeModuleSize property (Value is expressed in Inches)
    • Set the QuietZone property (Value is expressed in Inches)
  • Setting up Columns & Rows or Size Ratio:
    • Auto Sizing: By setting DotCodeColumns = 0, DotCodeRows = 0 and DotCodeAspectRatio = <empty> then Barcode Professional will set the number of Columns and Rows automatically based on the data to encode specified to Code property.
    • Manual Size Setting: You can force the DotCode symbol to have a fixed number of columns and rows by setting DotCodeColumns and DotCodeRows properties respectivelly. NOTE: Each property must be set to an integer number between 5 upto 200. In addition, if Columns is set to an even number, then Rows must be set to an odd number and vice versa.
    • Fixed Columns: If you want the DotCode to grow in rows, then set the DotCodeColumns to a fixed value (an integer number between 5 upto 200) and set DotCodeRows = 0. Barcode Professional will set the number of Rows automatically based on the data to encode specified to Code property.
    • Fixed Rows: If you want the DotCode to grow in columns, then set the DotCodeRows to a fixed value (an integer number between 5 upto 200) and set DotCodeColumns = 0. Barcode Professional will set the number of Columns automatically based on the data to encode specified to Code property.
    • Columns to Rows Aspect Ratio: You can also specify a desired Columns (Width) to Rows (Height) Aspect Ratio for the DotCode symbol. It must be specified to DotCodeAspectRatio as "C:R" (without quotes) where C and R are integers referring to num of Columns and Rows respectively e.g. 3:2
  • Set the Code property with the value to encode. DotCode can encode GS1 Data Structures as well as ASCII chars [0-127] and extended charset [128-255].
    IMPORTANT NOTE
    By default, DotCode is designed to encode GS1 Data Structures i.e. Application Identifiers + Data as stated in the GS1 General Specification. You can specify them by using parentheses around the AIs e.g. (17)070620(10)ABC123456 and even force them to be validated by setting GS1DataStrictValidation to True.
    To encode Generic Data i.e. not GS1 Data Structures, then FNC1 special char must be specified as the first data to encode (Learn how to specify it...). If FNC1 is not specified, then Barcode Professional performs a GS1 Data Validation on the specified Code property and if it fails, then FNC1 is automatically added.
  • If desired, you can use the tilde character "~" to specify special characters in the input data. To do that you must set the DotCodeProcessTilde property to True. Read more about how it works.
  • The DotCode symbol is made by modules that by default are rendered as Circles. This can be changed to Squares if desired by setting the DotCodeModuleShape property.

How DotCode tilde processing works

When working with DotCode tilde processing keep in mind the following rules:
  • ~1: is used to represent the FNC1 code
  • ~3: is used to represent the FNC3 code
  • ~dNNN: is used to represent a byte value in decimal notation. NNN must be a numeric value ranging from 000 to 255
  • ~hXX: is used to represent a byte value in hexadecimal notation. XX must be a hexadecimal value ranging from 00 to FF

Examples of a DotCode barcode image

Encoding GS1 Data Structures: Setting Code property = (17)070620(10)ABC123456 will produce the following barcode image:

DotCode Barcode - Code property = (17)070620(10)ABC123456

Same value to encode as above but with square modules by setting DotCodeModuleShape property = Square will produce the following barcode image:

DotCode Barcode - Code property = (17)070620(10)ABC123456 with Square modules

The value to encode as above but with a fixed Aspect Ratio by setting DotCodeAspectRatio property = 4:1 will produce the following barcode image:

DotCode Barcode - Code property = (17)070620(10)ABC123456 with aspect ratio 4:1

Encoding Generic Data: Setting Code property = ABC123456 will produce the following barcode image:

DotCode Barcode - Code property = ABC123456

Same value to encode as above but with square modules by setting DotCodeModuleShape property = Square will produce the following barcode image:

DotCode Barcode - Code property = ABC123456 with Square modules