Comment #2 on issue 1484 by
wwreaver...@gmail.com: DataMatrix Codeword 237
Translation
http://code.google.com/p/zxing/issues/detail?id=1484
Hi,
Codeword 237 shall be translated into a prefix sequence and a suffix
sequence.
See ISO/IEC 16022 Chapter 5.2.4.7 Macro characters
Data Matrix provides a means of abbreviating an industry specific header
and trailer in one symbol character.
This feature exists to reduce the number of symbol characters needed to
encode data in a symbol using certain structured formats. A Macro character
must be in the first character position of a symbol. They shall not be used
in conjunction with Structured Append and their functions are defined in
Table 3. The header shall be transmitted as a prefix to the data stream and
the trailer shall be transmitted as a suffix to the data stream.The
symbology identifier, if used, shall precede the header.
Table 3 � Macro functions
Interpretation
Macro codeword Name
Header Trailer
236 05 Macro [)>R S05G S R S EoT
237 06 Macro [)>R S06G S R S EoT
Chapter 11.3
11.3 Protocol for Macro characters in the first position (ECC 200 only)
This protocol is used to encode two specific message headers and trailers
in an abbreviated manner in ECC 200 symbols.
When a Macro character is in the first position a preamble and postamble
shall be transmitted. If the first symbol character is 236 (i.e. encoding
Macro 05), then the preamble [)>RS05GS shall precede the encoded data that
follows it. If the first symbol character is 237 (i.e. encoding Macro 06),
then the preamble [)>RS06GS shall precede the encoded data that follows it.
The postamble RS EoT shall be transmitted after the data in both cases.
The decoder must detect that codeword and simply substitute the content. It
works mainly except the sequence in between RS and character 0 and
character 6.
I get with version 4.3.1 this:
0: 91 ([)
1: 41())
2: 62(>)
3: 7686 (B) (thats wrong - RS is required, then 0 and then 6)
4: 29 () thats ASCII 29 = GS; thats perfect.
I hope that clarifies this
B.R:
Wilfried