DTP Features
Here is a brief comparison between a few closed and open source vector graphics programs. Good luck finding one program that does everything you want! Please note that I have no access to InDesign, Quark, or Illustrator, and limited access to Affinity, so the estimation of the capabilities of those programs might be totally wrong. They are based mostly on browsing video tutorials for them.
If you see something wrong in the chart, please send me updates, or post on the issue tracker. 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.
* 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 a third party plugin.
| Imposition Features | Laidout | Scribus | Inkscape | Affinity | InDesign | Quark | Illustrator |
| Impositioning (at all) | 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
Inkscape -- partial
Inkscape's multipage functionality allows art board layouts, and they have a template for the 8 page Zine accordion imposition using clever page cloning. This method could be used for a variety of imposition types. |
partial
Affinity -- partial
Only as an option in the print dialog, you can select Single, Tiled, N-up, Book, Booklet. An Macs, these are under Document Layout, and on Windows under Layout. |
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 |
| Folding signature based impositioning | Yes | No | No | partial
Affinity -- partial
Only single fold booklet, selected from the Print dialog |
partial | 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
Inkscape -- Yes
Using mulipage features to cover contents |
Yes
Affinity -- Yes
via selecting Tiled in the Print dialog, with option to set overlap. |
Yes | partial | Yes
Illustrator -- Yes
Appears to be auto laid in a grid with one overlap value, accessed from the Print dialog. |
| 3D polyhedron unwrapping, such as for a packaging template | Yes | No | No
Inkscape -- No
Though there is a Box template under Extensions ->Render -> Foldable Box |
||||
| Page foldouts | planned | Yes | |||||
| N-up duplication, aka step and repeat | Yes | ||||||
| N-up with stacking | planned | ||||||
| Shape packing, such as packing many arbitrarily shaped stickers on one sheet of paper | planned | ||||||
| Work and turn | planned | ||||||
| Signature spine alignment marking | planned | ||||||
| Automatic creep calculations | planned | ||||||
| Ability to impose random PDFs | planned | ||||||
| Registration marks | Yes | Yes | |||||
| Cut marks | Yes | Yes | |||||
| Color bars | Yes | Yes | |||||
| | |||||||
| Infrastructure Features | Laidout | Scribus | Inkscape | Affinity | InDesign | Quark | Illustrator |
| Math calculations in input boxes | planned | Yes | 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 | planned
Affinity -- planned
Allegedly they have javascript based scripting features in development |
Yes | Yes | |
| Master pages | Yes | partial
Inkscape -- partial
Inkscape is primarily a single page editor, but you can fake master pages to some extent via cloning |
Yes | Yes | Yes | ||
| Non-destructive object filtering | partial
Laidout -- partial
Since 0.097, via the Object Filter node system, but needs some ux work |
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 | No | |
| Non-destructive transforms of image objects | partial
Laidout -- partial
via the Object Filter node system, but needs some ux work |
Yes | Yes | ||||
| Non-destructive transforms of vector objects | partial
Laidout -- partial
via the Object Filter node system, but needs some ux work |
No | Yes | ||||
| Object blurring | partial
Scribus -- partial
Images can have a blur Image Effect. Objects can Text can have blurred drop shadows. |
Yes | Yes | Yes | |||
| Metafont-y erase brush, aka a knockout "color" or knockout groups | partial
Scribus -- partial
Not a layer, brush, or color per se, but masking achieves similar results |
partial
Inkscape -- partial
Not a layer, brush, or color per se, but masking achieves similar results |
Yes
Affinity -- Yes
Set layer mode to erase, but you must also invert the color for knockout |
||||
| Fill applied to stroke | Yes | Yes | |||||
| Variable path width | Yes | No | Yes
Inkscape -- Yes
via Powerstroke live path effect |
Yes | |||
| Editable text wrap path, independent from the actual object | Yes | Yes
Inkscape -- Yes
via Subtraction Frames |
Yes | Yes | Yes | Yes | |
| Editable clip path | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Use objects as mask (softmask in pdf speak) | Yes | Yes | No | ||||
| Color separations | Yes | No | No | Yes | |||
| Color system capabilities flexible enough for any number of spot color inks | planned | Yes | No
Inkscape -- No
Default is RGB, but CMYK is under development. No explicit spot color support. |
Yes | Yes | ||
| Color management, whether ICC color profiles or other system | planned | Yes | Yes | Yes | Yes | Yes | |
| Autotrace images | No | Yes | Yes | No | |||
| Spread editor, that gives an overview of all the pages and lets you rearrange them easily | Yes | partial
Scribus -- partial
Default view shows everything, but rearranging page order is not so easy |
partial
Inkscape -- partial
While built mostly as a single page editor, the art board style multipage feature shows everything at once |
partial | |||
| Overprinting/trapping | Yes
Scribus -- Yes
Options are "Overprint" and "Knockout" |
No | Yes | ||||
| Undercolor removal and/or black generation | Yes | No | |||||
| Rotate whole page view on screen by arbitrary degrees, not just portrait/landscape | Yes | No | Yes | Yes | No | No | No |
| Preflight verifier | planned | Yes | No | Yes | Yes | ||
| Collect resources | planned | Yes | No | Yes | Yes | ||
| Record macros to automate common tasks | planned | No | Yes | No | |||
| Guides that are arbitrary paths, not just vertical and horizontal lines. | planned | No | Yes | No | No | No | |
| Aligning groups of points, text, and/or objects to paths | partial
Laidout -- partial
Only objects can align on a path, not points |
partial
Scribus -- partial
Only objects (not points). Straight line guidels only. |
Yes | ||||
| Pressure sensitive drawing tablet support | partial | No | Yes
Inkscape -- Yes
Pressure support for relevant tools, but each input is same tool |
Yes | |||
| Long document support, such as one document's chapters in separate files. | No | No | No | No | |||
| Batch exporting, where you can export areas to different resolutions or formats at once, for instance | partial
Laidout -- partial
You can hack it via command line scripting |
No | partial
Inkscape -- partial
You can set up multiple export targets, but it is hard to apply specific sets of settings to multiple predefined areas. You can also hack it with command line scripting. |
||||
| Command line processing, such as for automated batch processing | Yes | Yes | Yes | No
Affinity -- No
There is non-command line batch processing. |
|||
| Download and use the software without having to sign in or submit email to anything | Yes | Yes | Yes | No | No | No | No |
| | |||||||
| Non-text Objects | Laidout | Scribus | Inkscape | Affinity | InDesign | Quark | 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 | Yes | |||
| Patch gradients (aka mesh gradients) | Yes | Yes | Yes | Yes | No | No | Yes |
| Image mesh distortions | Yes
Laidout -- Yes
Since .03, Functional, but very slow. |
No | No | Yes | No | No | No |
| Lines/polygons | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Ellipses, arcs, chords | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Engraver fill | Yes | No
Scribus -- No
but there is a "Hatch" fill style, for a couple different line patterns |
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. |
partial
Affinity -- partial
Affinity 3 has a Hatch Fill with limited dashes, but it seems like it is currently (November 2025) just for straight lines. |
plugin | ||
| Beginning and end arrows (aka markers). Bonus points for middle arrows. | partial
Laidout -- partial
You can hack it with Object Filter nodes, but it really needs a dedicated interface |
Yes | Yes | Yes | Yes | ||
| Repeater tool along path | partial
Laidout -- partial
You can hack it with Object Filter nodes, but it really needs a dedicated interface |
partial
Scribus -- partial
only works with paths, Path Tools->Path along Path |
Yes | partial
Affinity -- partial
Using the Artistic Text Tool along a path, and pasting in other objects |
|||
| Cloning objects, optionally with link backs to original objects | Yes | partial | Yes | Yes
Affinity -- Yes
They are called Symbols in Affinity |
|||
| Shape Builder, where you can construct new paths from a sort of bezier net | planned | No | Yes | Yes | |||
| | |||||||
| Text Features | Laidout | Scribus | Inkscape | Affinity | InDesign | Quark | 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 | No
Scribus -- No
With some effort, one could can fake it manually with layers |
No
Inkscape -- No
With some effort, one could can fake it manually with layers |
No | No | No | No |
| Color fonts via OpenType | partial
Laidout -- partial
With current libcairo, OpenType color fonts are technically renderable, but not well integrated in Laidout, for instance their colors cannot really be configured currently. |
No | planned | Yes | partial | Yes | Yes |
| Opentype feature support | Yes | Yes | Yes | ||||
| Variable font support | planned | No | Yes | Yes | Yes | ||
| Mixed right to left, left to right | Yes | Yes | No
Affinity -- No
But you can use third party software like RTL Fixer, or import svg/pdf from something else. |
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 | No | Yes | No | ||||
| Text streams in separate files, comparable to images not being embedded | No | No | No | ||||
| Convert Text to editable path | Yes | 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. |
Yes
Inkscape -- Yes
Via Extensions -> Render -> Formula |
No | plugin | |||
| Story Editor, something that lets you edit text away from how it is arranged in boxes | No | Yes | No | No | 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 | Yes | No | Yes | Yes | |||
| Automatic Hyphenation and justification | Yes | No | Yes | Yes | |||
| Insert sample gibberish text!! Yeah! | Yes | Yes | Yes
Affinity -- Yes
They call it "filler text" |
Yes | Yes | ||
| Numbered and unnumbered lists | Yes | No | Yes | ||||
| Generated table of contents | Yes | No | Yes | ||||
| Generated index | No | No | Yes | ||||
| Footnotes | No | No | Yes
Affinity -- Yes
The Notes panel has footnotes, sidenotes, and endnotes |
||||
| | |||||||
| Export | Laidout | Scribus | Inkscape | Affinity | InDesign | Quark | Illustrator |
| To image | Yes | Yes | Yes | Yes | Yes | Yes | |
| Html | Yes
Laidout -- Yes
Internally, it renders to svg, and then also parses templates to generate an index html file, and one html file per spread. |
No | partial
Inkscape -- partial
In the sense that SVG, Inkscape's native format, can be embedded and/or controlled in html |
No | Yes | ||
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Scribus | partial | Yes | No | No | No | No | No |
| SVG/Inkscape | partial | Yes | Yes | Yes | |||
| OpenDocument ODF | No | No | No | No | |||
| Laidout | Yes | No | No | No | No | No | No |
| EPS or Postscript | partial
Laidout -- partial
The PS and EPS export feature is not well maintained, and probably cannot export many newer image types. |
Yes | Yes | Yes | Yes | ||
| TeX/LaTeX | No | No | partial | No | No | No | No |
| | |||||||
| Importing | Laidout | Scribus | Inkscape | Affinity | InDesign | Quark | 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. |
partial | partial | Yes | partial | No |
| Html | planned | 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. |
No | No | partial | ||
| partial
Laidout -- partial
If you "expand subimages" when import images, pdf pages will be rendered to individual images. More reasonable import is in development. |
partial | Yes | Yes | Yes | 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 | No | No | |||
| SVG/Inkscape | partial
Laidout -- partial
.098: filled paths with gradients, powerstroked paths, meshes. .09: images and groups only |
partial | Yes | Yes | |||
| OpenDocument ODF | No | Yes | No | No | |||
| EPS | Yes | Yes | Yes | Yes | Yes | ||
| TeX/LaTeX | No | 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. |
No | No | |||
| Laidout | Yes | No | No | No | No | No | No |
| Externally rendered formats (for instance, Scribus render frames) | planned | Yes | No | No | |||

