The SILE Typesetter
  • Home
  • What is SILE?
  • Examples
    • Global Scripts
    • Packages
  • Manual (PDF)
  • Lua API
  • Rust API
  • SIL Grammar
  • Download
GitHub

SILE v0.9.2 Is Released

03 Jun 2015 — Simon Cozens

Version v0.9.2 of SILE has been released and is available for download.

  • New packages for: rotated content, accessing OpenType features and ligatures, alternative input of Unicode characters, PDF bookmarks and links, input transformation.

  • Packages to help with typesetting chord sheets and bibles.

  • Experimental packages for bibliography management, typesetting URLs, Japanese vertical typesetting, balanced columns, and best-fit page breaking.

  • Support for quoted strings in the parameters to TeX-like commands.

  • Language support: Many fixes to Arabic; support for Tibetan and Kannada; hyphenation for many languages; much improved bidirectional typesetting.

  • Warn when frames are overfull.

  • Support for older versions of autotools, for Lua 5.3 and mingw32 environments.

  • Continuous integration and testing framework

  • Fixes to long-standing bugs in grid support, centering, ligatures, insertions and page breaking.

  • Better font handling and substitution.

  • Valid PDFs will still be generated on error/interruption.

  • Improved error handling and error messages.

  • Many miscellaneous bug fixes.

What’s Happening In SILE Development Valentines Edition

14 Feb 2015 — Simon Cozens

Here are a few interesting things that have been going on lately. If you are interested in SILE, you should probably try using SILE from the repository head.

  • Support has been added for OpenType features! SILE now supports all your historic ligatures, swash characters, stylistic sets, kerning, fractions, diacritics, CJK shaping and character width, and any other clever things that your font can do.

  • A subtle but pernicious bug in the line-breaking engine has been fixed! This only manifested itself when centering paragraphs. Previously, centered paragraphs would fill from the final line upwards, leaving a few orphaned words on the first line. Now, it correctly fills from the first line down.

  • Support has been added for compiling with older versions of autotools, libpng and so on; if you couldn’t get SILE to compile before, you should now.

  • SILE originally supported Lua version 5.1, but after adding compatibility for 5.2, main development broke 5.1. 5.1 compatibility has been restored, so SILE now works on both versions.

  • Simon gave a talk to the FOSDEM conference explaining SILE’s development and design philosophy. We’ll post the video as soon as it’s available.

SILE v0.9.1 Is Released

30 Oct 2014 — Simon Cozens

Version v0.9.1 of SILE has been released and is available for download.

  • The main change in this release is a new shaper based on Harfbuzz and a new PDF creation engine. This has greatly improved the output quality on Linux, as well as bringing support for multilingual typesetting and allowing future support of interesting PDF features. (It’s also much faster.)

  • The new PDF library also allows images to be embedded in many different formats, rather than just PNG.

  • Documents can now be written in right-to-left languages such as Hebrew or Arabic, and it’s possible to mix left-to-right and right-to-left text arbitrarily. (Using the Unicode Bidirectional Algorithm.) Please see the examples to the left.

  • Initial support for languages such as Japanese which have different word/line breaking rules.

  • Frames can be grouped into a set called a "master", and masters can be used to set the frame layout of a given page.

  • Hopefully a much easier installation process, by bundling some of the required Lua modules and using the standard autoconf ./configure; make strategy.

  • Support for Lua 5.2.

What’s Happening In SILE Development

24 Sep 2014 — Simon Cozens

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.

SILE v0.9.0 Is Released

29 Aug 2014 — Simon Cozens

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

  • lua install.lua

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.

Contact

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.

« Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Next »