Version 0.095a


9 October 2015
Proto-text tool

I'm taking a break from working on the Engraving tool to finish conversion to rendering with cairo, which makes possible not only better rendering of paths and meshes, but also a text tool! Here's a very basic text tool experiment, to get my feet wet with the myriad coding issues involved in text layout and fonts.

Simple text tool video demo

26 July 2015
Engraver tool development

There have been numerous refinements happening in the engraving tool, including being able to apply line profiles, and a kind of fluid random offset. You can see some of this in action in this tutorial.

Eels Line profiles Wavy lines

Engraver tool video update

23 April 2015
Laidout 0.095a Released! Whee!

This release I have to call a quasi-"stable" release, not quite tested enough to be called just "stable", because I wanted to have something more current than the last release before this year's Libre Graphics Meeting, in Toronto, April 29 to May 2. I will be giving a talk about lines on Friday May 1. So, if you are not too tired from dancing around the maypole, come on down to the University of Toronto to see this and many other interesting talks about open source graphics!

Here's what's new this time:
  • Engraving tool
    Many strides have been made with this tool, and still a lot more to go. You can now stack sets of lines within the same mesh, and assign different line dash patterns and trace settings per group. Still to do with this tool is to finish implementing freehand tool integration, and also a layers palette to more easily jump around between objects. There are a number of mesh editing tool enhancements, as well as line pattern controls to make this tool closer to the actual process of drawing masses of cross hatching. Slowly these things are getting there!

  • Spread Editor Improvements
    This is beginning to be more useful for long documents. Page number indicators now allow a page label coloring popup that lets you mark pages with different label colors and shapes to easily indicate what pages need attention.

  • Path Tool
    This has been the biggest sticking point getting Laidout to a new release. The path tool has been fundamentally changed to have offset, angle, and variable width built in. You can add and move around weight nodes for easy access to changing these characteristics. The variable width parts are roughly in the same spirit as Inkscape's new and very useful Powerstroke live path effect. Sounds great, right? Well let me tell you, debugging this fancy new stuff has been about 10 times more cantankerous than anything. Bringing lib2geom into Laidout in some fashion for bezier processing is looking pretty good right now. In any case, this tool still has a fair amount of bugginess, and is what is driving the quasi-"stable" lable for this Laidout release!

  • Meshes based on lines
    Part of the purpose of the path revamp was to allow meshes that are based on variable width lines. This is now possible with all mesh based tools in Laidout, namely the image warper, the color mesh, and the engraving tool.

Here are some tutorials demonstrating the new features:

What's Next?
Some people have asked about things like foldouts, and folded booklets that are not all the same page size. This is something I have plans for hopefully by the next release. It ties right in to finishing implementation of Net Impositions, such as dodecahedra, or even mobius strips.

Aside from debugging the path tool, Laidout definitely needs better object navigation, such as a layers palette. Alas, I haven't polished the symmetry tool at all over the last year. Definitely many things to do with this one!

In short, my todo list is getting rather large! I usually hack through this list in the course of pursuing some art goal, but if there is something there you want to see sooner rather than later, let me know!

3 March 2015
Laidout usage in the wild
I'm getting close to a next release of Laidout. This release will be slightly less buggy than the dev version. Mostly I've been improving the engraving tool, and also the path tool over the last year, to allow manipulating lines in a similar fashion as Inkscape's new powerstroke variable width lines, but also with offset built in. As always debugging is taking a lot longer than expected, so a text tool, for instance, is still not so close.

Until then, here are a couple of images of using Laidout's engraving tool-in-progress from the folks at OSP

  Balsamine Modes of lines Lines in action

Also, Timothée Giet laid out a minicomic with Laidout:

Read old news

What the hell?

Laidout is desktop publishing software, particularly for multipage, cut and folded booklets, with page sizes that don't even have to be rectangular. Laidout allows editing in the master printing page order, or, just as easily in reader spreads, as it would appear after the book is assembled. Laidout's approach to imposing pages is broad enough to allow non-rectangular pages, paving the way for easy creation of, for instance, dodecahedron calendars, or indeed any layout on arbitrary polyhedral surfaces (sometimes otherwise known as packaging).

See the Laidout Features page for what it can do now, the Roadmap for what it's supposed to do eventually, and this (incomplete) comparison to a few other desktop publishing and vector graphics programs.

It is in the "Mostly does what I want on my machine" stage of development. I try to have a new "stable" release once in awhile, at least when various other projects don't eat all my time, which seems to happen a lot lately. "Stable" in this context means that it is only slightly less buggy then the raw development branch.

I have been using Laidout to lay out my comics into books since 2006. So, one out of 7 billion people agree that Laidout might actually be useful! An example of what I use Laidout for is to make small booklets by chopping up tabloid sized paper (11x17 inches). With a fold, two cuts, and stapling, one can make three cute little 5.5 x 5.6 inch books.

Many more features are planned, like such non-essentials (to me anyway) as text! Who needs text when a picture is worth a thousand words?

Laidout is currently built with the Laxkit, an X gui toolkit. Laidout and the Laxkit are both rough and highly experimental. The main development aim is to make a well documented, very modular, expandable, and configurable desktop publishing program, with an emphasis on developing features and interfaces not commonly found in other programs, as long as they are useful. A side project is to foster some manner of tool plugins in various other software that allows sharing of these useful interfaces within those other software and vice versa.

System Requirements

Laidout only works on variations of Linux for now. It should work on Macs after a small amount of hacking, but I don't have access to a Mac to make it so.


The current release is Version 0.095a.
Really these are more like development snapshots than anything resembling stability. You can help turn Laidout into something like stable by posting feedback on your experiences with it to the Laidout mailing list, or dropping me a line.

In any case, you can get Laidout in source code form, or as a deb package for debian based amd 64bit systems. The main download area is here.

   laidout-0.095a.tar.bz2 (the source code)
   laidout_0.095a_amd64.deb (binary, should work on Debian Unstable, and recent Ubuntu)

   Compiling from "stable" source
If you download the source code form, you must compile and install from the command line. First, as root or with "sudo", install dependencies:
apt-get install g++ libcairo2-dev libpng12-dev libx11-dev libxi-dev libxft-dev libcups2-dev libimlib2-dev libfontconfig-dev libfreetype6-dev libssl-dev xutils-dev
If you want to use the unstable polyhedron unwrapper, then you need to also do this:
apt-get install libgraphicsmagick++1-dev mesa-common-dev libglu1-mesa-dev libftgl-dev

And then:
tar xvfj laidout-0.095a.tar.bz2
cd laidout-0.095
./configure --prefix=/usr/local
make install
If you want to attempt to use the unstable polyhedron unwrapper, then you need add --yesgl to the configure line above, or try the standalone version in laidout-0.095a/src/polyptych.

Alternately, you can build a deb package from the source tar like the following. You'll need to have dpkg-dev and fakeroot packages installed. This will create an installable deb package! If you try this and it doesn't work, please let me know. It is supposed to work!!
tar xvfj laidout-0.095a.tar.bz2
cd laidout-0.095
dpkg-buildpackage -rfakeroot

Please note that as of October 10, 2015, the development source code is now hosted at github. You can browse the git repository here, or you can grab a copy from the repository with this command:
git clone

To actually compile from this git source, see the further instructions in the Compiling From Source section of the README. If you think you might like to help develop Laidout, please see this page.

There is a general purpose mailing list here.

Currently, the only developer is Tom Lechner, and he has been hacking away at Laidout to help make his artwork.

Laidout Logo Logo Support This Project

Go to Screenshots
Go to FAQ
Go to Help
Go to Download
Go to Links
Go to Contact
Go to Dev