MaxiCode - terryburton/postscriptbarcode GitHub Wiki
The MaxiCode barcode symbology is a 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.
Also known as: UPS Code, Code 6, Dense Code.
Standards: ISO/IEC 16023, ANSI/AIM BC10 - ISS MaxiCode.
- The mode option is used to specify how the data is structured in the symbol:
-
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 extended ASCII data using standard error correction. -
mode=5
- Unstructured extended ASCII data using enhanced error correction. -
mode=6
- Barcode reader programming.
-
- If 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 selectmode=4
which provides standard error correction. - The default interpretation of data by readers is in accordance with ISO/IEC 8859-1. When supported by the receiver characters from other code pages can be encoded using Extended Channel Interpretation (ECI).
- 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. - When the parsefnc option is specified, non-data function characters can be specified by escape sequences:
-
^ECI000000
to^ECI999999
: ECI indicators
-
- If
mode=4
,mode=5
ormode=6
the data field may contain any extended ASCII data. - If
mode=2
ormode=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, three-digit class of service and a three-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
. Ifmode=2
the postcode must be numeric, whilst ifmode=3
the postcode may contain up to six digits, upper case 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^029yy
. Ifmode=2
ormode=3
this must be immediately followed by the structured carrier message.
Data: This is MaxiCode
Options:
Encoder: maxicode
Data: This is Maxi^067ode
Options: parse
Encoder: maxicode
Data: 152382802^029840^029001^0291Z00004951^029UPSN^02906X610^029159^0291234567^0291/1^029^029Y^029634 ALPHA DR^029PITTSBURGH^029PA^029^004
Options: mode=2 parse
Encoder: maxicode
Data: ABC123^029840^029001^0291Z00004951^029UPSN^02906X610^029159^0291234567^0291/1^029^029Y^029634 ALPHA DR^029PITTSBURGH^029PA^029^004
Options: mode=3 parse
Encoder: maxicode
Data: [)>^03001^02996152382802^029840^029001^0291Z00004951^029UPSN^02906X610^029159^0291234567^0291/1^029^029Y^029634 ALPHA DR^029PITTSBURGH^029PA^029^004
Options: mode=2 parse
Encoder: maxicode