Canon BJC-80 Printer Driver for EPOC

by Andrew Johnson

This page is the home of my EPOC printer driver originally for the Canon BJC-80 but now also supporting the Citizen PN60i as well as various Epson LQ compatible devices. I also provide these other EPOC drivers:

Epson ESC/P2 printers shipped in the USA are slightly different to the same models shipped in Europe - Americans get scalable TrueType fonts built into theirs. There is an add-on to my BJC-80 driver that will use these fonts instead for anyone with a US model Epson or BJC printer.

ER5 versions of this driver work with mBrainSoft's FontMachine software, allowing you to print using any installed scalable font as well as the built-in fonts provided with earlier versions. EPOC Release 3 cannot run FontMachine.

Printers Supported

My Canon driver provides more fonts and font sizes than Psion's, and also prints outline and shadow effect fonts. It prints more of the EPOC international characters, and there's even a representation of the Euro character (it's not very good, but at least it's recognizable!). It should drive any recent printer that is compatible with the Epson ESC/P2 command set -- please send me positive or negative feedback if you try it with a printer that is not on the list below.

Added support for the Citizen PN60i printer. The new model should also work with most other small (Epson-compatible) Citizen printers.

Known to work on:
Canon BJ-10sx, BJ-30, BJC-50, BJC-55, BJC-70, BJC-80, BJC-85, BJ-200ex, BJC-250, BJC-4550
Citizen PN60i
Epson Stylus Colour II, Stylus Colour 760
Known to not work on:
Some more recent Epson Stylus Colour models (try the latest CXM driver instead, and send me feedback)
There is a new printer from Canon called a BJC-i80. I very much doubt that this BJC-80 driver will work with that new printer, but I haven't looked at it in detail yet to confirm this either way. It is possible that my CXM driver might work with that printer, but I don't know that for sure either.

EPOC Release 5

This driver is for the Psion Series 5mx, 5mxPro, Revo, Series 7 and Ericsson MC218, and fixes a bug in the print subsystem that causes all text to be output more than once, usually in the same place on the page, and affects all the printer drivers shipped with ER5. If you have a Series 5mx, 5mxPro or an MC218 and wish to print using the IR port you may need to download the Series 5mx Mobile Connectivity Update v1.1 from Psion's Free Software area (according to the Psion site this particular fix should only be applied to 5mx/5mxPro machines, but an MC218 owner has reported to me that it also solves problems on that machine).

Version 1.02 fixed a bug in the ER5 Version 1.01 driver which could cause it to not print some text in the sheet application. Unfortunately background shading in cells with text in them doesn't work properly, but I don't think I can solve that particular problem.

Version 1.04 had a few minor changes to the escape sequences and internal character width data, and also added another printer model that prints in ...


Version 1.04 supported basic 7-colour printing, of both text and graphics. Note that to output 8-colour graphics generates 4 times as much print data as monochrome printing, every pixel is output for each of the 4 ink colours. As a result I recommend that you only use the colour driver when you have the colour print head installed in the printer and really do need colour output.

Version 1.05 significantly speeds up monochrome print generation in areas that have no graphics (ie images, borders or shading).

Version 1.06 provided a full 5×5×5 colour cube for graphics pixels, but multiplied the data volume by 4 again because it uses 360dpi instead of 180. The penalty you pay for reasonable colours is the amount of data output - now 16 times that of the same image printed in monochrome, and that print times will be increased as a result.

Version 1.07 provides much faster colour printing, by looking at the dots being printed in each ink colour and skipping runs where there's nothing to output in this colour - a simple concept, but it meant reorganizing the internals to do it.

Version 1.08 adds support for mBrainSoft's FontMachine scalable font handling software, and fixes the IrDA printing bug.

Version 1.09 tries harder to fix the IrDA printing bug, and also ships a README file that doesn't take an inordinate length of time to open. Note that because of the additional work involved in supporting FontMachine a Print Preview takes longer to come up in 1.08 and 1.09 than it did in 1.07; this is normal. If this version causes you problems try reverting to 1.08 or even 1.07.

Version 1.10 added support for the Citizen PN60i, and has a different fix for the IrDA bug that I think truly nails the problem now. You have to keep the Psion pointed at the printer until the last page has finished printing, and then press the Continue button on a new dialog box that comes up after all the data has been sent. Apparently the Psion sends some kind of reset signal when it closes the IR connection, and some printers take this to mean "clear your input buffer immediately" which was stopping the last part of the final page from printing. This fix was essential for the Citizen PN60i support (thanks to Citizen UK for the loan of a printer!), as that device has a big input buffer so would throw away more data at the end of a job.

Version 1.10a is the same software as 1.10, but with added German language support for dialog messages.

EPOC Release 3

This driver for use with original Psion Series 5 and GeoFox machines fixes a bug in the printing subsystem which prevents documents from printing that use more than 10 different font size & style combinations. If you intend to print using the IR port and haven't already done so you will need to download the Series 5 IrDA Update from Psion's Free Software area (this particular fix should only be applied to ER3 machines).

Version 1.01 added 14 point fonts - there are now 960 diffent combinations of font family, size and style available.

Version 1.04 has a few minor changes to the escape sequences and internal character width data, and also adds colour support, although this will only be useful for printing documents received from ER5 users.

Version 1.05 significantly speeds up monochrome print generation in areas that have no graphics (ie images, borders or shading).

Versions 1.06 and 1.07 incorporate successive enhancements to the colour driver, which will probably be of little interest to users of ER3 machines.

Version 1.08 might solve the IrDA printing problem if anyone is experiencing it on an ER3 machine. The FontMachine changes don't apply to ER3 users as Symbian didn't add the installable font handling classes to EPOC until Release 5 anyway.

Version 1.09 tries harder to fix the IrDA printing bug, but can cause problems so that some people might prefer to revert to 1.08 or even 1.07.

Version 1.10 has the same IrDA fix as is described for the ER5 driver above, and added Citizen PN60i support.

Version 1.10a is the same software as 1.10, but with added German language support for dialog messages.

Known Problems

IrDA Printing stops before end of the last page

Really and truly fixed in Version 1.10.

Dialog boxes are only available in a limited number of languages.

If anyone wants to send me translations of the relevent messages into other languages I'll be happy to incorporate them into the software. Please try to keep to about the same length, I can't add any extra lines.

Long pause at the start of a print, including preview

I think this occurs because of the FontMachine support. I can't put in a switch to disable it, although I might be presuadable to release a version of the driver which doesn't have this if there is sufficient demand (email me!).

It does not print in Landscape

If you have a genuine Canon BubbleJet printer you can use my Canon Extended Mode driver to print landscape documents, although currently only in monochrome. If you don't have a Canon, sorry!

Colour Model: Near-white pixels are printed as white

In continuous tone images any very light colours (pastel shades) come out as white (actually whatever colour paper you're printing on, the printer doesn't have white ink as such [yes, I really have had questions from people who don't realize this]). I corrected this to some extent in version 1.07 by changing the thresholds used in the colour conversion process, so light greys should come out different to white.

Colour Model: Extremely slow printing

Mitigated from Version 1.07 onwards, although there are still 16 times as many pixels to be sent than when using the monochrome driver for the same page.


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. If you don't know how to extract the .SIS file from the .ZIP file that you download, go see your local PC guru.


ER3 Version 1.10a

ER5 Version 1.10a

Andrew Johnson