RISC World

ArtWorks JPEGObject and ColourBar modules

Geoffrey Dean installs the latest pair of ArtWorks modules from Martin Würthner

It seems like no time since Martin Würthner launched his ambitious TextArea module for ArtWorks, but already two further new modules have appeared from the same stable. Does this man not have a 'proper' living to earn? Maybe he's making his fortune out of his ArtWorks extensions... and if not he certainly ought to be, as they're all exceedingly useful.

The latest two new modules are admittedly on a smaller scale than TextArea, but that's not to say they aren't useful; on the contrary. JPEGObject, as its name implies, adds JPEG graphic support to ArtWorks, whilst ColourBar adds a new palette that makes it extremely simple to change the colours of your various objects with a minimum of clicks.

In both cases, installation of the modules follows the normal procedure of either just copying them into your !ArtWorks.Auto directory, or doing that and then spending a little time editing choices if you use the ArtWorks QuickStart option (which I sometimes think ought to be renamed as SlowInstall). So, once they're installed and working, let's see exactly what they offer.


This is one of those 'invisible' modules that doesn't add anything much to the user interface (beyond a new Choices window). It simply causes ArtWorks to become capable of including JPEG-format graphics (such as photographs from digital cameras) within its files. This is useful for several main reasons.

First of all, it is of course a handy feature to have simply because JPEG images are so common these days, and if you want to be able to use your own photos directly within ArtWorks, now you can do so. JPEGs handled by the JPEGObject module behave just like sprites, even though they remain in JPEG format: they can be scaled, rotated and skewed, as can be seen in the illustration below.

Regular and transformed JPEGs in ArtWorks courtesy of JPEGObject

(If you don't know how to skew objects in ArtWorks, incidentally, you have to rotate them first and then use the Scale tool with the Lock option turned off.)

Secondly, JPEG images are of course very memory-efficient, and use only a fraction of the memory and disc space required by an equivalent sprite file; so by using JPEG graphics you can save a lot of disc space in your ArtWorks files because the graphics remain stored as JPEGs within the file. It was previously possible to load JPEG images into ArtWorks by using Computer Concepts' optional Graphic Loaders package, but this merely converted the JPEGs into sprites before loading them, which lost all the advantages of the JPEG format. With JPEGObject installed, they stay as JPEGs within the ArtWorks document, which is far more useful.

And the final important factor is that JPEG files are now one of the official graphic file types supported within RISC OS and the standard applications, Draw and Paint. Draw has been able to include JPEG images within its documents for quite some time, now, which made it more useful than ArtWorks in some situations. Now ArtWorks has finally caught up. With JPEGObject installed, it is of course now possible to both import and export Draw files containing JPEG images to and from ArtWorks (and JPEGs may be included in EPS import and export, too).

As mentioned briefly above, the JPEGObject module does have a set of choices associated with it, as shown in the screenshot below. There are some interesting points to be made about some of these options.

JPEGObject module Choices window

The Draw export section determines whether JPEG images should be included in Draw files exported from ArtWorks, or whether they should first be converted into sprites. It's preferable to include them, of course, but Draw files containing JPEGs can only be used on machines running RISC OS 3.6 or later, so the option can be turned off for compatibility with older machines. (Note that the JPEGObject module itself requires RISC OS 3.5 or later.)

A sub-option in the Draw export section presents a more interesting choice (and defaults to being off): whether or not transformed JPEG objects should be saved in exported Draw files. As mentioned above, JPEGObject allows you to scale, rotate and skew JPEGs in just the same way as sprites, but unfortunately the JPEG-plotting code in RISC OS is not so flexible, and can only plot untransformed JPEGs. Attempting to plot transformed images fails to work, as the screenshot of Draw, below, demonstrates.

Draw's inability to display transformed JPEGs via the standard RISC OS JPEG display routines

To avoid the above problem, JPEGObject can be set to export transformed JPEG objects just as sprites, so that other RISC OS applications (such as Draw) can continue to render them correctly. But again, having to use sprite format is a significant disadvantage in terms of efficiency and memory usage.

The good news, however, is that Ovation Pro is capable of handling files with transformed JPEGs in them, so if you want to include your graphics in DTP output, rather than printing directly from ArtWorks, then this is clearly the package to use.

As an aside, JPEG support is due to be improved in the forthcoming RISC OS 4.5 update, although the improvements may still not address the plotting of transformed JPEGs; we'll just have to wait and see about that.

The final user choice determines whether JPEGs should be plotted with error diffusion at quality-setting 11. Error-diffused plotting will generally give better, less grainy results than standard dithering at the expense of some speed, particularly in screen modes with only 256 colours (though the relative quality does depend somewhat on the picture content). JPEG plotting is, by its nature, slow at best, and error diffusion slows it down even more, which is why you're able to turn it off if you wish. In general there's little performance penalty if you're using a 32K-colour mode (though in that case it's hard to see much benefit from error diffusion anyway). In 256 colours, error-diffused plotting adds a significant speed penalty. The two images below show the difference between error-diffused and regular plotting for one of smaller images from the previous example.

