Hi,
I have now created a simple autoencoder for MaxiCode which makes
invoking MaxiCode as trivial as:
150 150 moveto (This is MaxiCode) () maxicode
The above invocation will created either a mode 4 or mode 5 symbol
depending upon the encoded length of the given data. Mode 5 will be
chosen when the encoded data is sufficiently small to use the more
robust EEC (Enhanced Error Correction) and mode 4 chosen when only SEC
(Standard Error Correction) is available.
To explicitly specify a mode you can do the following:
150 150 moveto (This is MaxiCode) (mode=4) maxicode
The above will always create an SEC (mode 4) symbol even if EEC is available.
By default the MaxiCode encoder accepts raw ASCII input, however there
are some ASCII characters that are common in MaxiCode data that have
no standard graphical representation, for example GS (ASCII 29), RS
(ASCII 30) and EOT (ASCII 4). For convenience a "parse" option is
provided which will replace ordinals of the form ^NNN with their ASCII
value in the provided data, for example ^029 for GS. Of course when
this option is provided it is necessary to encode a literal "^"
(carat) using its ordinal form ^094.
The "parse" option makes it is simpler to encode the GS separated
Structured Carrier Data in mode 2 (US/numeric postcode) and mode 3
(international/alphanumeric postcode) symbols, for example:
150 150 moveto ([\)>^03001^02996152382802^029840^029001^0291Z00004951^029UPSN^02906X610^02 9159^0291234567^0291/1^029^029Y^029634
ALPHA DR^029PITTSBURGH^029PA^029^004) (mode=2 parse) maxicode
150 150 moveto (152382802^029840^029001^0291Z00004951^029UPSN^02906X610^029159^0291234567^ 0291/1^029^029Y^029634
ALPHA DR^029PITTSBURGH^029PA^029^004) (mode=2 parse) maxicode
150 150 moveto (ABC123^029840^029001^0291Z00004951^029UPSN^02906X610^029159^0291234567^029 1/1^029^029Y^029634
ALPHA DR^029PITTSBURGH^029PA^029^004) (mode=3 parse) maxicode
The first of these examples starts with the "[)>RS01GSyy" identifier
required for particular applications of MaxiCode.
If you find any problems then let me know.
Have fun,
Tez