Universal Barcode Font Advantage ™

[IDAutomation.com Home | Order Now]

IDAutomation Universal Barcode Font Advantage ™ User Manual

A license is required for each computer this software is installed on;
this software may only be used according to the License Agreement.
Demo versions of this software may be used for evaluation purposes only

The Universal Barcode Font Advantage ™ is a single font that supports multiple barcode types. It is also designed to be compatible with multiple operating systems and locales, including Double Byte versions of Windows such as those used in China and Japan as well as other Asian locale settings.

Index:

 Universal Barcode Font Advantage Package Features

The IDAutomation Universal Barcode Font Advantage ™ is much more than just a few fonts. The package includes 7 different heights of the universal barcode font as well as the rights to use the font tools, macros and source code for integration into your application. Details of the package are as follows:

 Font Tools and Encoders Currently Available

The Universal Barcode Font Advantage ™ requires the use of a font tool (encoder) to convert the data that is to be encoded in the barcode to a string of text that when combined with our universal bar code font, will create a correct barcode. example...

The INSTALL.EXE file provided in this package will automatically install the Native Windows DLL, Crystal Reports UFL, and a Visual Basic module* for use in Visual Basic 6 and Microsoft Office. Our ActiveX DLL font tool also supports the Universal Barcode Font and may be installed separately if needed. For operating systems that do not support any of our font tools, there are other options available:

  1. Populate a database with the "text string to print" from an existing encoder and then access the database from the other operating system with the Universal Barcode Font.
  2. Obtain the source code, and incorporate the encoder in your application directly. The source code may also be easily converted to other programming languages as required. If you convert the code into another language, please contact us first. If you can provide us a copy of the source with user instructions, we can provide a discount for your license in many cases.
  3. Implement one of our barcode components instead of a font. We have components available for several operating systems and reporting packages including Java and Linux.
  4. In the event that none of the above are options for your implementation, we may be able to create the font tool for you with the purchase of a Developer License. Please contact us to verify this before purchase.

* The Visual Basic module provided makes calls to the Native Windows DLL. A complete, native VBA module is only available with the purchase of a Developer License as described below.

Encoder Source Code Availability

The source code is available in several languages. The source code to any one of the projects listed below may be provided for each Developer License purchased and a signed Source Code Agreement. If the Unlimited Developer License is purchased, all of the projects may be provided with a signed Source Code Agreement.

 The API of the Native Windows DLL

The API of the Native Windows DLL should only be used by advanced programmers that have an understanding of how Windows DLLs work. For all other purposes, we suggest using the Font Tools. The Native Windows DLL cannot return a string value. This limitation requires that the return value be passed as a variable to the function by reference. That being said, there are a few differences between the Native Windows DLL and the functions listed. The differences are as follows:

For example, in the General Declarations or in a separate module of a VB application or Excel spreadsheet VBA editor, the function needs to be defined:

Private Declare Function IDAutomation_Universal_C128 _
Lib "IDAutomationNativeFontEncoder.dll" _
((ByVal D2E As String, Byref  tilde As long, _
ByVal out As String, _
ByRef iSize As long)) As Long

In a button click event, or any other procedure, the function can be called. The DLL function needs an input parameter that can be filled by the DLL with the formatted data. For example:
Public Function IDAutomation_Uni_C128(DataToEncode As String, Optional applyTilde As Boolean = False) As String
Dim myOut As String
'Variable to be populated by DLL function with formatted data
Dim iSize As long
'The size of the formatted data. Also, populated by the DLL
Dim lRetVal As Long
'Return value of the function. Will be zero if successful
Dim long_AT As Long 'variable to be passed to DLL determining if tilde processing should be done.  Must be a long data type for DLL to accept

Dim Data As String
'Data to barcode
Data = "Testing"
myOut = String(250, " ")
'The output variable needs to be sized to hold the data. The DLL can not dynamically size a variable
iSize = 0
If applyTilde = True Then
     L_AT = True 
 'can be implicitly converted to a long
Else
     L_AT = False
End If
'Call the function, passing in the data to encode, a boolean deciding if tilde processing should be used,
'the output variable, and the variable that will be populated with the size

