CXM Raster Graphics Printer Driver for EPOC

by Andrew Johnson

This is an EPOC printer driver for Canon BubbleJet and Epson Stylus Colour printers. It uses the built in EPOC fonts to do character rendering, allowing you to install and use new fonts for printing, and to print monochrome documents in landscape. It uses special raster graphics printing commands to provide a more efficient data transfer to the printer, which is necessary when sending a whole page as graphics, and the results are comparable or even better in printing time to my original BJC-80 driver. This driver currently only prints in monochrome though, for colour output you have to use the BJC-80 driver.

Version 0.03 really fixed the IrDA problem.

Version 0.03a is the same software as 0.03, but with added German language support.

Version 0.04 adds experimental support for Epson's Raster Graphics commands, so should work on most recent ESC/P2 printers including those that don't have built-in fonts and thus don't work with the BJC-80 driver. Please send me feedback if you try this as I don't have access to a printer that I can test with.

When used on an EPOC Release 5 system, this driver works with mBrainSoft's FontMachine software, which allows you to install scalable TrueType and other fonts into the system for display purposes; with this driver such fonts will print properly too.

EPOC Release 3 did not contain the necessary font software to support FontMachine, but owners may be able to use Alexander Zavorine's EPOC Font Utilities to generate EPOC-format fonts on a Windows system that will print out properly with this driver.

Printers Supported

Printers that support Canon's Extended Mode (ie BJC-xxx devices) and (experimental) Epson Raster Graphics. I'd appreciate positive or negative feedback from anyone using printers that don't appear in the list below.

Known to work on:
Canon BJ-30, BJC-50, BJC-55, BJC-80, BJC-85, S400
Should also work on:
Epson Stylus Color models
Known to not work on:
BJC-5100 (this printer doesn't understand Extended Mode commands)
MultiPASS C100 (Canon won't provide documentation)
The S400 doesn't appear to work properly in draft mode though, it looks like that resolution isn't supported. Erik Sandblom wrote:
Tried my Canon S400 printer with Andrew Johnson's CXM ("extended mode"?) printer driver and it worked, but much much slower than printing a web page or word processing document from my Mac (OS9) or PC (WinME). Since I used Kevin Millican's PrintThru/PassThru to print through my PC, the 19kbps limitation may be responsible for this. Before posting this I registered for the full 115kbps version and will report back to say if this changes anything.
Interstingly, draft mode didn't go really much faster, but the printout came out tiny. The quality in both draft and fine mode was also a little blotchy, with letters being a little pixely, not as smooth as with Canon's Windows and Mac drivers.

Known Problems

16-Gray graphics only output 4 gray levels

If you print a 16 gray-level MBM graphic image, it will only be printed as 4 levels. This is because the internal buffer that is used for the raw output data is only 1 bit deep (black & white only), and EPOC contains code that dithers from 2-bit deep images, but nothing more for 4-bit images so they only use the 2-bit dither process. This might change if/when the driver ever supports colour, but don't hold your breath waiting.

FontMachine font selection problem

If you have mBrainSoft's FontMachine and you install a font with the same name as one of the built-in fonts (e.g. Arial), you might not be able to use the added font without deleting the built-in font from the FontMachine control panel. This occurs because of the name clash, fonts are selected by name.


If you have no idea what to do with the file that gets downloaded from one of the links below, there are some instructions on how to install a .SIS file on John McAleely's site.


ER3 Version 0.03a

ER5 Version 0.03a

ER3 Version 0.04

ER5 Version 0.04

Andrew Johnson
October 2001