Overview
The MaxiCode symbology is 2D barcode based on a hexagonal matrix surrounding a bulls eye pattern. It can encode a structured carrier message and full 256 character extended-ASCII.
Invoking
- The mode option is used to specify which how the data is structured in the symbol, either 2, 3, 4, 5 or 6:
- mode 2 - Formatted data containing a Structured Carrier Message with a numeric (US domestic) postal code
- mode 3 - Formatted data containing a Structured Carrier Message with an alphanumeric (international) postal code
- mode 4 - Unstructured data using standard error correction
- mode 5 - Unstructured data using enhanced error correction
- mode 6 - Barcode reader programming
- If the mode is unspecified, the encoder will default to selecting mode 5 if the encoded length of the input data permits enhanced error correction, otherwise it will select mode 4 which provides standard error correction.
- When the parse option is specified, any instances of ^NNN in the
data field are replaced with their equivalent ASCII value, useful for
specifying unprintable characters.
- In modes 4, 5 and 6 the data field may contain any extended ASCII data.
- In modes 2 and 3 the data field must begin with a properly structured carrier message, followed by any extended ASCII data.
- The structured carrier message contains a postal code, 3 digit class of service and a 3 digit ISO country code separated by {GS} (ASCII 29) characters. It is formatted in the data field as follows: [postal code]^029[country code]^029[service class]^029. In mode 2 the postcode must be numeric, whilst in mode 3 the postcode may contain up to six numbers, uppercase letters and spaces.
- Alternatively, messages may begin with the special application field identifier
[)>{RS}01{GS}yy where "{RS}" represents ASCII value 30, "{GS}" represents ASCII value 29, and "yy" is a two digit year. In parse mode this is represented as "[)>^03001^0299". In modes 2 and 3 this must be immediately followed by the structured carrier message.
Examples
0 0 moveto (This is MaxiCode) () maxicode
0 0 moveto (This is Maxi^067ode) (parse) maxicode
0 0 moveto (152382802^029840^029001^0291Z00004951^029UPSN^02906X610^029159^0291234567^0291/1^029^029Y^029634 ALPHA DR^029PITTSBURGH^029PA^029^004) (mode=2 parse)
maxicode
0 0 moveto (ABC123^029840^029001^0291Z00004951^029UPSN^02906X610^029159^0291234567^0291/1^029^029Y^029634 ALPHA DR^029PITTSBURGH^029PA^029^004) (mode=3 parse)
maxicode
0 0 moveto ([\)>^03001^02996152382802^029840^029001^0291Z00004951^029UPSN^02906X610^029159^0291234567^0291/1^029^029Y^029634 ALPHA DR^029PITTSBURGH^029PA^029^004) (mode=2 parse) maxicode