Introduction
Using font to generate barcode is usually a simple, intuitive
process. No programming skills is required and you can create
barcode images within most of applications. For character fonts such
as OCR and MICR
Fontware, and self-checking fonts such as
Code39 and
Codabar, Code25, input is very straightforward. However, to print other
types of symbols, things are getting more complicated. Several factors
contribute to the complexity:
- Check characters. To increase the data security, many
symbologies require one or two check characters appended
right after the encoded message. The calculation algorithm is
usually very simple, yet prone to human error.
- Encoding algorithm. In some symbologies, especially
EAN/UPC series, one character may have
multiple encoding schemes. Since one character can only
reflect one encoding, multiple characters are needed for the
same digit.
- Control characters. It is sometimes desirable to encode control
characters into a barcode. By scanning the barcode back
into the host computer, manufacturing processing can
be automated. However in most applications control characters
are treated as non-printable. To allow customers print these characters,
we map these control characters to printable character range.
In addition to these three major factors, Microsoft Office
(especially the new versions of Word) requires additional changes.
To be fully compatible with Microsoft Office, some characters
are reserved, such as space character. To encode space into
a barcode, you need to type another character, depending on
the barcode font you are using.
To assist our customers automate the barcode creation
process, we provide a collection of utilities, web utilities,
source code named Morovia Font tools collectively. Morovia Font
Tools are included in every Fontware package; and they can also
be downloaded and upgraded separately. The contents of Morovia
Font Tools include:
- Morovia Fontpal.
Fontpal is a GUI program running on
all Win32 platforms. Fontpal generates
the correct string based on the symbology you choose and the message
you want to encode. Fontpal also lets
you visually inspect the barcode you are going to
create, so you have an idea of the barcode image you are going
to create - this is especially useful if you are going to create
a barcode symbol without the underlying text.
- Language Tools. Language tools include source code written
in major programming languages enabling customer integrate the
barcode font with applications. Currently we have language tools
for Visual Basic, VBScript, Crystal
Reports UFL, Crystal Report Formula, C/C++ and JavaScript.
- Morovia Fontpal Web Utility.
With this web utility you can generate barcode string from
Macintosh, UNIX and LINUX platforms as long as the computer
has an Internet connection. If you browse the page from
Windows with Microsoft Internet Explorer, you can view the
generated barcode symbol at the same time.
To
the
most updated version of Morovia Font Tools, click
here.
Alternatively, you may view and download source code
separately:
Function Prototypes
The table below lists all the functions we support in the language
tools. All functions take one input parameter - the encoded message.
If input contains characters which can not be encode with the indicated
symbology, these characters will be filtered out. If a symbology
required fixed length of the input string, the excess will be
truncated
if the input's length exceeds the required length; or zeroes will
be appended to the end of the input if too short.
|
Function
|
Details
|
Product to apply
|
|
Code39(text)
|
Converts the input text into a Code 39
barcode string. The function throws off characters not in the Code
39 character set, and adds start/stop characters.
|
Code39
Fontware
|
|
Code39Mod43(text)
|
Converts the input text into a Code39
barcode string with Mod 43 check character. The function throws off
characters not in the Code 39 character set, calculates the
mod 43 check character, and adds start/stop characters.
|
|
Code39Ascii(text)
|
Converts the input text into a Code39
extended symbol. This function should be used to format
Morovia code39 font, not Code39 full ASCII font. The text
can be any combinations of ASCII characters. Note that the
symbol generated is extended Code39 type, and the scanner must
be put in Code39 extended mode to read the symbol properly.
|
|
Code39Extended(text)
|
Converts the input text into a Code39
extended symbol. It accepts any ASCII characters as input.
The only difference from function Code39Ascii is the former
is designed to work with Morovia Code39(Full ASCII) font and
the latter is designed to work with Morovia Code39 font.
|
Code39
(Full ASCII)
|
|
Code93(text)
|
Converts the input text into a Code93
barcode string. It accepts any ASCII character input, taking care of
the check character calculation and adding start/stop
characters into the string.
|
Code93
Fontware
|
|
EAN13(text)
|
Converts the input text into an EAN
barcode. Accepts input of 12 digits of numeric data.
|
UPC/EAN/Bookland Fontware
|
|
EAN8(text)
|
Converts the input text into an EAN-8
barcode. Accepts input of 7 digits of numeric data.
|
|
UPC_A(text)
|
Converts the input text into a UPC-A
barcode. Accepts input of 11 digits of numeric data.
|
|
UPC_E(text)
|
Converts the input text into a UPC-E
barcode. Accepts input of 6 digits of numeric data.
|
|
Bookland(text)
|
Converts an ISBN string into a valid
Bookland barcode string.
|
|
Postnet(text)
|
Converts the input into a valid POSTNET
barcode string with checksum. The function adds the
start/stop frame bar, calculating the check digit and forms
the correct symbol. This function can also be used to
generate PLANET barcode string.
|
U.S.
Postal Fontware
|
|
USPS_EAN128(text)
|
Used for 22 digit USPS special services
labels such as delivery confirmation in EAN128. This
function takes 19 digit input which is made up of the three
parts: 2 digit service code, 9 digit customer ID and 8 digit
sequential package ID. This function calculates the check
digit (Mod10), add the application identifier 91 as required
by the USPS standard, and format the data with EAN128
standard. |
|
Code128A(text)
|
Accepts the input of character set A.
Code128 character set consists of capital letters and
control characters.
|
Code128
Fontware
|
|
Code128B(text)
|
Accepts the input of character set B.
Code128 character set consist of all printable character s
in the ASCII table.
|
|
Code128C(text)
|
Code128 character set C only contains
numeric characters. Used when the encoded data containing
only numbers.
|
|
Code128Ex(text)
|
Encode any ASCII characters. It
automatically shift to another character set when the
encoded character is not found in the current character set.
See
this article for details.
|
|
EAN128Ex(text)
|
Use this function for UCC/EAN-128
applications when you have already generated your MOD10
check digit if required. See
this article for details. |
|
SCC14(text)
|
Accepts 13 digits input and generates
the complete barcode sting for SCC14. This function will
calculate the SCC-14 check digit, append the application
identifier 01, and encode the data with Code128C. |
|
SSCC18(text)
|
Accepts 17 digits input and generates
the complete barcode string for SSCC18. This function will
calculate the check digit, append the application identifier
00, and encode the data with Code128C. |
|
RoyalMail(text)
|
Converts the input into a valid UK
royal mail
barcode symbol with checksum. The function adds the
start/stop frame bar, calculating the check digit and forms
the correct symbol.
|
U.K.
RoyalMail Fontware
|
|
Codabar(text)
|
Converts the input into a valid Codabar
symbol. The default start/stop characters are “A” and “B”.
|
Codabar
Fontware
|
|
Code25(text)
|
Converts the input into a valid Code25
symbol. No check character appended.
|
Code25
Fontware
|
|
Code25Check(text)
|
Converts the input into a valid Code25
symbol. Append a check digit.
|
|
ITF25(text)
|
Converts the input into a valid
interleaved 2 of 5 barcode. No check digit appended in this
function.
|
Interleaved 2
of 5 Fontware
|
|
ITF25Check(text)
|
Converts the input into a valid
interleaved 2 of 5 barcode. Append a check digit.
|
|
MSIMod10(text)
|
Converts the input into a valid MSI/Plessey
symbol. Check digit is calculated based on Modulo 10
algorithm.
|
MSI/Plessey
Fontware
|
|
Code11(text)
|
Converts the input into a valid Code11
symbol. Check digit as well start/stop characters are added
into the input.
|
Code11
Fontware
|
|
Telepen(text)
|
Converts the input into a Telepen
barcode string. The function accepts any ASCII character
input, taking care of the check digit calculation and adding
start/stop characters.
|
Telepen
Fontware
|
|
TelepenNumeric(text)
|
Converts the input into a Telepen
Numeric barcode string. This functions accepts numeric input
only.
|
Telepen
Fontware
|
Asian Languages Support Functions
The functions below are designed to support
double byte languages (Japanese, Korean, Chinese etc.) and only
apply to the following three products:
These functions required Fontware Version 2.5 or later. These
functions can be found in files with suffix Asian, such as
MoroviaFontTools_Asian.c. Currently only Visual Basic and C are
supported and you are free to write functions in other
languages. For more information about
Asian languages support, click
here.
|
Function
|
Details
|
Product to apply
|
|
EAN13_Asian(text)
|
Converts the input text into an EAN
barcode. Accepts input of 12 digits of numeric data.
|
UPC/EAN/Bookland Fontware
(double-byte Version)
|
|
EAN8_Asian(text)
|
Converts the input text into an EAN-8
barcode. Accepts input of 7 digits of numeric data.
|
|
UPC_A_Asian(text)
|
Converts the input text into a UPC-A
barcode. Accepts input of 11 digits of numeric data.
|
|
UPC_E_Asian(text)
|
Converts the input text into a UPC-E
barcode. Accepts input of 6 digits of numeric data.
|
|
Bookland_Asian(text)
|
Converts an ISBN string into a valid
Bookland barcode string.
|
|
Code128A_Asian(text)
|
Accepts the input of character set A.
Code128 character set consists of capital letters and
control characters.
|
Code128
Fontware (double-byte version)
|
|
Code128B_Asian(text)
|
Accepts the input of character set B.
Code128 character set consist of all printable character s
in the ASCII table.
|
|
Code128C_Asian(text)
|
Code128 character set C only contains
numeric characters. Used when the encoded data containing
only numbers.
|
|
Code128Auto_Asian(text)
|
Encode any ASCII characters. It
automatically shift to another character set when the
encoded character is not found in the current character set.
|
|
EAN128_Asian(text)
|
Use this function for UCC/EAN-128
applications when you have already generated your MOD10
check digit if required.FNC1 automatically included after
start digit. You need to supply the combination of AI and
data as the input parameter. |
|
SCC14_Asian(text)
|
Accepts 13 digits input and generates
the complete barcode sting for SCC14. This function will
calculate the SCC-14 check digit, append the application
identifier 01, and encode the data with Code128C. |
|
SSCC18_Asian(text)
|
Accepts 17 digits input and generates
the complete barcode string for SSCC18. This function will
calculate the check digit, append the application identifier
01, and encode the data with Code128C. |
|
ITF25_Asian(text)
|
Converts the input into a valid
interleaved 2 of 5 barcode. No check digit appended in this
function.
|
Interleaved 2
of 5 Fontware (double-bye version)
|
|
ITF25Check_Asian(text)
|
Converts the input into a valid
interleaved 2 of 5 barcode. Append a check digit.
|
Resources
To learn more about Morovia Fontware, visit the following:
- Fontware introduction - from there you
can find information about font naming convention,
font quality and font product index.
- Fontware support - if you want
to find out how to embed fonts in the web pages, how to
print barcode in QuickBooks forms.
- Fontware order - order
our font products. This page also contains direct links
to homepages of each font.
|