Geoffrey Dean turns ArtWorks into a DTP package with the latest plug-in module from Martin Würthner
ArtWorks, that great veteran of RISC OS graphics packages, may be getting somewhat long in the tooth these days, and may be under threat from more recent packages such as Vantage, but it remains one of the most popular and widely used applications for RISC OS nevertheless.
The reasons are very clear: not only is it fast, powerful, flexible and easy to use, but its modular nature allows its facilities to be extended through the inclusion of plug-in extension modules, and whilst there are limits on what can be done by such modules (e.g. we're never likely to see the availability of true transparency support, as in CorelXARA or Adobe Illustrator), there is nevertheless a lot of scope for enhancing the program significantly.
Although it took a long time before any third party modules appeared for ArtWorks (much to the chagrin of Computer Concepts, I rather suspect), several did eventually appear from a few developers, but by far and away the greatest hero of ArtWorks module development in recent years has been Martin Würthner. Martin has been responsible for at least fourteen brand new ArtWorks tools, not to mention various other bug-fixes and enhancements to several existing tools, and has single-handedly transformed the capabilities of this vector drawing package.
Martin's most recent new ArtWorks release is his most ambitious to date: a tool which, by adding sophisticated text-handling features to ArtWorks, elevates it from being just a graphics package and transforms it into a simple desktop publishing system.
TextAreaSo, what is this magic module that transforms the very nature of what ArtWorks constitutes? Well, it's called TextArea and it gives you, unsurprisingly enough, the ability to create text areas within your ArtWorks documents. Text areas are of course boxes of text, such as you would find in a DTP document, in which the text can appear in a variety of fonts, sizes and colours. In a sense this shouldn't appear particularly innovative in itself, as RISC OS Draw has offered a text area facility right from the start. But the trouble with Draw's text area features is that they're so obscure and difficult to use (uncharacteristically so for an otherwise excellent RISC OS package) that few people even remember that they exist, let alone how to use them!
And anyway, whilst ArtWorks has always been able to include lines of monostyled text, that was the limit of its own text-handling facilities. All that has now changed, though, as the new TextArea module allows you to incorporate entire stories of variously-styled text in as many multi-column text frames as you require. So, let's take a look at the details of what it can do.
Installing TextArea into ArtWorks is performed in exactly the same way as with any other extension module: you simply place a copy of the module in the !ArtWorks.Auto directory. If you've set ArtWorks to load in quick-start mode then you have the added complication of having to disable quick-start, reload ArtWorks and then enable quick-start once again, but that's hardly a big job.
Once installed, the module actually places two new tools in your toolbox, though for much of the time you don't have to worry too much about which is which. The Text Area tool (whose icon is an A in a box) is intended for defining the characteristics of text areas, whilst the Text Edit tool (represented by an E in a box with a caret) is used for editing the contents of text areas. However, to some extent they can be used interchangeably, as a new text area can be created with either tool.
Being a complex and comprehensive set of tools, TextArea does suffer slightly from ArtWorks' rather unreasonably cramped info bar. As with several of his other tools, Martin Würthner has adopted a multi-page approach to the info bar, so you must click a small icon to switch each tool into the mode you require. Whilst this is unavoidably slightly cumbersome, the layout of the modes is very logical and helpful, so it's little hindrance really. Let's look at the facilities of each tool in turn.
The Text Area tool
To avoid confusion, here I'm talking about the Text Area tool as opposed to the Text Edit tool, rather than the TextArea module as a whole!
The Text Area tool is what you use to define the exact size and position that a text area should occupy. The tool has two modes, the first relating to the size and position of the text area, and the second relating to its internal characteristics (the number of columns and the size of the insets). A Show button also allows the column edges within the text area to be made visible or invisible (for editing purposes only). You can have up to 99 columns of text within any single area, though such high numbers are not likely to be very useful!
In order to create a text area in the first place, you must simply drag a rectangle in the ArtWorks document with either the Text Area or the Text Edit tool selected. However, if you create an area with the Text Area tool selected, then ArtWorks switches into the Text Edit tool as soon as you complete the drag. This is useful inasmuch as you'll generally want to start typing at this point, and hence it avoids an unnecessary mouse click on the Text Edit tool. However, if you happen to want to create several text areas at once, perhaps setting the size and position of each correctly before you start entering text, then it proves a minor annoyance. It would be preferable, I think, for the current tool to remain selected after you have created a new text area, without always switching into Text Edit mode. Having said that, text areas which contain no text are entirely invisible when they're not selected (unless you give them line or fill colours), so perhaps discouraging the user from creating multiple invisible objects is a good idea!
The inset and column gap values allow you to define the distance between columns and within the edges of the overall frame. This is useful, particularly, if you choose to fill the frame with a colour: a text area can be treated like a rectangle in that it can be given a fill colour, and the surrounding border can also have its own colour, width and dashed pattern. Enhanced fills created using Martin's other Hatch and Hatch Pro modules can also be used. Of course, text areas can be rotated and transformed freely just like any other rectangle, and the text within them remains fully editable. Stretching a text area, though, resizes its columns and causes the text to reflow; it doesn't cause the text itself to become stretched. This is of course sensible, and generally what you would expect; but note that if you do happen to want to apply a funny stretching effect to a text area (and this includes envelope and perspective effects), then the only way to do it would be to export the text area as a Draw file, convert it into shapes and then reimport it again (i.e. no longer as a text area).
The Text Edit tool
So, once you have created an empty text area, it's time to start putting the text in it. You can of course import text from other sources or type it in directly. Various keyboard shortcuts are available for moving the cursor, entering a number of special characters and using the clipboard.
The Text Edit tool has no fewer than four different modes, dealing with font selection, justification and spacing, text colour and tabulation.
The facilities available are like a slimmed-down version of those in any DTP package. The support for multiple columns within a text area is supplemented by a keypress (Ctrl-G) that hops the caret to the next column (just as it hops to the next frame in Impression). If text happens to flow beyond the end of a text area, then the area's bottom-right handle turns red to indicate the overflow. However, unlike in a traditional DTP package, it is not possible to flow text from one text area to another. Your only options would be to resize or edit the text itself, or alter the size of the area to allow it to hold more text.
When editing the text itself, just as in any DTP package, it is of course possible to select any range of characters and define their font, size and colour independently of the text surrounding them. The spacing of lines and paragraphs is quite flexible, as the line spacing (leading) and space before and after paragraphs can all be set individually. A 'Keep together' option (similar to that in Impression) is a surprising luxury which allows you to try to ensure that a heading will not become detached (at the very bottom of a column) from the text that follows it.
Indents can be set individually for different paragraphs, as can tabs. Tabs are a little limited, as all you can do with them is define their overall spacing. A tab will then be available at every multiple of the value you set, and it'll be a left-tab (right, centre and decimal tabs not being available). But anything more sophisticated would have been very difficult to organise, and the system as it exists is more than adequate for most purposes.
As for the colour options, these apply, as you would expect, to the selected text. You can highlight a range of characters and change their colour as in any DTP-style application. (Incidentally, the text background colour can be defined, but it's only used for anti-aliasing, and so is relevant for on-screen use only, just as in Draw.) The point I'm making here is that the method of colouring text within text areas differs from the way you can colour single lines of text created with ArtWorks' text tool.
With the standard text tool, ArtWorks can give lines of text different line and fill colours, and can apply fancy graduated fills (or hatched fills etc. with Martin's Hatch tools) to text. The same is not the case with text areas. You can apply such fancy fills to the text area itself (i.e. its rectangular area), but the text within it can only be in plain colours. This is not unexpected, although some modern DTP packages (such as Adobe InDesign) do in fact allow you to apply such fancy fills to the actual text in a frame rather than the frame itself.
If you do happen to want to apply such a fancy fill to a text area, then you can always export it in Draw format, reimport it as shapes, and then apply the fill to the shapes.
Performance and limitations
As you'll see from the above explanation of the features, there's a lot that TextArea can do, and it adds some important and extremely useful new facilities to ArtWorks. However, there are a few areas in which there are clear limitations:
Clearly nothing can be done about the first point; ArtWorks has never been a multi-page editor, and turning it into one would be impossible. There is one conceivable work-around: you could create several pages on different layers, piling them up, one on top of another, and enabling only the page you want to see at the time. This could be useful for short multi-page documents (such as leaflets), or for alternative versions of a single page, but couldn't be used for long or complex documents.
The second limitation is only a minor one. In fact, the appearance of flowing text from one frame to another could be simulated in some instances by clever use of columns, with plenty of inserted space and/or graphics to disguise the fact that both areas of text actually belong to a single frame. However, it's easy enough to create several text areas and put different selections of text in each, so this is hardly a major stumbling block.
The third limitation is arguably the most important and the easiest to fix. All editing in the TextArea module must be done as local effects, and it would be tremendously useful if a named style system could be added. This would presumably require yet another tool in the toolbox, but it really would be the most important single improvement that this module could have applied to it. As it stands, the TextArea module is enormously useful, but if you want to create a page with a lot of text and a unified appearance (for instance, if you're creating an advert listing lots of different products) then a style system would be a major boon.
Speaking personally, I have a strong suspicion that a named text style system would be a prime candidate for inclusion in a 'Pro' version of this module, if Martin Würthner were ever to write such a thing. The Pro version of his Hatch module (extended, fancy fills) included a style system, and it would be of obvious benefit to the TextArea module. So I would personally hope to see a future release with a style system present.
As for the compatibility issue, this is unavoidable and has raised its head with other extension modules from Martin Würthner. For example, his Replicate module created new objects that unenhanced versions of ArtWorks could not display. Such new objects also fail to appear if the ArtWorks file is dropped into a DTP package, as the appropriate code used to render such files only supports the standard ArtWorks objects. The solution is generally to convert such new objects into standard shapes; an option to do this is provided in the Replicate module. Unfortunately, there is no convenient option to do this with text areas. Currently it is necessary to export the text area as a Draw file and then reimport it, which is a bit tedious. I would hope to see an 'Explode text area' option in a future upgrade which would convert lines of a text area into individual text objects. There are various other minor improvements that could theoretically be made: for example, I would like to see B and I buttons for quick access to bold and italic font effects.
One or two minor problems do exist when using TextArea; for example, when dragging an area around, artifacts can sometimes be left in the window; this is a bug in ArtWorks, and would be hard to put right. Luckily, as an entirely cosmetic problem, it's of little importance (the artifacts go away when the window is redrawn). A slightly more serious bug in ArtWorks makes it possible to select text areas on a layer other than the one you're currently working on (even if the multi-layer option is turned off). Again, this is a bug in ArtWorks itself, and apparently also affects the Text tool that comes with the program. Luckily, Martin believes he can fix this bug (which will result in the standard Text tool being put right as well).
Once again, Martin Würthner has come up with an excellent and highly useful new tool for ArtWorks. I have already made use of it for one serious project, and found it invaluable: it made it easy to do something which had hitherto been impossible to achieve in ArtWorks, and there's no better recommendation than that.
Admittedly there are a few minor shortcomings, but they are as much to do with ArtWorks than with the tool itself. I would personally love to see the addition of a style system, but that would be a big job that would almost certainly require the release of a Pro upgrade. The tool as it stands right now is exceedingly useful, and any serious user of ArtWorks should definitely buy it.
It must be said that Martin Würthner has always been very good at fixing bugs and responding to feedback in the past. He has already acknowledged privately to me that some additional features (such as an 'explode text area' option) would be very useful, so I am hopeful that we may see some of these things in a future upgrade. I should also make the point that the only bugs I found actually turned out to be in ArtWorks itself, not in the TextArea module!
Whether a Pro version of the module ever appears is of course an entirely different question. I certainly hope that it will, but it's likely to depend on how many people buy the basic module. It's the most expensive of Martin's modules so far, but it's also the most sophisticated, and, as I've said above, it really does change the nature of what ArtWorks can do, and broadens its scope considerably.
So, if you want to do eye-catching DTP with the full drawing capabilities of ArtWorks at your disposal, this is certainly a module that you should buy without hesitation. As with Martin's other modules, it's well written, nicely presented, and does its intended job successfully and with the minimum of fuss. Highly recommended.