Standard ditheringError diffusion
Standard ditheringError diffusion
Both images were rendered in a 256-colour screen mode

The only other thing to say about JPEGObject is that it does, of course, provide a genuine new object type in ArtWorks, so you can call up detailed information about a JPEG just as with other types of object, and set its position and size numerically. (There's also a button to reset it to its original state when first loaded.)

All in all, this is an excellent module. It does just about everything you could expect and works seamlessly with the rest of the package to provide genuinely useful new functionality. I consider it one of the most useful new additions to ArtWorks, and anyone who makes regular use of JPEG images should certainly purchase it without delay.


Unlike the JPEGObject module, ColourBar does not actually extend the functionality of ArtWorks in any way: it merely provides an additional user interface element for convenience.

The colour selection features of ArtWorks have always been decidedly awkward to use, and when ArtWorks' PC-based successor, Xara Studio, originally appeared, ArtWorks users felt decidedly envious of its ability to allow colours to be dragged and dropped onto objects from a handy palette.

Now, with ColourBar, ArtWorks has at long last gained a similar facility. Once installed, a new set of menu options appears on the Utilities menu to display the new colour bar palette and optionally attach it to the current window. It takes the form of a new toolbar, similar in style to ArtWorks' existing info palette with a vertical title bar at the left-hand end. The picture below shows a colour bar containing the default selection of ArtWorks colours.

ColourBar with the standard selection of ArtWorks colours

The first colour (white square with stripes) represents 'None', and the R in a box is for registration black. Next come the colours defined in the document, with the shape of the colour swatch representing the type of each colour. Square swatches represent regular process colour definitions, whilst tints are represented by squares with a corner chopped off and spot colours (not shown in the illustration above) are represented by circles. All very logical and sensible.

So, the colours in the document are available as a permanent display in a new palette, and as more colours are added, the extent of the palette will increase; you can scroll it or resize it sideways to see the others. Clicking Menu on a colour allows you to edit that colour, whereas clicking Menu to the right of the last colour allows a new colour to be created.

To actually apply the colours to objects in your document, you have a number of options. If you have a selection of one or more object(s) already, then a simple Select-click on a colour will apply the chosen colour to the object(s) as a fill colour, whilst an Adjust-click will apply it as a line colour.

If you want to apply new colours to a single object then you don't even have to select the object first: just drag the colour of your choice from the palette to the object, using Select or Adjust to determine whether it's a fill or line colour. The change will be made and the object selected in a single, easy action.

The picture below shows an example of ColourBar in use. The top three hexagons were all selected at once and their colours changed with single clicks on the bar, whereas the lower three hexagons had their colours changed individually by dragging.

ColourBar in use

So, ColourBar is very easy and intuitive to use, and behaves just as you would expect it to. In terms of what it does and the way it does it, it adds a very useful new user interface element.

However, of all Martin's new tools, I have to say that ColourBar is in some ways the least satisfactory, and its main strength (that it extends ArtWorks' user interface) is also, unfortunately, its greatest weakness. How can that be so? Well, it's because of the way in which the ArtWorks window acts when ColourBar is present: it behaves as though ColourBar weren't there at all. This is a limitation of ArtWorks rather than a failing on the part of MW Software's code, but it's regrettable and means that ColourBar doesn't integrate as nicely with the ArtWorks user interface as might be hoped.