lRetVal = IDAutomation_Universal_C128(Data, L_AT , myOut, iSize)
'Write out the output string, taking only the number of characters necessary from the defined string
Debug.Write = Mid(myOut, 1, iSize)
End Function

An Excel example is also provided and is located in the Examples folder of the ZIP file. We recommend examining the example file to get familiar with how the Native Font DLL works.

 Implementation Tutorials

Implementation of the IDAutomation Universal Barcode Font Advantage ™ is accomplished with our Font Tools. Please refer to the documentation in each of these packages for implementation. The only difference is that the functions in the font tools for the universal font are preceded with IDAutomation_Uni_.

Several examples are also provided and are located in the Examples folder of the ZIP file. We recommend modifying the example files to get familiar with how the Universal Font works.

 Distributing files for an application

If you have purchased a Developer License, you may distribute the font files and applicable components with your application. In addition, if you have signed the Source Code Agreement, you may integrate the source code directly into your application, eliminating the need to distribute any DLLs.

NOTE: Redistribution of our fonts and components requires a Developer License.

Windows Font Tool Native COM File (We recommend using an advanced installation application to distribute files for Windows)
Purpose of File File to Distribute Notes
Font File IDAutomation Uni ???.ttf The TrueType font. You may also distribute any other font files in the package as necessary.
Font Tool DLL IDAutomationNativeFontEncoder.dll This is the encoder DLL that formats data to font. It can be found in the Windows/System32 directory after installation. Because it was created with C++, it is small and has no dependencies.
Crystal Reports UFL (We recommend using an advanced installation application to distribute files for Windows)
Purpose of File File to Distribute Notes
Font File IDAutomation Uni ???.ttf The TrueType font. You may also distribute any other font files in the package as necessary.
Crystal UFL CRUFLidautomation.dll This is the Crystal User Function Library that formats data to font. It can be found in the Windows/System32 directory after installation or placed in the Windows/Crystal directory. Because it was created with C++, it is small and has no dependencies.
Distribution using Source Code
Purpose of File File to Distribute Notes
Font File IDAutomation Uni ???.ttf The TrueType font. You may also distribute any other font files in the package as necessary. If you have signed the Source Code Agreement, you may integrate the source code directly into your application, eliminating the need to distribute any DLLs.

NOTE: Redistribution of our fonts and components requires a Developer license.

 Specifications:

The X dimension (X is the width of the narrow bar) is listed below for various point sizes. Our universal bar code fonts have been specially designed to be able to produce dependable barcodes when printed at large and small point sizes. The font can be printed as small as 4 points if the scanner supports reading it. In our test lab, we have been able to dependably scan our Code 128 font with the following hardware:

Point Size

