
Specifications
|
Data Matrix Font / Encoder Specifications:
|
|
Data Encoding Modes |
ASCII, C40, Text and Base 256. |
|
Module Sizes Supported |
Square: 10 x 10 to 144 x 144
Rectangular: 8 x 18 to 16 x 48 |
|
Font Point Size: |
Approximate X dimensions for Data Matrix |
| 14 |
.122 CM |
.048 " |
| 12 |
.105 CM |
.041 " |
| 10 |
.086 CM |
.033 " |
| 8 |
.061 CM |
.024 " |
| 6 |
.052 CM |
.020 " |
| 4 |
.031 CM |
.013 " |
| 3 |
.026 CM |
.010 " |
| 2 |
.017 CM |
.006 " |
Data Matrix Formats
The Data Matrix Java Package supports all data matrix formats. The following table
contains the size, the capacity and the correction error features of each format:
|
Format Number
|
Size
|
Numeric Capacity
|
Alphanumeric capacity
|
Binary capacity
|
Max Correctable Error/Erasure
|
| 0 |
10 x 10 |
6
|
3
|
1
|
2
|
| 1 |
12 x 12 |
10 |
6 |
3 |
3 |
| 2 |
14 x 14 |
16 |
10 |
6 |
5/7 |
| 3 |
16 x 16 |
24 |
16 |
10 |
6/9 |
|
4
|
18 x 18
|
36
|
25
|
16
|
7/11
|
| 5 |
20 x 20 |
44 |
31 |
20 |
9/15 |
|
6
|
22 x 22
|
60
|
43
|
28
|
10/17
|
|
7
|
24 x 24
|
72
|
52
|
34
|
12/21
|
|
8
|
26 x 26
|
88
|
64
|
42
|
14/25
|
| 9 |
32 x 32 |
124 |
91 |
60 |
18/33 |
| 10 |
36 x 36 |
172 |
127 |
84 |
21/39 |
| 11 |
40 x 40 |
228 |
169 |
112 |
24/45 |
| 12 |
44 x 44 |
288 |
214 |
142 |
28/53 |
| 13 |
48 x 48 |
348 |
259 |
172 |
34/65 |
| 14 |
52 x 52 |
408 |
304 |
202 |
42/78 |
| 15 |
64 x 64 |
560 |
418 |
278 |
56/106 |
| 16 |
72 x 72 |
736 |
550 |
366 |
72/132 |
| 17 |
80 x 80 |
912 |
682 |
454 |
96/180 |
| 18 |
88 x 88 |
1152 |
862 |
574 |
112/212 |
| 19 |
96 x 96 |
1392 |
1042 |
694 |
136/260 |
| 20 |
104 x 104 |
1632 |
1222 |
814 |
168/318 |
| 21 |
120 x 120 |
2100 |
1573 |
1048 |
204/390 |
| 22 |
132 x 132 |
2608 |
1954 |
1302 |
248/472 |
| 23 |
144 x 144 |
3116 |
2335 |
1556 |
310/590 |
| 24 |
8 x 18 |
10 |
6 |
3 |
3 |
| 25 |
8 x 32 |
20 |
13 |
8 |
5 |
| 26 |
12 x 26 |
32 |
22 |
14 |
7/11 |
| 27 |
12 x 36 |
44 |
31 |
20 |
9/15 |
| 28 |
16 x 36 |
64 |
46 |
30 |
12/21 |
| 29 |
16 x 48 |
98 |
72 |
47 |
14/25 |
Encoding Modes
The data represented in the symbol can be compressed using one or several of
the following algorithms:
- ASCII is used to encode data that mainly contains ASCII characters (0-127).
It encodes one alphanumeric or two numeric characters per byte.
- C40 is used to encode data that mainly contains numeric and upper case
characters. C40 encodes three alphanumeric data characters into two bytes.
- TEXT is used to encode data that mainly contains numeric and lowercase
characters. TEXT encodes three alphanumeric data characters into two bytes.
- BASE256 is used to encode 8 bit values.
All encoding systems can be used to encode any data, however, encoding binary
data with C40 generates much more overhead (a larger symbol) than with BASE256.
Control characters and use of the tilde
The Data Matrix Font Encoder uses the tilde character "~" to recognize some special
characters in the input data. The following possibilities are available:
- ~X: Is used to represent ASCII character values from 0 to 26. Replace the X
like in the following example ~@ = means character ASCII 0, ~A= means ASCII 1,
~B=means ASCII 2, ~C=means ASCII 3 and so on. The most used symbols are ~I for
a tab and ~M which is a return function. These are useful when encoding multiple
fields in a single symbol.
- ~1: Represents the character FNC1. When FNC1 appears in the first position
(or in the fifth position of the first symbol of a Structured Append), it will
indicate that the data conforms to the UCC/EAN Application Identifier standard
format.
- ~2: It is used to represent Structured Append. Structured Append is used to
link information from several symbols in a sequence. The ~2 must be followed by
3 additional bytes. The first 4 bits of the first byte identify the position of
the particular symbol in the sequence. The last 4 bits identify the total number
of symbols in the sequence. The second and third byte are used as a file identifier
are can have a value between 1 and 254 (up to 254*254=64516 identifiers). See the
Data Matrix Specification for more information about this (ISO 16022).
- ~3: This character are only allowed in the first position of the symbol. It
indicates that the data contains commands for the barcode reader.
- ~4: Not allowed.
- ~5 and ~6: These characters are only allowed in the first position of the
symbol. If ~5 is used the header [)> ascii30 ascii05 ascii29 will be transmitted
by the barcode reader before the data in the symbol and the trailer ascii30 ascii04
will be transmitted after the data. If a ~6 is used , the header [)> ascii30 ascii05
ascii29 will be transmitted by the reader before the data and the trailer ascii30
ascii04 will be transmitted afterwards.
- ~7NNNNNN: Specifies the Extended Channel to be used, where NNNNNN is a value
between and 000000 - 999999. For example: ~7000010 means Extended Channel 10. Extended
channel is used for using other character sets other than ASCII. See the Data Matrix
Specification for more information about this (ISO 16022).
- ~dNNN: Represents the ASCII character encoded by the 3 digits NNN. For exmaple,
~d065 represents the character 'A'.
Line Spacing Issues (too much space between each line)
Some implementations of PostScript fonts can cause a small space to appear between
rows in the symbol. The only way to overcome this issue is to make sure your printing
application is not adding additional line feeds or in the case of PCL fonts, change
the vertical motion index as indicated below. This space will not cause problems with
scanners and the barcode will still be readable.
When using 12 or 14 point PCL fonts, an adjustment to the vertical motion index is
not usually necessary. However, if you are using other sizes, you may need to adjust
it to close the gap between rows. To set the vertical motion index, issue the command
before printing with the Data Matrix font. The code for the vertical motion index
Command is escape "" + "&" + lowercase L "l" + Number Index + Capital "C". Use
the chart below below to find the command for your font size. The number may be adjusted
as necessary for your printer.
| PCL Font Point Size |
Vertical Motion Index Command to Use |
| 10 |
<Ec> &l6.5C |
| 8 |
<Ec> &l5.2C |
| 6 |
<Ec> &l3.9C |
In the example above, the represents the escape character for your software. In
DOS Edit, Ec is represented by holding down the CTRL key and pressing the letter P,
Releasing both keys and then press the ESC key.
X Axis Issues or Left Margin Alignment Issues
This issue may exist if you try to move the barcode to the right on the X axis
using a programming language such as Visual Basic. When using the printer.currentX
specification to set the X axis, only the first line of the barcode would print in
the new position and the remaining lines would print at zero (all the way to the
left). This is because the printer.currentX specification is reset every time a
return is performed. A return must be performed to print the font on the new line
The best solution to this problem would be to find a command that could move the
left margin so that returns will return the insertion point to the correct position.
Since Visual Basic does not have a command like this a small piece of code must be
written to set the currentX for each line.
Step 1. Declare and initialize a variable with the desired X position. Example:
my_x = printer.currentX
Step 2. Replace the "Printer.Print OutputString" command with something similar
to the following....
For i = 1 To Len(Output)
out1 = out1 & Mid(Output, i, 1)
If Mid(Output, i, 1) = Chr(10) Then
out1 = Replace(out1, Chr(10), "")
out1 = Replace(out1, Chr(13), "")
Printer.CurrentX = my_x
Printer.Print out1
out1 = ""
End If
Next i
Return to Data Matrix Fonts and Encoder Main Page
Licensing Agreement
Price List & Order Form
Home ||
Shopping Cart ||
Site Map ||
Newsletter/Blog
Search HALLoGRAM ||
Request More Information CALL TOLL FREE 1-866-340-3404
|
|