|
A license is required for each computer this
software is installed on; |
DEMO NOTICE:
The demo version of this product will produce larger symbols because the
text of "DEMO<CR><LF>" is encoded in each symbol
with the data that is being encoded. In addition, many of the VBA modules are
password protected and the Native Crystal Encoder is not provided. The
purchased version
does not include these limitations.
INDEX: [Order Now]
Product Overview and Features:
If hardware is needed to read or verify barcodes, consider the 2D Scanners and Imagers IDAutomation offers.
Support Issues and Solutions:* This is a website link; Internet access is required to view this item.
Product Overview and Features |
The IDAutomation Data Matrix Font and Encoder is a collection of components that generate Data Matrix symbols with fonts and graphics.
Large amounts of text and binary data can be stored in a single barcode symbol with the Data Matrix symbology. The symbol can withstand some damage without causing loss of data with Reed Solomon error correction that is a requirement of all ECC200 symbols. ECC200 is the recommended ISO and AIM standard of error correction used in the symbols. This high level of error correction decreases chances of read errors and is far more advanced than one dimensional barcodes with check digits. Up to about 850 characters may be dependably encoded and read from each symbol with the Data Matrix symbology.
The version of Data Matrix provided in this package includes support for Structured Append, which allows thousands of characters to be encoded into multiple symbols. Additionally, all IDAutomation DataMatrix products support ECC200 by default. This advanced Data Matrix font uses IDAutomation Vertical Interleaved Technology™ which allows increased throughput and printing at smaller X dimensions than competitors' products.
The encoders provided in this package return a text string that, when printed or displayed with the Data Matrix font, create the Data Matrix symbol. It is necessary to use the encoder because of the complexity of the symbology. Please review the Data Matrix Encoder for Windows® Tutorial for a simple encoder usage example.
The following font encoders are provided:
In addition to the font encoders provided, graphic encoders are also included in this package. The graphic encoders are components that return a graphic image of the complete symbol instead of text that needs to be combined with a font.
The following graphic encoders are provided:
In the event the font encoders and graphic encoders provided are not supported in the desired application, there are a few other implementation options available:
In Microsoft Windows, the preferred encoder is an ActiveX COM DLL that is installed with the Data Matrix Font and Encoder application. The other tools provided may access the encoder from the DLL. Running the executable file in the package will install the following components:
If it is necessary to verify Data Matrix barcodes, consider purchasing a Data Matrix Symbol Verifier or a Data Matrix Symbol Imager.
Importing the VBA Module into Visual Basic, Excel or Access |
The VBA module is required when using the font encoders in VB 6, Excel or Access; it is provided in two forms:
Importing the module:
IDAutomation_Datamatrix_Macro.bas | |
EncDM(DataToEncode As String, Optional ProcessTilde, Optional EncodingMode, Optional PreferredFormat) | Example: =EncDM([Test Data.data]) or =EncDM([Test Data.data],1,3,0) |
IDAutomation_Native_Datamatrix_Macro.bas | |
EncNDM(DataToEncode As String, Optional ProcessTilde, Optional EncodingMode, Optional PreferredFormat) | Example: =EncNDM([Test Data.data]) or =EncNDM([Test Data.data],1,3,0) |
VBA Macro Parameters | |
Result = (DataToEncode As String, Optional ProcessTilde, Optional EncodingMode, Optional PreferredFormat) |
Microsoft Access Implementation |
In Microsoft Access, there are three implementation options, two of which are supported in this package. When used in reports and forms, the graphic encoder option may be the easiest product to use.
Graphic encoder implementation:
Font implementation:
Graphic encoder embedding:
Although it is not part of this package, the
Data Matrix Native Barcode
Generator for Access is also available, which creates barcodes without
any additional fonts, ActiveX or plug-ins.
Word Mail-Merge Implementation (Macintosh Compatible) |
Data Matrix barcodes may be created in a Word mail-merge if Excel is used as the data source with the following procedure:
Crystal Reports Integration |
IDAutomation provides two font encoders in this package for Crystal Reports:
Although not part of this package, IDAutomation offers two other implementations in Crystal that may be a better solution for the desired application:
Limitations with Crystal Reports prior to version 9:
The Crystal Reports UFL is designed to work with Crystal Reports 6.0
and above. However, because of a Crystal Reports limitation prior to Version 9, only
limited information (up to about 40 ASCII
characters) may be encoded; To overcome this limitation, version 9 or greater is
required.
Crystal Reports version 9 (and later versions) overcome the 254 character limitation by using a formula that is able to retrieve the data encoded in 254 byte chunks. A simple example of creating a Data Matrix barcode in Crystal is included in the Font and Encoder package. IDAutomation recommends referring to that example if problems are encountered.
How the Font and Encoder Works with Crystal Reports:
After installing the Data Matrix Font and Encoder for Windows, the encoder functions will be operative in Crystal Reports.
Encoder Parameters for DMSet and the Native Formula |
Number of Segments = (DataToEncode As String, ProcessTilde, EncodingMode, PreferredFormat) |
There are a number of ways to format the data being encoded. It is also possible to combine multiple fields and place functions in a single barcode. The most common functions are CHR(9) for tab and CHR(13) for a return. For example:
Native JavaScript Font Encoder |
JavaScript Font Encoder Parameters |
Result = (DataToEncode As String, Optional ProcessTilde, Optional EncodingMode, Optional PreferredFormat, Optional HTML) |
Example: IDAutomation_DataMatrix_Font_Encoder("ECC200_123456789012",false,2,29)); |
The HTML property sets the value for the carriage return that draws the barcode. If HTML is true (the default setting), the carriage return is <br> for use in HTML only. If it is false, the carriage return is an ASCII 13 + ASCII 10 which is a return and line feed.
Microsoft .NET Integration |
.NET Font Encoder Example:
The following is an example that uses the font encoder to obtain the data, that when printed with IDAutomation's Data Matrix Font, will create a correct barcode. The source code for this font encoder example is provided in the package for testing and reference.
Encoder Parameters |
Result=(DataToEncode as String, ProcessTilde, EncodingMode, PreferredFormat) |
Java Integration |
This section describes the font encoder process in Java. Implementation of Data Matrix in Java as a graphic encoder is described in the Java User Manual.
Install the Encoder Class Library:
Copy everything in the "Java Class Encoder" directory to the root directory of
the computer's class path. Consult the Java documentation or the company that
provided the Java virtual machine for assistance.
Integrate the Font Encoder Method:
After the directories are copied to the classpath root, the method to format
data to the font can then be called from a method in a Java application as in
this example:
import java.io.*; import IDautomationDME.*; class DMatrixTest { public static void main ( String [] args ) { String dataToEncode = "Data Matrix Test"; DataMatrixEncoder dme=new DataMatrixEncoder(); System.out.println( dme.fontEncode(dataToEncode) ); } }
The data string returned by the fontEncode method will create a proper Data Matrix symbol when displayed or printed with the Data Matrix font. To install the font on an operating system, consult the OS documentation or follow IDAutomation's font installation procedures.
Java Encoder Properties and Methods:
Using the ActiveX COM DLL Font Encoder |
When using the COM DLL as a graphic encoder, refer to the instructions in the ActiveX Control Manual. When using the COM DLL as a font encoder, the FontEncode function is used to convert the data to encode into a string, that when combined with the Data Matrix font, will create a correct barcode. The following is Visual Basic 6 code that places the result in the "PrintableBarcodeString" variable:
A Visual Basic project example is included with the package. These files are placed in the destination directory upon installation.DataToEncode = InputString.Text
Dim DMFontEncoder As DMATRIXLib.Datamatrix
Set DMFontEncoder = New Datamatrix
DMFontEncoder.FontEncode DataToEncode, 0, 0, 0, Printable_string
PrintableBarcodeString = Printable_string
ActiveX Encoder Parameters |
DataToEncode, ProcessTilde, EncodingMode, PreferredFormat, Result |
Data Matrix Support and FAQ |
The benefits include high scalability with operating system, application and printer independence, these are best described in IDAutomation's Font Quality Statement.
Encoding Extended ASCII Characters
It is possible to scan and encode extended characters provided these rules are followed:
Amount of Data that may be Encoded
IDAutomation's Data Matrix product will encode the amount of data specified in the Data Matrix Formats section. However, in most situations it is difficult to scan data over 800 characters. The ActiveX and COM DLL provided have an encoding limitation of about 800 characters, which is necessary for compatibility with Visual Basic.
The "Structured append" function is also an option that will allow large amounts of data to be represented as a sequence of up to 16 symbols. The original data can be reconstructed regardless of the order of the symbols.
Microsoft Excel CompatibilityMicrosoft Excel may be used as a data source for the font; however, it is difficult to use the Data Matrix font in Excel. To overcome this problem, the Data Matrix DLL supplied also works as an ActiveX Control and may be used in this way when it is not necessary to use a font. To use it in this manner, see the ActiveX Control tutorial as an example.
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 the printing application is not adding additional line feeds, or in the case of PCL fonts, change the vertical motion index as indicated below.
When using 12 or 14 point PCL fonts, an adjustment to the vertical motion index is not usually necessary. However, if other sizes are being used, an adjustment may be needed 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 "<Ec>" + "&" + lowercase L "l" + Number Index + Capital "C". Use the chart below to find the command for the font size desired. The number may be adjusted as necessary for the 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 <Ec> represents the escape character for the software used. 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.
This issue may exist if moving 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 is to find a command that could move the left margin so that a new line 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
Data Matrix Specifications |
The selected format determines the smallest size of the symbol. If the data encoded cannot fit in the selected size, a larger symbol will automatically be generated. Valid values are from -1 (for automatic) and 0 to 23 (144X144) and from 24 (8X18) to 29 (16X48). The following table contains the size, the best case 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 |
The data represented in the symbol may be compressed by changing the encoding mode, if certain text is being encoded. Valid values are 0 for BASE256, 1 for C40, 2 for TEXT and 3 for ASCII.
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.
When ProcessTilde is equal to 1 or TRUE, the tilde (~) may be used to recognize some special characters in the input data. The following possibilities are available:
Data Matrix Font Specifications: |
The IDAutomation DataMatrix font is named IDAutomationDMatrix. It is provided in the package in several formats including TrueType, PostScript, OpenType and PCL. The IDAutomationDMatrix font should be printed at 8 points unless it is necessary to create a larger or smaller symbol.
Font Point Size: |
Approximate X dimensions for Data Matrix Font |
|
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 " |
Intelligent Positioning Drive Implementation |
Using the Data Matrix Encoder for other purposes such as with Intelligent Positioning Drives.
The data returned from the Data Matrix Encoder may be used for other purposes such
as in using
intelligent positioning drives to stamp codes
into metal parts. The images in the characters of the font are 4 squares
stacked on top of each other. The sequence is a binary 0 (0000) (0 being a white
space or no impression and 1 being dark space or an impression) at character "P" to a binary 15 (1111) at character "A".
For example, multiple A's (1111) stacked, create a vertical line of 4 squares.
Product Quick Links: [ Barcode Fonts | Font Tools | Components | Label Software | Scanners | Printers | RFID ] |
Copyright © 1999-2007 IDAutomation.com, Inc. IDAutomation and BizFonts are registered trademarks of IDAutomation.com, Inc. All other trademarks mentioned are the property of their respective owners.
Over 70% of Fortune 100 companies use IDAutomation's products to automate their businesses. |