Monday, September 10, 2007

Scribus: Open Source Page Layout

I was doing some layout for a client today and needed a quick and easy way of comping together photos with some text. Because the photos needed cropping, exposure compensation and other editing, I ended up using Photoshop. This made me feel so bad. Where was my open source soul now?

The truth is that I've invested thousands of hours into Photoshop. Any graphics programme takes an enormous amount of time to learn to use properly. So I have never got around to learning the best win32 open source alternative, Gimp. When my partner and daughter wanted an image editor I swiftly slapped Gimp on their laptop. I do not want to perpetuate the insanity! But I am still stuck in closed source land.

Another issue is that I don't have anything like a recent version of these programmes. Some time ago I got a student model of PageMaker, an app I've used for just about forever (starting on Mac). I snagged a license for ImageReady when it was going almost free. But there's no way I could afford to get the recent versions of these apps, nor would I want to.

Using a bitmap editor to do layout is obviously wrong. For one thing, everything takes so long to render. There's no way to lay out everything at thumbnail resolution first, before switching to a higher resolution proof. (I do remember some esoteric image editor that would do this automatically using fractal image algorithms. Whatever happened to those? For a few minutes in the late eighties they seemed to be pretty hot.)

So I looked around and found Scribus, which only recently has been ported to win32. It uses Ghostscript for PDF generation, so I know it will produce excellent output. And there's a Portable App version, which is nifty.

I took a look and am impressed! But before I go into details I should state that I am not a designer by training. Nonetheless I've done layout for posters, CD covers and manuals and even a couple of books. By no means would I be a print expert. A decade ago I used FrameMaker. I despise Microsoft Publisher. PageMaker I find wimpy. I've never got my hands on InDesign.

OK, now that you have a little perspective...

The Scribus interface has little in the way of workflow support, betraying its desktop origins. There almost no document or project management. The basic working paradigm is:
1. choose document format (number of pages and size)
2. insert frames into a page
3. populate frames
4. apply styles and properties

It would be better if styles were absolutely mandated, but they are not. One can still create a mess of different characteristics ungoverned by any overall structure.

When importing large text files they automatically flow into linked frames on subsequent pages. Frames can be linked in any order and this may be done before or after they have content. If you give the content a paragraph style you can align columns to a fixed baseline. (This might have better been the default.)

You cannot set margins for a frame itself, which seems like such an oversight I must have missed it somewhere.

There's lots you can do in this app: insert special characters and ligatures; use multiple master pages; produce a table of contents automatically from tagged objects; precisely measure arbitrary distances; angles and point sizes; generate barcodes; and script with Python. It also supports colour management and preflight checking -- necessary professional printing features. Text can be reflected about either axis, arbitrarily rotated, or put on a curve.

There's some useful documentation, like hints for setting up Gimp for proper use with Scribe. You'll also want to peruse the wiki.

I have not done enough testing to determine the quality of the text positioning, hyphenation etc. This is what really distinguishes a first-class layout programme from a run-of-the-mill word processors. The latter have no idea how to properly position one letter after another (or one word after another) so that they look aesthetically pleasing for the given typeface. Version 1.4 of Scribus (we're on now) promises improvements in that area.

That version will also improve bleed and separation support and add the ability to do overprinting and knockouts.

In most similar apps you can add overlapping elements and change their stack order. Scribus goes one further and allows you to create layers as well. Within each layer there can still be stacks of items. Layers provide an easy ways of grouping frames across the document. For example, annotations could all be on one layer, so you can turn them on or off. Along the same lines, frames may be individually print disabled. I am sure there is a way to automate this, so that frames with a certain attribute could be disabled together.

There are some tricks I wouldn't expect to be here, made possible by the fact that Scribus incorporates vector functionality. You can draw shapes, lines and curves directly, altering these at will with styles, colours, gradients and fills. Cooler yet, you can convert text to curves and then use this to cut out images. Or, convert text to a frame and insert an image or other text inside its outline! Scribus imports SVG so it works well with apps like Inkscape. Importing a drawing will add its spot colours to the current document palette -- nice. A collection of Scribus Tips shows how to do some of this magic.

Some things I've noticed are not included: a spell checker, vertically centered text in a frame, indexing and footnote support. This would not be the programme to use for complex text documents. I've also found an annoyance: guidelines are not visible if an image covers the entire page. Also, the properties dialogue does not draw properly. Panels will be too large for the containing window, forcing scrolling within a panel... a pain.

When it comes to output, Scribus supports the prepress standard PDF/X-3 which contains ICC color profiles. PDF transparencies, thumbnails and bookmarks are all available. But the amazing thing is that you can create PDF forms in Scribus, including buttons and other elements with Javascript actions. This might save you the price of Adobe Acrobat.

I should also note that I found the app responsive and clean to use. Supposedly it is very picky about typeface files, but in my minimal usage I have not run into this yet.

My only problem is that I cannot use it for my current project, or indeed any that requires handing off the results to another designer. Until everyone discovers Scribus and makes it a standard, I'll be forced to use a commercial application for compatibility's sake. This is an annoying fact of life.

As a postscript (ahem) I might bring your attention to PoDoFo, an open source PDF editor that lets you see the structure of your document, make changes, and create an updated file. Years ago when I had to write code to hack Postscript files I would have killed for this.


1 comment:

Anonymous said...

Nice introduction. Thanks.

Scribus only uses ghostscript for eps/ps import and print preview. PDF-output is generated by Scribus' own pdf library which still is known of it's great quality.

Properties palette is resizable even if you don't get the resize cursor on the edgges. Just push your left mouse button down on the edge and drag to the desired size.

Post a Comment