Approximate X dimension (1 mil = .001")

48 .157 CM .040"
36 .118 CM .030"
24 .078 CM .020"
20 .065 CM .016"
16 .052 CM .013"
12 .039 CM  .010"
8 .026 CM .007"
6 .019 CM .005"

* To print at a different X dimension, find the point size that has the X dimension closest to what you need and use this formula to find the point size you need to print the font at:
12 * (X dimension you want) / (X dimension at 12 points) = (point size converted to integer)
For example, if you need an X dimension of 12 mils, you need to print it at 14 points because:
12 * 12 / 10 = 14

When using a printer with less than 600 DPI, you must print at the following point sizes to create accurate barcodes:

 203 DPI Printer (thermal printer)  300 DPI Printer
 6, 12, 18, 24, 30, 36  4, 8, 12, 16, 20, 24, 28, 32, 36

Several versions are provided to support different width and height requirements. The last characters in the font name determines the height of the barcode with the shortest being "XXS" and the tallest being "XXL". Because each single font can be printed at various point sizes, there are several combinations of heights and widths that can be produced.

Font name of purchased version Font name of eval version* Font height @12 points*  Notes
IDAutomation Uni XXS IDAutomation SUni XXS  .10" or .254 CM  
IDAutomation Uni XS IDAutomation SUni XS  .20" or .508 CM Includes Postnet at normal intensity
IDAutomation Uni S IDAutomation SUni S  .35" or .889 CM Includes Postnet narrow by 10%
IDAutomation Uni M IDAutomation SUni M  .50" or 1.27 CM Includes Postnet narrow by 20%
IDAutomation Uni L IDAutomation SUni L  .60" or 1.46 CM  
IDAutomation Uni XL IDAutomation SUni XL  .75" or 1.90 CM  
IDAutomation Uni XXL IDAutomation SUni XXL   1"   or 2.54 CM  
* Measurements are approximate and were measured when printed at 12 points which should work for most scanners. Measurements for Human Readable fonts do not include the text below. At 12 points, the X dimension is 10 mils.

To print at a different height, find the font that has the height closest to what you need and use this formula to find the point size you need to print the font at to get that height:
12 * (height you want) / (height at 12 points) = (point size converted to integer)
For example, if you are using IDAutomation Uni M and you want it to be about .75" tall, you need to print it at 18 points because:
12 * .75 / .5 = 18

 

 Functions of the Universal Font Advantage

The following functions defined below all return data formatted to our universal barcode font and are available in many of our Font Tools. All the functions listed below are preceded with IDAutomation_Uni_. For all functions below, the data type returned is a string and the input type for DataToEncode is a string.
 
Function Notes
C128(DataToEncode, ApplyTilde) This is a "Code 128 Auto" function that will automatically encode any data from ASCII 1 to ASCII 127. It will automatically switch to character set C to encode numbers as necessary. To encode alpha-numeric UCC/EAN-128, ASCII 202 or character Ê is entered as the FNC1 before each AI. When any barcode begins with the FNC1, it automatically starts in Set C as required.
For example, the UCC number of (8100)712345(21)12WH5678 should be entered as a formula of:
IDAutomation_Uni_C128 ("Ê8100712345Ê2112WH5678", TRUE)
or
IDAutomation_Uni_C128 ("Ê" &
{Table1.DataField1} & "Ê" & {Table1.DataField2}, TRUE)
More information about AIs and UCC/EAN-128 is located here.

If ApplyTilde is set to True, the tilde will be processed. ApplyTilde is False by default in this function.

C128HR(DataToEncode, ApplyTilde) If you are creating Code 128 barcodes which need the text formatted, you may use this function. It is generally only used to format the text for UCC/EAN barcodes according to our Code128 Barcode FAQ. For example:
IDAutomation_C128HR ("Ê" & "8100712345" & "Ê" & "2112345678"
, TRUE )

If ApplyTilde is set to True, the tilde will be processed. ApplyTilde is True by default in this function.

C128A(DataToEncode) Formats output to set A of Code-128. Use caution with this option because any lowercase character creates a function. Use the letter "i" for a tab and "m" for a return. For most purposes, it is better to use the C128() function instead of this one.
C128B(DataToEncode) Formats output to Code-128, character set B. For most purposes, it is better to use the C128() function instead of this one.
C128C(DataToEncode) This code128 function "interleaves" even numbers into pairs for high density. An even number of digits is required. For most purposes, it is better to use the C128() function instead of this one.
C39(DataToEncode, N_Dimension, IncludeCheckDigit) Formats the output for barcoding in Code 3 of 9 with the the universal font. A MOD 43 checksum will be calculated if IncludeCheckDigit is true. For example: IDAutomation_Uni_C39 ("123456789", 3, TRUE )
Codabar(DataToEncode, N_Dimension, StartChar, StopChar) Creates Codabar (aka NW7) with the the universal font. StartChar and StopChar are also required as the start and stop characters. Valid start and stop characters are A, B, C and D.
I2of5(DataToEncode, N_Dimension, IncludeCheckDigit) This function "interleaves" numbers into pairs for high density without check digits and formats the return string to the universal font. An even number of digits is required. A MOD 10 checksum will be calculated if IncludeCheckDigit is true.
MSI(DataToEncode, N_Dimension, IncludeCheckDigit) Formats output for barcoding in the MSI/Plessey symbology. A MOD 10 checksum will be calculated if IncludeCheckDigit is true.
Planet(DataToEncode, IncludeCheckDigit) NOTE: Because this bar-code type has a specific height requirement, this function only works with the XS, S or M size of the Universal Font. XS is the normal version, S has the bars narrow by 10% and the M font has the bars narrow by 20%. DataToEncode is a single string of Zip, Zip + 4 or Zip + 4 + Delivery Point. A MOD 10 checksum will be calculated if IncludeCheckDigit is true.
Postnet(DataToEncode, IncludeCheckDigit) NOTE: Because this bar-code type has a specific height requirement, this function only works with the XS, S or M size of the Universal Font. XS is the normal version, S has the bars narrow by 10% and the M font has the bars narrow by 20%. A MOD 10 checksum will be calculated if IncludeCheckDigit is true.
UCC128(DataToEncode) This symbology option automatically encodes the FNC1 character in set C as required for UCC-128 barcodes. All functions of ApplyTilde are enabled in this function for calculating the required MOD 10 check digit and cannot be disabled, for example:
IDAutomation_Uni_C128 ("00000123455555555558"
& "~m19" ) For more information, please visit the UCC/EAN FAQ.
MODU10(DataToEncode) A MOD 10 check digit is returned. This is useful in calculating check digits for UCC/EAN 128 barcodes where a MOD check digit is needed. More information about UCC/EAN-128 is located here.
UCC/EAN-128 Barcode Examples for encoding UCC/EAN-128 Barcodes:
USPS EAN128 USPS special services labels such as delivery confirmation are used with our IDAutomation Uni L font at 16 points. The following formula will create USPS_EAN128 in Code 128 with the C128() function:
IDAutomation_Uni_C128 ("Ê" & "912312214123442441134" & "~m19"
, TRUE )
Where the number of 912312214123442441134 may be replaced with your data field, for example:
IDAutomation_Uni_C128 ("Ê" &
{Table1.DataField1} & "~m19", TRUE )
This number encoded is made up of the following:  2 digit service code + 9 digit customer ID + 8 digit sequential package ID + MOD 10 check digit.
For more information, refer to the USPS portion of the Code 128 FAQ and the UCC/EAN portion of the Code128 Barcode FAQ.
SCC14 The following formula will create SCC14 in Code 128 with the C128() function:
IDAutomation_Uni_C128 ("Ê" & "013001234567890" & "~m13"
, TRUE )
For more information, refer to the UCC/EAN portion of our Code128 Barcode FAQ.
SSCC18 The following formula will create SCC18 in Code 128 with the C128() function:
IDAutomation_Uni_C128 ("Ê" & "0000801234999999999" & "~m17"
, TRUE )
For more information, refer to the UCC/EAN portion of our Code128 Barcode FAQ.

Description of the parts of the functions:

 Troubleshooting Procedures

The following may be performed on a Windows PC to verify that the font is working properly.

  1. Install the package on a Windows PC by running the Install.exe file.
  2. After installation, reboot the PC to ensure the font will be recognized by your application.
  3. Open the Excel example provided with the package. It is an icon located in Start - Programs - IDAutomation Universal Font Advantage - Excel Example.
  4. Change the text in cell A11 from SC4341207504 to TEST. Be sure to enter the data in all UPPERCASE.
  5. Change the font in cell B11 to the Arial font.
  6. The text data in cell B11 should be exactly EBDEKACECEICEKAFADGIAH.
  7. This text, when combined with our universal font, will create a correct barcode.
  8. After the font in cell B11 is changed to the IDAutomation Uni XS font, a correct barcode will be created.

If the font works properly in Excel as mentioned above, then it is installed properly and the Windows DLL is formatting the data properly for the font. To troubleshoot the problem more, please refer to our Font Problems and Solutions site.
 

 

Report Software Piracy! If you have any knowledge of our products that are being used in violation of our license agreement, copyright laws or international treaties, please report it. You can remain anonymous.
 

 

 Product Links: [Barcode Fonts | Barcode Components | Barcode Label Software | Barcode Scanners]

Copyright © 2000-2005 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 our products to automate their businesses.