Jump to content

LogoRenderer

From Commander4j
Revision as of 21:27, 13 June 2026 by Dgarratt (talk | contribs)

LogoRenderer (c4j_logorenderer) is a standalone desktop application that renders Logopak PowerLeap label layout files to a visual on-screen preview and can stand in for a physical label printer by emulating its TCP communication protocol. It exists so that label layouts and the software that drives them can be developed and tested on an ordinary PC, in environments where no physical Logopak labeller is available to test against.

It is the rendering and printer-emulation half of a pair: LogoClient is the client that sends layouts and data to a printer, and LogoRenderer can play the part of that printer. Together they let you exercise the whole label-printing workflow with no hardware at all.

Disclaimer: LogoRenderer is an independent open-source tool and is not a Logopak product. It is not affiliated with, endorsed by, or supported by Logopak. Logopak, PowerLeap and related names are trademarks of their respective owners and are used solely to describe interoperability. The software is intended for local test and development use only — it must not be relied upon for production label printing.

Purpose

A Logopak PowerLeap labeller normally lives on the factory floor and is driven over the network by software provided by Logopak DE. When developing or supporting that software — or designing the label layouts themselves — it is often impractical to have a real labeller on the bench. LogoRenderer removes that dependency. It is useful when:

  • You need to see what a label layout will look like without printing it, by opening a .llf, .lqf or .ldf file and viewing a faithful preview.
  • You are writing or debugging software that talks to a labeller and need something on the network that answers the same protocol — without owning the hardware.
  • You want to develop without a physical Logopak altogether: render layouts, emulate the printer, and feed it from LogoClient or your own client code.
  • You need to check field data and operator prompts (LQF query fields) by typing values and watching the rendered label update.
  • You are tuning fonts so the on-screen rendering matches a real printed label.

Label and Data File Types

LogoRenderer understands the PowerLeap LEAP layout family:

Extension Description
.llf Layout File — a complete label layout with all field data embedded. Opening one renders the label immediately.
.lqf Query Layout File — a base layout containing QUE operator prompts for fields that are filled in at print time. Opening one also populates the QUE Input tab so values can be typed in.
.ldf Data File — a data-only file that references a master layout. Opening one runs its LOAD and FD commands to load the referenced layout and populate its fields.

Layouts may reference .pcx and .bmp images (logotypes) and a range of barcode types. A reference list of the wider Logopak file-type ecosystem is maintained alongside the project.

Source Code and Releases

LogoRenderer is part of the open-source Commander4j suite and is distributed under the GNU General Public License.

Installation

Native install packages for Windows, macOS and Linux are available from the Downloads page and are the preferred installation method. Each installer bundles its own Java runtime, so no separate Java installation is required. Installing creates a native LogoRenderer launcher that can be started like any other desktop application.

Running from the jar

Alternatively the tool can be run directly as an ordinary Java (Swing) application. It is built with Maven:

mvn package
java -jar c4j_logorenderer.jar [file.llf]

Running the jar requires a recent Java runtime (Java 21 or later). If a layout file is supplied on the command line it is opened on start-up; otherwise the application starts with an empty canvas. Demo layouts and data files are provided in the virtual_disk/c0/ folder.

The Main Window

The window is divided into a label preview canvas on the left and a tabbed working area on the right, with a menu bar and toolbars around them and a status bar along the bottom. The title bar shows the program name, version and the name of the open file.

The status bar reports the current file, the layout dimensions in printer dots and millimetres, the zoom level, and the number of fields in the layout.

Preview Canvas

The canvas shows the rendered label exactly as the layout describes it — text, scalable text, barcodes, graphic lines and boxes, and embedded logotype images. The rendering engine replicates the coordinate system and geometry of a PowerLeap III print head, including the upside-down (180°) print orientation. Clicking a rendered element highlights the source lines that produce it.

Source / QUE Input / Log Tabs

Tab Purpose
Source Lists the raw layout commands, one per line, each with a checkbox and a plain-language description. Un-checking a line excludes it from the render, so individual elements can be toggled on and off. Selecting a line shows its properties for editing.
QUE Input For LQF layouts, presents one input box per operator prompt. Type values and apply them to see the populated label. This mirrors what an operator would be asked for at the machine.
Log A colour-coded activity log showing file loads, parser messages, and all traffic to and from the printer emulator.

Viewing Controls

The File menu opens and reloads layout files and exports the rendered label as a PNG image. The View menu provides zoom (preset levels, zoom in/out, and fit-to-window) and a Rotate 180° toggle that flips the preview to match the printer's print orientation.

Font Mapping

Because Logopak fonts are not present on a development PC, LogoRenderer maps each Logopak font name to a Java font for rendering. The Settings → Font Mappings dialog lists every mapping and lets you set the Java font family (or a bundled TrueType file), style, reference cell size and calibration factors so that the on-screen text closely matches a real printed label. The mappings are stored in xml/config/fonts.xml; fonts found in a layout but not yet mapped are added automatically with sensible defaults, ready to be fine-tuned.

The Printer Emulator

This is the feature that makes hardware-free development possible. LogoRenderer can open a TCP server that emulates a Logopak PowerLeap III labeller, answering the same LEAP / LAMA protocol commands a real machine would.

Starting the emulator

The connection bar at the top of the window selects the IP address (default 127.0.0.1 for the local machine) and port (default 8000, the PowerLeap III primary data port; 8100, 8200 and 8300 are also offered). Pressing Start Server begins listening; the Log tab shows when a client connects. Pressing the button again stops the server.

What it emulates

A connected client can do, against the emulator, the things it would do against a real labeller:

  • Browse and transfer files on an emulated drive — the virtual_disk/ folder provides the labeller's storage areas (c0/, c9/, d0/, f0/, r0/), so directory listings, downloads, uploads and deletes all behave realistically.
  • Load a layout and send field data — when the client issues a LOAD command the emulator loads that layout into the preview, and as FD field-data commands arrive the on-screen label updates. The PC screen therefore shows what the real printer would be putting on a label.
  • Retrieve logs — the emulator can serve pallet/label log files back to the client, so software that polls a labeller for "what was printed" can be tested end to end.

Pallet print simulation

When a loaded layout contains the pallet SSCC field, a Print Label control appears. Each press simulates a pallet print — two labels per pallet sharing one SSCC — increments the SSCC counter (persisted in sscc.dat), and queues a log entry that a client can later retrieve. This lets log-polling and pallet-tracking logic be exercised without a real production run.

Using LogoRenderer and LogoClient Together

The two tools form a complete bench setup for label development with no Logopak hardware:

  1. In LogoRenderer, start the printer emulator on a port (default 8000).
  2. In LogoClient, connect in PL3 (TCP) mode to 127.0.0.1 on the same port.
  3. From LogoClient, upload a layout, send field data, browse the emulated drives or poll the pallet log — and watch LogoRenderer render the result and log the traffic.

In this arrangement LogoRenderer stands in for the printer so you can develop and test a client, while LogoClient stands in for the driving software so you can drive the renderer. Either tool can equally be pointed at a real Logopak labeller when one is available.

See Also