IDAutomation Universal Barcode Font Advantage
™ User Manual
The Universal Barcode Font Advantage™ is a single font that generates
multiple barcode types. It is also designed to be compatible with multiple operating
systems and language settings, including Double Byte versions of Windows.
Index:
If a scanner is needed, consider IDAutomation's
USB Barcode Scanner.
After installing the universal font, the appropriate
Font
Encoder (or font tool) should be implemented.
To Install the Package in Windows:
Run the INSTALL.EXE setup utility. This utility will install the most commonly
used fonts and encoders.
Installing the fonts on Macintosh OS X:
Run the IDAutomation Universal Font for MAC.mpkg setup utility. The TrueType
fonts will be installed in the Library/Fonts folder. The complete package, including
the additional fonts and examples, will be found in an IDAutomation folder under
Applications.
Installing PCL Fonts:
To obtain information about installing PCL fonts, refer to the PCLinfo.html document
provided in the PCL folder of the package.
The Universal Barcode Font Advantage requires the use of a
Font Encoder
(or font tool) to convert the data being encoded into a unique string of text, so
that when it is combined with IDAutomation's universal
bar code font, it will create a correct barcode. If the following
Font
Encoders cannot
be utilized,
several other
options are available.
The
source code listed is provided with
all purchases. Additionally, source code to any single
font
encoder is available with the purchase of an
Unlimited Developer License and a signed
Source Code Agreement.
|
API
of the Native Windows DLL
|
Advanced programmers
that have an understanding of how Windows DLLs work should only use the API of the
Native Windows DLL. For all other purposes, it is suggested to use other
Font Tools. The Native Windows DLL does not return a string
value. The return value must be passed as a variable by reference. That being said,
there are a few differences between the Native Windows DLL and the
functions listed. The differences are as follows:
- The function names all begin with IDAutomation_Universal_ instead
of IDAutomation_Uni_.
- Return value - The functions return 0 for success or a non-zero value
if the function fails.
- Output - This string value will be populated by the DLL with the
encoded data.
- Output size - This integer value is populated by the DLL with the
number of pertinent characters. It may be necessary to use this with the VB
mid function.
For example, in the General Declarations, 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
The DLL function needs input parameters that are 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 encode
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 provided and is located in the Examples folder of the ZIP
file.
Implementation of the IDAutomation Universal Barcode Font Advantage ™ is accomplished
with IDAutomation's
Font Tools. Implementation tutorials are provided in each of these packages,
with the only difference being that the functions in
the font tools are preceded with IDAutomation_Uni_.
After purchasing a Developer License, the font files and
font tools may be distributed with an application royalty-free according to
the
License Agreement.
| Windows DLL |
| Purpose of File |
File to Distribute |
Notes |
| Font File |
IDAutomation Uni ???.ttf |
The TrueType font. Other font files in the package
may be distributed 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 |
| Purpose of File |
File to Distribute |
Notes |
| Font File |
IDAutomation Uni ???.ttf |
The TrueType font. Other font files in the package
may be distributed as necessary. |
| Crystal UFL |
CRUFLidautomation.dll |
This Crystal User Function Library formats data to
the 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 fast, small and has no dependencies. |
| Distribution
using Source Code |
| Purpose of File |
File to Distribute |
Notes |
| Font File |
IDAutomation Uni ???.ttf |
The TrueType font. Other font files
in the package may be distributed as necessary. With a signed
Source Code
Agreement, the source code can be integrated directly into an application,
eliminating the need to distribute any DLLs. |
NOTE: Redistribution of IDAutomation fonts and components requires a Developer
License.
The X dimension (the width of the narrowest bar
in the symbol) is listed below for various point sizes. IDAutomation's Universal
Barcode Fonts have been specially designed to be able to produce dependable barcodes
when printed at large and small point sizes. For example, the
IDAutomation
USB Barcode Scanner dependably reads this font when printed as small as 6 points.
|
Point Size
|
Approximate X dimension (1
mil = .001")
|
| 48 |
.102 cm |
40 mil |
| 36 |
.076 cm |
30 mil |
| 32 |
.069 cm |
27 mil |
| 30 |
.064 cm |
25 mil |
| 28 |
.058 cm |
23 mil |
| 24 |
.051 cm |
20 mil |
| 20 |
.043 cm |
17 mil |
| 18 |
.038 cm |
15 mil |
| 16 |
.033 cm |
13 mil |
| 12 |
.025 cm |
10 mil |
| 8 |
.018 cm |
7 mil |
| 6 |
.013 cm |
5 mil |
|
* To print at a different X dimension, find the point
size that has the X dimension closest to what is needed and use this
formula to find the point size:
12 * (X dimension needed) / (X dimension at 12
points) = (point size)
For example, to set an X dimension of 12 mils, print it at 14
points because:
12 * 12 / 10 = 14
|
When using a printer with less than 600 DPI, 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 may be printed at various point sizes, several combinations
of heights and widths may 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 USPS Postnet & Intelligent Mail at normal intensity |
| IDAutomation Uni S |
IDAutomation SUni S |
.35" or .889 CM |
Includes USPS Postnet & Intelligent Mail narrow by 10% |
| IDAutomation Uni M |
IDAutomation SUni M |
.50" or 1.27 CM |
Includes USPS Postnet & Intelligent Mail 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. 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 is needed and use this formula to find the point size:
12 * (height wanted) / (height at 12 points) = (point size converted to
integer)
For example, if using IDAutomation Uni M and the height should be about
.75" tall, print at 18 points because: 12 * .75 / .5 = 18
|
The following functions defined below all return data formatted
to IDAutomation's Universal Barcode Font and are available in many of the
Font Tools. All the functions listed below are preceded with IDAutomation_Uni_.
The data type returned is a string and the input type for
DataToEncode is a string.
| Function |
Notes |
| C128(DataToEncode,
ApplyTilde) |
This "Code 128
Auto" function will automatically encode data from ASCII 1 to ASCII
127. It will automatically switch to character set C to encode numbers as
necessary. To encode alpha-numeric GS1-128 (UCC/EAN-128), ASCII 202
character Ê (or the appropriate
tilde option such as ~202) 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 ("~2028100712345~2022112WH5678",
TRUE)
or
IDAutomation_Uni_C128 ("Ê" &
{Table1.DataField1} & "Ê" & {Table1.DataField2},
TRUE)
More information about
AI's
and GS1-128 / UCC/EAN-128.
If ApplyTilde
is set to True,
the tilde will be processed. ApplyTilde is False by default.
|
| C128HR(DataToEncode,
ApplyTilde) |
If creating Code 128 barcodes that
need the text formatted, use this function. It is generally only used to
format the text for UCC/EAN barcodes according to IDAutomation's
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. |
| C128B(DataToEncode) |
Formats output to Code-128, character
set B. For most purposes, it is better to use the
C128() function. |
| C128C(DataToEncode) |
This 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. |
| C39(DataToEncode,
N_Dimension,
IncludeCheckDigit) |
Generates Code 3 of 9 with 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
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 in the Interleaved 2 of 5 format 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. If a MOD10 is calculated, an odd number of digits is required. |
| MSI(DataToEncode,
N_Dimension,
IncludeCheckDigit) |
Formats output for bar-coding in the
MSI/Plessey symbology. A MOD 10 checksum will be calculated if
IncludeCheckDigit is true. |
OneCode(DataToEncode)
or
IntelligentMail(DataToEncode) |
This function works with the XS, S
or M size of the Universal Font. DataToEncode is a single string according
to the
OneCode section of the USPS FAQ. XS is the normal version,
S has the bars narrow by 10% and the M font has the bars narrow
by 20%. |
| Planet(DataToEncode,
IncludeCheckDigit) |
This function works with the XS, S
or M size of the Universal Font. A MOD 10 checksum will be calculated if
IncludeCheckDigit is true. |
| Postnet(DataToEncode,
IncludeCheckDigit) |
DataToEncode is a single string of
Zip, Zip + 4 or Zip + 4 + Delivery Point. This function only works with
the XS, S or M size of the Universal Font. 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_UCC128 ("00000123455555555558"
& "~m19" ) For more information, visit the
UCC/EAN FAQ. |
| MODU10(DataToEncode) |
A single 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. |
|
GS1-128 (UCC/EAN-128) Barcode Examples: |
| USPS EAN128 |
USPS special services labels such as
delivery confirmation are used with the IDAutomation Uni L font at 16 points.
The following formula will create USPS_EAN128 in Code 128:
IDAutomation_Uni_C128 ("~202" & "912312214123442441134"
& "~m19", TRUE
)
Where the number of 912312214123442441134 may be replaced with a data field,
for example:
IDAutomation_Uni_C128 ("~202" &
{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:
IDAutomation_Uni_C128 ("~202" & "013001234567890"
& "~m13", TRUE
)
For more information, refer to the UCC/EAN portion of IDAutomation's
Code128
Barcode FAQ. |
| SSCC18 |
The following formula will create SCC18
in Code 128:
IDAutomation_Uni_C128 ("~202" & "0000801234999999999"
& "~m17", TRUE
)
For more information, refer to the UCC/EAN portion of IDAutomation's
Code128
Barcode FAQ. |
Description of the parts of the functions:
- DataToEncode - This string value represents
the data being encoded.
- N_Dimension - Determines the width of the
wide bars, which is a multiple of the X dimension.
Valid values are 2, 2.5 and 3. The default is 2. The
X dimension is determined by the font point size.
- IncludeCheckDigit - A Boolean value
that determines whether a check digit should be automatically calculated and
included for the DataToEncode.
- ApplyTilde - In Code 128 AUTO, if ApplyTilde
is enabled, the tilde will be processed and allow
several
encoding options.
The following may be performed on a Windows PC to verify that the font is working
properly.
- Install the package on a Windows PC by running the Install.exe file.
- After installation, reboot the PC to ensure the font will be recognized
by the application.
- Open the Excel example provided with the package, which is an icon located
in Start - Programs - IDAutomation Universal Font Advantage - Excel Example.
- Change the text in cell A11 from SC4341207504 to TEST
and press enter. Be sure to enter the data in all UPPERCASE.
- Change the font in cell B11 to the Arial font.
- The text data in cell B11 should be exactly EBDEKACECEICEKAFADGIAH.
- This text, when combined with the universal font, will create a correct
barcode.
- After the font in cell B11 is changed to the IDAutomation Uni XS
font, a correct barcode will be created.
- Print and test decoding the symbol with a
barcode scanner.
If the font works properly in Excel as mentioned above, it is installed properly
and the Windows DLL is formatting the data properly for the font. To troubleshoot
any existing problems further, refer to IDAutomation's
Font Problems
and Solutions site.
© Copyright 2000-2009 IDAutomation.com, Inc., All Rights Reserved.
Legal Notices.
|
Over 70% of Fortune 100 companies
use IDAutomation's products to automate their businesses.
|
|