How to Use Morovia Code39 (Full ASCII) Barcode Fontware: Setup & TipsMorovia’s Code39 (Full ASCII) Barcode Fontware lets you generate Code 39 barcodes in environments where native barcode controls aren’t available — for example, in word processors, spreadsheets, basic label-design tools, or legacy systems that accept fonts but not barcode objects. This article walks through installing and activating the font, encoding Full ASCII Code 39 data correctly, creating barcodes in common applications, troubleshooting scanning problems, and tips for ensuring reliable printing and scanning.
What is Code 39 (Full ASCII)?
Code 39 is a discrete, variable-length barcode symbology that encodes uppercase letters (A–Z), digits (0–9), and a set of special characters. The original Code 39 has limited character coverage; the Full ASCII variant uses pairs of Code 39 characters to represent the complete 128-character ASCII set (including lowercase letters and more punctuation). Morovia’s Fontware implements this Full ASCII mapping so you can represent any ASCII text using the Code 39 visual patterns.
Key fact: Code 39 requires start/stop characters (represented by ‘*’ in human-readable form) and commonly uses optional checksums (Modulo 43) depending on scanner or industry requirements.
Before you start — license and files
- Purchase or obtain the correct Morovia Code39 (Full ASCII) Fontware package from Morovia or an authorized reseller. The package typically includes:
- TrueType/OpenType font files (e.g., Code39FullAscii.ttf)
- Encoding utilities or sample macros (sometimes provided)
- Documentation and licensing information
- Verify the license covers your intended use (desktop, server, web embedding, distribution with products, etc.). Server- or OEM-use often requires a different license.
Installation (Windows / macOS)
- Close any applications that may use fonts (Word processors, label software) to ensure they pick up the new font.
- Install the font:
- Windows: right-click the .ttf/.otf file → Install (or double-click and select Install). For system-wide install, you may need Administrator rights.
- macOS: double-click the font file to open Font Book → Install Font.
- If your environment uses a font cache (some server apps do), clear or refresh the cache per the application’s instructions.
Encoding text for Full ASCII Code 39
Because Code 39 Full ASCII encodes characters outside the basic set using pairs of symbols, you must convert your input text into the equivalent Code 39 representation before applying the barcode font. There are two main ways to do this:
- Use Morovia’s provided encoder utility or font driver that automatically maps ASCII characters to the required Code 39 pairs when you type.
- Use a conversion tool or script (examples below) to translate input into the proper expanded sequence, then apply the barcode font.
Important: Always include the start/stop character and any required checksum. Many barcode fonts won’t automatically add these.
Example: To encode “Hello-123” you may need to:
- Convert lowercase letters to their Full ASCII pairs (since Code 39 natively supports only uppercase).
- Surround the result with start/stop characters: ….
- Optionally append Mod43 checksum.
Creating barcodes in common applications
Below are concise steps for popular tools.
Microsoft Word / Excel:
- Convert your data to the encoded Full ASCII string (use a macro, external tool, or Morovia encoder).
- Type or paste the encoded string into the document.
- Select the text and set the font to Morovia Code39 (Full ASCII) font.
- Adjust font size for desired barcode height. Ensure adequate quiet zones (left/right margins) by adding spaces if necessary.
- For Excel label sheets, set cell alignment and column width so the barcode prints at correct proportions.
Google Docs / Sheets:
- Because Google’s environment doesn’t accept local fonts for other viewers, you’ll need to convert text to a barcode image:
- Use Morovia’s encoder to produce the encoded string, then use a local tool to render and export as PNG/SVG, then insert the image.
- Or generate barcodes server-side if you have an allowed server license.
Label design software (BarTender, NiceLabel, ZebraDesigner):
- These tools often support barcode objects natively; prefer the built-in Code 39 Full ASCII object if available (it will handle encoding and checksums).
- If you must use the font: place a text field, convert input to the encoded string, set the Morovia font, and disable text wrapping. Check that the software does not auto-apply character spacing or kerning — set character spacing to 0.
HTML / Web:
- Web embedding of commercial fonts requires appropriate webfont licenses. If licensed:
- Convert your data to the encoded string server-side.
- Serve the font via @font-face (if license permits) and apply it to the element containing the encoded string.
- Safer approach: render barcode server-side to an image (PNG/SVG) and embed the image.
Generating barcode images (recommended for cross-platform consistency):
- Use Morovia’s barcode SDK or encoder to produce vector (SVG) or high-resolution raster images. SVG is preferred for crisp scaling and printing.
- Save required sizes and export at print DPI (300–600 DPI) for labels.
Checksum (Modulo 43) — when to use it
- Modulo 43 is optional in many applications but required in some industrial systems.
- If required, compute the checksum character by summing the Code 39 values of all characters (per the Full ASCII expansion mapping) and taking modulo 43; append its corresponding Code 39 character before the stop character.
- Many Morovia encoders and barcode tools can compute and append this automatically.
Print and scan best practices
- Quiet zone: Provide at least 10x the narrow bar width (or follow Morovia documentation) of blank space on each side.
- Bar width & ratio: Ensure the scanner’s resolution and printing device can reproduce the narrow bar width. High-quality thermal or laser printers work best for labels.
- Contrast: Use dark bars on a light background; avoid patterned or reflective materials.
- Magnification: Keep bar height and magnification within recommended ranges. For Code 39, avoid excessive compression or expansion of widths; stick to integer multiples of the narrow element width where possible.
- Avoid font substitution: Embed fonts in PDFs or convert to outlines/SVG when sending to print vendors.
- Test with your actual scanners and label stock. Scanners differ in tolerance.
Troubleshooting common problems
- Scanners won’t read the barcode:
- Ensure start/stop characters are present.
- Check for incorrect encoding (lowercase characters not converted).
- Verify sufficient quiet zones and contrast.
- Try increasing bar width (magnification) or print DPI.
- Bars look uneven or kerning is applied:
- Disable character kerning/tracking in the application.
- Use a barcode object or render to vector image if font rendering is poor.
- Barcode too small when printed:
- Increase font size or output DPI. For labels, set font so narrow bar width meets scanner minimum (often ~7–10 mils).
- Checksums mismatched:
- Recompute checksum using Full ASCII mapping or enable encoder to add it automatically.
Automation tips & scripts
- Batch encoding: Use Morovia’s command-line tools or SDK to convert CSV files to barcode images or encoded text fields for mass label production.
- Excel macros: A simple VBA wrapper can call an encoder or implement the Full ASCII mapping and Mod43 calculation to auto-generate encoded strings from worksheet columns.
- Server generation: For web shops, generate SVG barcodes server-side (using Morovia SDK or other libraries) to avoid client font issues and ensure consistent rendering.
Security & data considerations
- Avoid embedding sensitive data directly in barcodes without access controls — anyone with a scanner can decode it.
- For controlled environments, consider adding application-level checks (prefixes/suffixes, authentication tokens) that your backend recognizes.
Final checklist before production
- Confirm license allows your intended distribution method.
- Verify encoding (Full ASCII pairs), start/stop characters, and checksum usage.
- Test print at production size, material, and scanner hardware.
- Embed or convert fonts to outlines for print vendors or export to SVG/PNG.
- Maintain a fallback plan: produce images if font-based approach fails in a target environment.
If you want, I can:
- Provide a VBA macro to convert ASCII text to Code39 Full ASCII encoded strings (with optional Mod43 checksum).
- Generate example encoded strings for sample inputs.
- Outline exact narrow bar width (mils) recommendations for a specific printer and scanner model — tell me the model(s).
Leave a Reply