Morovia Font Tools Overview

Using barcode fonts to create barcode involve two distinct steps. The fist step is Encoding, which returns a string from the input. The second step is to format the barcode string with an appropriate font. Unfortunately, in most cases you can't just enter the number and format with the font to create a valid barcode, due to the extra overhead required for a barcode:

  • Many barcodes require start/stop characters to indicate to the scanner where the barcode starts and ends.

  • Some symbologies require extra check characters at the end of message to ensure a misread does not happen.

  • In Some symbology the same digit may have several representations depending on its location.

  • Some symbologies encode control characters, which are supported by most software. They have to be mapped to extended characters.

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 Windows 2000 and above.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 strings from a computer that has Internet access. If you browse the page from Windows with Microsoft Internet Explorer, you can view the generated barcode symbol at the same time.

You can find contents of Font Tools under c:\program files\common files\morovia\moroviafonttools directory.

Note

Some functions, notable Code128Ex and EAN128Ex, are provided from Windows DLL interface due to their complicated implementation. It is encouraged to use Windows DLL in your program - because it is easy to upgrade should a bug is discovered. In many other Morovia font programs, such as PDF417 Fontware and DataBar Fontware, only DLL interface is provided.

For encoder functions for 2D barcode fonts and DataBar fonts, refer to the product manuals.

For your convenience, you can also view them online here:

Function Prototypes

The table below lists all the functions we support in the language tools. All functions take one input parameter - the data encoded. 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 are appended to the end of the input if too short.

Table 1. Linear Barcode Font Encoder Functions

FunctionDetailsProduct 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
Code39Mod434Converts 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) Fontware
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 a 10-digit ISBN string into a Bookland barcode string.[a]
Postnet(text)Converts the input into a valid POSTNET barcode string with checksum. The function adds the start/stop frame bar, calculates the check digit and forms the correct symbol.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), adds 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)Encodes any single-byte characters. It automatically adjusts character sets internally to create shortest barcode possible. See KB10048 for details. Note - this function is available through Windows DLL and COM interface only. No source code is available.
EAN128Ex(text)Use this function for UCC/EAN-128 applications when you have already generated 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. See KB10048 for details. Note - this function is available through Windows DLL and COM interface only. No source code is available.
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 string with checksum. The function adds the start/stop frame bar, calculating the check digit and forms the correct symbol.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)Returns the barcode string that becomes a valid code25 barcode after being formatted with code25 font. This function does not append check digit.Code25 Fontware
Code25Check(text)Returns the barcode string that becomes a valid code25 barcode after being formatted with code25 font. This function adds 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.

[a] Book industry is required to use ISBN-13 after Jan. 2007 to accommodate the demand for new numbers. The ISBN-13 number is an EAN-13 number with prefix 979 and 978. Use EAN13 function on 13-digit ISBN numbers.


Asian Language Support Functions

The functions below are designed to support double byte languages (Korean, Traditional Chinese and Simplified Chinese) and only apply to the following three products:

  • Code128 Fontware

  • Interleaved 2 of 5 Fontware

  • UPC/EAN/Bookland Fontware

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 provided. For other languages, use the Windows DLL interface instead.