Right now SILE is in a state of flux. There doesn’t appear to be much going on in the SILE repository but actually there is a lot of coding happening behind the scenes.
The Pango/Cairo backend got SILE started and producing useful output, but it was never intended to be a permanent solution. The Cairo PDF writer only supports creation of simple PDFs, and does not include features such as document structure, thumbnails, hyperlinks, annotations and so on.
Although I was hoping to replace it eventually, my hand has been forced by some bug reports on Linux where Pango was not positioning the glyphs with sufficient accuracy, leading to badly letter-spaced text. So, SILE is moving to Harfbuzz for text shaping and a different PDF library.
The first part is done, and there is a Harfbuzz shaper written. The second part is proving more troublesome. There are several PDF libraries out there but none of them really provide what SILE needs. The nearest is PoDoFo, and I have SILE working with Harfbuzz and PoDoFo, but it requires a number of patches applied to the latest development source of the PoDoFo library. This obviously isn’t a great way for people to install and deploy SILE.
So, since we’re going to have to ship our own PDF library with SILE anyway, my latest thought is, why don’t we actually ship a good one? And it turns out the best one available is the one which turns TeX’s DVIs (and XeTeX’s XDVs) into PDFs. Unfortunately, it’s currently quite tightly bound to xdvipdfm, and is not actually a library yet. Right now, I’m turning it into a separate library so it can ship with SILE, and SILE will eventually be driven by Harfbuzz/libtexpdf.
I’m proud to announce that the first public release of the SILE typesetter is now available.
What is SILE?
SILE is a typesetting system. Its job is to produce beautiful printed documents. It’s similar to TeX, but with some ideas borrowed from InDesign, and written with modern technologies in mind.
What can I do with it (that I can’t do with TeX)?
SILE allows you to
-
Produce complex document layouts using frames.
-
Easily extend the typesetting system in a high-level programming language. (Lua)
-
Directly process XML to PDF without the use of XSL stylesheets.
-
Typeset text on a grid.
Getting and installing
SILE can be downloaded from its home page, or directly from the release page.
SILE is written in the Lua programming language, so you will need a Lua version 5.1 installation; it also relies on the Cairo and Pango libraries.
You also need to install the following Lua libraries using luarocks (downloading luarocks if you do not already have it installed).
stdlib
lgi
lpeg
luaexpat
inspect
luaepnf
luarepl
cassowary
Once your dependencies are installed, run
This will place the SILE libraries and executable in a sensible location.
Now try sile examples/test.sil
.
Finding out more
Please read the full SILE manual for more information about what SILE is and how it can help you.
Why is this v0.9.0?
While this release is perfectly functional for typesetting complex documents, SILE has several technical and social goals that need to be accomplished before it can be considered "v1.0". See the roadmap for more information.
Please report bugs and send patches and pull requests at the github repository. For questions, please contact the author, Simon Cozens simon@simon-cozens.org.
License terms
SILE is distributed under the MIT licence.