There are two main issues. The first is that, as you drag an ArtWorks window around the screen, whilst the toolbox and info palette move smoothly with the main window, the colour bar stays where it is until you stop dragging, at which point it hops into its new position. It's a trivial problem, but it looks and feels rather clumsy. More importantly, if you toggle the ArtWorks window to full size, it will ignore the colour bar and place the info bar on top of it, meaning that you then have to resize the main window to make the colours visible. You can get around this by choosing to attach the colours to the top of the document window rather than the bottom, but in that position I find that the colours get in the way of the drawing, and the palette becomes rather distracting.

These points are very minor issues, and certainly not a reason not to invest in the software; but they do draw attention to further limitations in ArtWorks itself, and it would have been nice if the integration could have been fuller and more convincing.

One way in which I do think that MW Software could improve ColourBar, though, is to allow it to display multiple rows of colours. Because the palette can currently only display a single row, it can become cumbersome and require a lot of sideways scrolling if the document contains a large number of colours. I would like to see a facility to allow the palette to be resized downwards as well as sideways, so that colours can be wrapped across multiple rows.

I suggested this to Martin Würthner during the course of writing this review, and was delighted to hear that it was already on his list of useful possible ideas for future versions, along with several other minor brainwaves. Martin is very conscientious about both keeping all his modules up to date and fixing any bugs that arise, so it's nice to know that there are useful further plans for ColourBar.

So. despite minor interface limitations, ColourBar is another invaluable addition to ArtWorks. It certainly makes access to colours enormously quicker and easier than ever before.


I have no hesitations whatsoever in recommending JPEGObject. ColourBar is also very useful, though I feel that it's let down to a greater extent than other extension tools by inherent limitations in ArtWorks (which is the fault of ArtWorks rather than the module itself). Nevertheless, it performs as well as it can within the constraints of what ArtWorks is actually able to do. So, as usual, both new modules come highly recommended for anyone who spends a significant time using ArtWorks.

Further announcements

Another important development occurred on the very evening that I finalised this review: Martin Würthner released a new version of the AWRender code within an updated ArtWorks Viewer application (the freeware file viewing utility). The new version is capable of displaying a significantly wider range of objects than the old code, which used to crash if presented with ArtWorks files that made use of certain new object types. The updated AWRender code can now display all objects supported by the final version 1.7 release of ArtWorks (with the exception of 'deep' sprites), together with polygon objects, hatched fills and JPEG images. This last point is particularly significant, as it means that, by embedding a JPEG in an otherwise empty ArtWorks file, it is now possible to include native JPEG images within Impression documents. Be sure to download the new code from MW Software's Web site; it's freely distributable, it's useful, and it makes any program that's capable of rendering ArtWorks files even more useful than it was before.

Finally, as announced at the Wakefield Show, Martin Würthner is now in a position to sell complete ArtWorks packages with all of his extension modules included, for the very attractive price of only £149 (plus £7.50 P&P), under the collective title of MasterWorks. That's a fantastic bargain, so if you don't yet have a copy of ArtWorks at all, now is an excellent time to buy one. (Though if you don't have ArtWorks already, why are you reading this review?)

Product details

Product: ArtWorks JPEGObject and ColourBar modules
Supplier: Martin Würthner
Price: JPEGObject
£15 inclusive (single user)
£35 inclusive (site licence)
£12.50 inclusive (single user)
£30 inclusive (site licence)
Address: MW Software, Mannheimer Straße ,67655 Kaiserslautern, Germany
Tel: +49 (0)631 3608205

The prices quoted are for email delivery. Please add a further £2.50 for regular mail delivery on disc. Note also that software may now be ordered online via the MW Software Web site.

Geoffrey Dean