This is the software described here it converts bitmap images to vector format.

Trace was the penultimate of my £5.99 software discs (#35); it appeared in 1991. I thought of the idea of converting RISC OS Sprite files to RISC OS Draw files; at the time I was collaborating with Jason Williams in New Zealand; we'd exchange letters and discs via air mail. He provided the overall algorithm for doing the conversion, and he also contributed the clever piece of code which finds the outlines of areas. I worked out how to fit Draw file Bézier curves to the pixel outlines - based on [1]

The algorithm consists of picking a pixel, finding the outline of the area of pixels filled with that colour and producing a curve which matches the area. The area is then filled with 'ignore already done' and a new pixel is picked.

Coincidentally another program to do the same job appeared, called "Tracer", but it cost a lot more. In the light of these programs, one which did not suffer from some of their problems appeared - "Image Outliner" from Iota. I suspect the code from that ended up in Computer Concept's Xara program.

There is a pathological arrangement of pixels which upsets the outline code. I never fixed it. The overall algorithm does not optimally handle situations like where one area lies on top of another and splits it into two parts - it would produce three areas, when two would be better.

Context, processing power was limited, bitmap images had at most 256 colours, it would be a year before home internet appeared, interaction with users was via letters and the Arcade bulletin board.

Users came up with the idea of scanning fonts, tracing them, and producing font files. To aid them in this (perhaps legally dubious) endeavour I produced D2Font which takes many Draw files and generates Acorn font files.

D2font was always included on the Trace disc and both were supplied with my "scanning software".


  1. "Fitting Curves to Data: the Simplex Algorithm is the Answer". M.S. Caceci and W.P. Cacheris. Byte Magazine 9(5), 340-362 (1984).

RISC OS source code of Trace

Click to return to software index
Click to return to wiki index
Click to return to David Pilling web site

Page last modified on September 24, 2015, at 02:10 AM
Powered by PmWiki