DTP Features
Here is a brief comparison between a few closed and open source vector graphics programs. It is a
list of features that are not so much a roadmap as things that any
self respecting desktop publishing software should have. You will note that not much
of this is currently implemented in Laidout.
THIS TABLE IS FAR FROM COMPLETE! Please send me updates, or post on the issue tracker
if you see something that is not correct. You might also check out
this page about vector graphics editors in Wikipedia,
this dtp comparison on Wikipedia, and also
a plain list of such software.
Please note that I have no access to InDesign, Quark, Xara, or Illustrator, so the estimation of the capabilities of those programs might be totally wrong.
They are based mostly on browsing video tutorials for them.
* Hover the mouse over a block to see what version the feature first appears in, if known, plus other relevant notes.
* If a spot is blank, its status is either not known, or the devs might be vaguely thinking about implementing it some day.
"partial" means the feature exists, but leaves much to be desired.
"planned" means actual coding has begun on it, but it is not yet functional.
"plugin" means that you can do it in the program, but you need an extra plugin.
Infrastructure Features | Laidout | Scribus | InDesign | Quark | Inkscape | Xara | Illustrator |
Impositioning | Yes | No*
Scribus -- No
You can use use Laidout in limited circumstances to impose Scribus documents. This is done with a Scribus script that calls Laidout. See here for more info. A different plugin was being developed during Google Summer of Code 2007, but it seems to have never been completed. Other relevant links include making booklets from Scribus, and the imposition bug report, in which there is much discussion. Other info here and here. |
partial*
InDesign -- partial
It seems the built in impositioning of InDesign is quite limited. It can do left/right booklets, and fold out style imposing, which is simply several pages placed side by side. You need to get plugins for more thorough imposing. |
No | No | No | No |
Folding signature based impositioning | Yes | No | partial | No | No | No | No |
Mobius strip impositioning | planned | No | No | No | No | No | No |
impositioning involving non-rectangular pages | Yes | No | No | No | No | No | No |
Spreading page contents over several pieces of paper, so you can print out a really big layout from your small printer | Yes | partial*
Scribus -- partial
Scribus is set up to handle several papers right next to each other in a grid. In the file, there are PageSet sections. You can copy that and insert new PageSets. This allows spreading objects across many papers, but suffers from each page having to touch each other exactly, which leaves you with gaps if your printer cannot print to the edge of the paper. As of 1.3.5svn, There does not appear to be a way to edit these page sets in the gui. You have to edit the file manually. |
Yes | partial | No | Yes*
Illustrator -- Yes
Appears to be auto laid in a grid with one overlap value, accessed from the Print dialog. |
|
Math calculations in input boxes | planned | Yes | Yes | Yes | Yes | ||
Plugins or scripting | planned*
Laidout -- planned
Since Version .09, there is a very rudimentary command interpreter. It can process simple math and a few commands like Open(), Reimpose(), and Export(). Future versions will have variables, looping, and much more access to objects. |
Yes | Yes | Yes | Yes | ||
Non-destructive object filtering | partial*
Laidout -- partial
Since 0.097, there is a node based editor, however much needs to be done to properly integrate as a useful filter editor. |
No | No | No | partial*
Inkscape -- partial
Via the very compact SVG Filter Editor. You can also try out the Inkscape extension included with Laidout that lets you edit the SVG filters with Laidout's node editor. |
No | No |
Edge feathering (as seen in Xara), or equivalent blurring | Yes | Yes | Yes | ||||
Metafont-y erase brush, aka a knockout "color" or knockout groups | |||||||
Fill applied to stroke | Yes | ||||||
Editable textwrap path, independent from the actual object | Yes | Yes | Yes | Yes | Yes | ||
Editable clip path | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Use objects as mask (softmask in pdf speak) | Yes | No | |||||
Color separations | Yes | Yes | |||||
Color system capabilities flexible enough for any number of inks (think "deviceN", not just RGB, CMYK, CcMmYK, etc) | planned | Yes | |||||
Color management, whether ICC color profiles or other system | planned | Yes | Yes | Yes | |||
Autotrace images | No | Yes | |||||
Spread editor | Yes | partial | partial | ||||
overprinting/trapping on per object basis | Yes | ||||||
UCR, BG | |||||||
Rotate whole page view on screen by arbitrary degrees, not just portrait/landscape | Yes | No | No | No | planned | No | No |
Preflight verifier | planned | Yes | Yes | ||||
Collect for out | planned | Yes | Yes | ||||
Record macros, like Pagestream, Vim, or Openoffice! | planned | No | |||||
Non-destructive transforms of image objects | Yes | ||||||
Non-destructive transforms of vector objects | Yes | ||||||
Guides that are arbitrary paths, not just vertical and horizontal lines. | planned | No | No | No | Yes | No | No |
Aligning groups of points, text, and/or objects to paths | partial | ||||||
Pressure sensitive drawing tablet support | partial | partial | |||||
Multi-touch support, or support for the poor person's version using 2 mice | partial*
Laidout -- partial
Since 0.091, but only the object tool has this (the poor person's version) in .091. More of that sort of thing may be built into future versions. |
||||||
Ability to use odd control surfaces like midi controllers, a la the Gimp | |||||||
Long document support, such as one document's chapters in separate files. | |||||||
| |||||||
Non-text Objects | Laidout | Scribus | InDesign | Quark | Inkscape | Xara | Illustrator |
Images | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Linear, and circle color gradients | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
On canvas gradient color spot editing | Yes | No | Yes | No | |||
Patch gradients (aka mesh gradients) | Yes | Yes | No | No | Yes | No | Yes |
Image mesh distortions | Yes | No | No | No | No | No | No |
Lines/polygons | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Engraver fill | Yes* | No | partial*
Inkscape -- partial
There are several ways to make a series of hatchings in Inkscape. One is the nearness guide, where nearby lines are detected and when you draw a new line, it is drawn at a certain distance away. Another way is the Interpolate extension, which interpolates between two different lines, creating a field like effect. |
plugin | |||
Ellipses, arcs, chords | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Paths composed of different types, such as a circular arc to a bezier segment to a straight segment, and still allow specialized editing of such shapes | planned | ||||||
Beginning/end/middle arrows and such | Yes | Yes | Yes | ||||
Repeater tool along path | partial | Yes | |||||
Cloning objects, optionally with link backs to original objects | Yes | partial* | Yes | ||||
| |||||||
Text Features | Laidout | Scribus | InDesign | Quark | Inkscape | Xara | Illustrator |
Text. Any text at all. I mean, come on! | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Text on a line | partial | Yes | Yes | Yes | Yes | Yes | Yes |
Text flowed across linked boxes | planned | Yes | Yes | Yes | Yes | Yes | Yes |
Color fonts via layers (one font file per layer), text editable as if it were a single font | Yes | ||||||
Color fonts via Opentype | partial | Yes | Yes | ||||
Opentype feature support | Yes | Yes | |||||
Variable width font support | Yes | Yes | |||||
Mixed right to left, left to right | Yes | Yes*
InDesign -- Yes
Complicated history, but looks like CC supports this. Non-cc from CS4 can use the World Ready Composer, if you can find it. |
|||||
Vertical text | Yes | ||||||
Text streams in separate files, comparable to images not being embedded | |||||||
Convert Text to editable path | Yes | Yes | Yes | Yes | Yes | Yes | |
Math equations support | partial*
Scribus -- partial
As of 1.3.5 anyway, you can render formulas in Scribus Render Frames, then copy the frame, then paste the frame while inside a text stream, from within a text frame. Pasting while in story editor will paste a bunch of xml data that is used as text rather than as an image. Suffice it to say inline graphics needs a bit of work. |
plugin | |||||
Story Editor | Yes | Yes | No | ||||
Tabstops that lie on arbitrary paths, not just vertical and horizontal lines. Someday will be gone the days of rigidly defined and poorly accessed tabstops! | No | No | No | No | No | No | |
Tables | planned | Yes | |||||
Automatic Hyphenation and justification | Yes | Yes | |||||
Insert sample gibberish text!! Yeah! | Yes | Yes | Yes | Yes | |||
Numbered and unnumbered lists | |||||||
Generated pages, for instance for tables of contents, bibliography, index | |||||||
| |||||||
Export | Laidout | Scribus | InDesign | Quark | Inkscape | Xara | Illustrator |
To image | Yes | Yes | Yes | Yes | Yes | Yes | |
Html | Yes | No | |||||
partial | Yes | Yes | Yes | Yes | Yes | Yes | |
Scribus | partial | Yes | No | No | No | No | No |
SVG/Inkscape | partial | Yes | Yes | Yes | |||
Openoffice.org Draw | Yes | ||||||
Laidout | Yes | No | No | No | No | No | No |
Passepartout | partial | No | No | No | No | No | No |
EPS/Postscript | Yes | Yes | Yes | Yes | Yes | ||
TeX/LaTeX | No | No | No | No | partial | No | No |
| |||||||
Importing | Laidout | Scribus | InDesign | Quark | Inkscape | Xara | Illustrator |
Multiple images at the same time | Yes | plugin*
Scribus -- plugin
These plugins allows you to dump in images potentially to multiple pages, but you are restricted to a grid of 4, 6, or 12 images per page. If python programming doesn't scare you off, you could modify it to be more adaptible. |
Yes | partial | partial | No | No |
EPS | Yes | Yes | Yes | ||||
Html | partial*
Scribus -- partial
Using the "Get Text" option in a text frame. CSS not supported yet. Text is pulled from the body element, and you can use these tags: div, a, p, br, h1, h2, h3, h4, ol, ul, li, pre, code, b, u, i, em, strong, sub, sup, del, u. |
partial | |||||
partial | Yes | ||||||
Scribus | partial*
Laidout -- partial
Scribus import works with mixed results. As of .092, master pages and text variables are importable. As of .091, linked text and table frames stay linked, even in tiled impositions. The best way to use the importer is for reimposing. For this, import all data as mystery data, and all that data (other than master pages) will be passed through on export. If you do not import all as mystery data, please beware that images whose frames do not match exactly with their image boundaries are not handled correctly. This will be handled once proper clipping is implemented. |
Yes | |||||
SVG/Inkscape | partial*
Laidout -- partial
.098: filled paths with gradients, powerstroked paths, meshes. .09: images and groups only |
partial | Yes | ||||
Openoffice.org Draw | Yes | ||||||
Passepartout | partial | No | No | No | No | No | No |
TeX/LaTeX | partial*
Scribus -- partial
Scribus render frames, in addition to TeX/LaTeX, also allow importing many other formats, like gnuplot, lilypond, mathml, as long as you have a renderer installed somewhere that can convert those things to an image format or PDF that Scribus can import. You can edit the source text within Scribus, then have the render frame re-render. The TeX input has a fancy symbol selector, which is convenient. |
||||||
Laidout | Yes | No | No | No | No | No | No |
Externally rendered formats (for instance, Scribus render frames) | planned | Yes |
Lower level functions and other neat ideas from other programs, though maybe less vital:
- Auto sync keyboard shortcuts with inkscape/gimp/whatever
- Openclipart integration/scrapbook
- cntl-+/- zooms around object, neat!
- Color selector previews different shades of color with black and white text on it!!! Fab!
- The scribus color wheel is very clever, including allowing preview for various kinds of color blindness!