The SILE Typesetter
  • Home
  • What is SILE?
  • Examples
    • Global Scripts
    • Packages
  • Manual (PDF)
  • Download
GitHub

SILE v0.11.0 Is Released

02 Sep 2021 — Caleb Maclennan

Version v0.11.0 of SILE has been released and is available for download! See the included CHANGELOG.md or review the commit history for more explicit details.

Summary of Improvements

This release brings a significant fix to the vertical grid typesetting system that was causing extra full grid spaces between paragraphs where they didn’t belong. The new behavior is objectively more correct, but it does break previous workarounds. If you previous used a workaround to get the right output in spite of the bug, those documents may not render incorrectly. They can be fixed by removing whatever other workaround was in place or adding a shim that makes the paragraph spacing emulate the old behavior. Some utility functions also received bug fixes. Thanks to contributor Fredrick Brennan, color fonts now behave themselves much better in TTB layouts and the counter display style Alpha works as documented.

Not much has been added on the feature front, just a few conveniences such as traditional units of (small) measurement and handling more attributes in documents converted via the Pandoc writer (as-yet unreleased).

Beginning with this release Docker images will now be available from GitHub Packages (also known as the GitHub Container Registry). This is an alternative to Docker Hub which has recently started limiting the features available to open source projects.

⚠ BREAKING CHANGES

  • packages: Previous to this release any and all leading between paragraphs (as set with document.parskip) –even a 0 height skip– would result in the skip of one full empty grid space — as if parskip had been set to something approximating a full line height. This change corrects the calculation so if a 0 height skip is added and everything fits, the next line or paragraph will continue uninterrupted in the next grid slot. To get the previous layout behavior back, document.parskip must be explicitly set to be something larger than 0. Even a minimal 1pt skip will result in paragraph spacing that includes one full grid height left blank as before:

      \set[parameter=document.parskip,value=1lh]
    
  • utilities: Previous return value for breadcrumbs:contains() was just an depth index with -1 indicating no match. This made sense when I wrote it, but coming back to it for a new project I expected a boolean return value. Returning two values seems like the best option, but given the function naming it seemed to make sense to return the boolean first, hence the API breakage.

Features

  • actions: Use tagged images for faster CI job spin up (6a00388)
  • build: Add configure flag --disable-dependency-checks (5caf413)
  • docker: Build, tag, and push images to GHCR (3988339)
  • measurements: Add ‘hm’ (himetric) unit (f4b6b62)
  • measurements: Add ‘twip’ unit (cf9d5a7)
  • packages: Map unnumbered class to legacy opts in Pandoc package (#1167) (2868da2)

Bug Fixes

  • core: Avoid crash on warn by using correct function (b403ad9)
  • packages: Avoid crash on warn by using correct function (5d05be1)
  • packages: Avoid unnecessary skips to next grid space (6424369)
  • packages: Correctly handle color fonts on TTB pages (9b35d6a), closes #1171

Code Refactoring

  • utilities: Change breadcrumbs:contains() to return <bool, index> (a987394)

Ubuntu PPA Now Covers Groovy and Hirsute

04 Mar 2021 — Caleb Maclennan

Our “official” Ubuntu PPA with prebuilt SILE packages –including all the dependencies missing from the base Ubuntu package set– fell a little bit behind last month. In fact it never got updated with the SILE v0.10.14 release. It has been revived and is now up to date with v0.10.15 packages.

As before, both of the last two major LTS releases are supported: Bionic Beaver (18.04) and Focal Fossa (20.04). In addition, as of today the distribution coverage has been expanded to cover both of the currently active short term releases. We were late getting on the ball with Groovy Gorilla (20.10) and it is already nearing the end of its short lifespan but if you are using it, SILE packages are available. To make up for the tardyness we’re early with Hirsute Hippo (21.04) support and SILE packages are available for it now — even ahead of it’s official release in April.

Usage is the same as before for all distros:

sudo add-apt-repository ppa:sile-typesetter/sile
sudo apt-get update
sudo apt-get install sile

The two latest distros Groovy and Hirsute should support Lua 5.4 as well. If you encounter any trouble with any of these packages feel free to open a new issue report on our GitHub tracker.

Lastly if anybody knows their way around Launchpad and Ubuntu package devoplement and is interested in helping automate and maintain the packaging, we’re willing to accept help. Maintaining packaging for distros we don’t use personally is quite a bit of mental overhead.

SILE v0.10.15 Is Released

02 Mar 2021 — Caleb Maclennan

Version v0.10.15 of SILE has been released and is available for download! See the included CHANGELOG.md or review the commit history for more explicit details.

Summary of Improvements

This release fixes a couple of regressions and adds a couple small features. On the regression front, access to the interactive prompt has been restored and the table of contents metadata in PDFs is properly encoded again. For new features, COLR fonts are now automatically detected and the necessary support package is loaded when they are used, a new package allows spaces to be drawn using font-provided glyphs rather than assuming empty space, and another new package allows access to OpenType font features through more verbose fontspec names rather than their OpenType feature code names.

Features

  • fonts: Allow for code to be run when a font is first loaded (bdf05ab)
  • packages: Add \font-feature command (e2cf008)
  • packages: Add complex-spaces package (#1148) (b7451ae)

Bug Fixes

  • cli: Re-enable access to repl, input argument not required (a6434ee)

  • core: Allow builtin Lua bitwise operators on Lua 5.4 (5f0c2c7)

  • docker: Switch to BuildKit and make Docker Hub cooperate (783b104)

  • docker: Use patched glibc to work around outdated hosts (fa2532c)

  • docker: Use patched glibc to work around outdated hosts (#1141) (bf74417)

  • docker: Work around libtexpdf build having side effects (33510d9)

  • packages: Add CharacterVariant to features (929eca2)

  • utilities: Correct UTF-8/UTF-16 conversions (4863ed6)

SILE v0.10.14 Is Released

03 Feb 2021 — Caleb Maclennan

Version v0.10.14 of SILE has been released and is available for download! See the included CHANGELOG.md or review the commit history for more explicit details.

Summary of Improvements

This release introduces a new dependency on an external Lua UTF-8 string handling library. By introducing proper string handling instead of our home grown functions we knocked out several bugs including invalid encoding in the output when error tracing was turned on. We also added some (ironically, home grown) UTF-16 string handling to sanitize output of Font meta data.

Features

  • core: Make luautf8 library available in global scope (ab7e745)

Bug Fixes

  • build: Run autoupdate to fix autoconf issues (ab8307b)

  • core: Decode UTF-16BE strings in Windows platform name entries (e7662f8)

  • debug: Use UTF8 safe substring function in trace stack (495a5bf)

  • manual: Small error (d738b62)

SILE v0.10.13 Is Released

30 Nov 2020 — Caleb Maclennan

Version v0.10.13 of SILE has been released and is available for download! See the included CHANGELOG.md or review the commit history for more explicit details.

Summary of Improvements

This release brings a few bug fixes, most notably unscrambling Arabic (and some other complex script) shaping. Since current work in process includes significant changes to the document class API and these fixes have been sitting around for a while I figured it was time to give them a release number before anything potentially more disruptive lands.

Feature-wise the only significant improvement is complete coverage for all element types in the Pandoc document AST, enabling any converted documents to compile without errors. They might not be pretty out of the box yet, but at least they render and can be styled by adding or modifying commands.

Features

  • classes: Allow footnotes in plain class if package loaded (42c1ceb)
  • classes: Run deferred package init() on late load (0224fe3)

Bug Fixes

  • backends: Add complex shaping data to debug backend (a1a6509)

  • backends: Don't crash if debug output precedes regular (19c21f2)

  • build: Don't abuse libtool internals (for NetBSD packaging) (#1084) (048c8b5)

  • classes: Define \strong weight=700, not 600 (#1097) (68abf91)

  • packages: Add default options to simpletable (1f10c97)

  • packages: Correct math operations on grid spacing (5286188)

  • packages: Turn off complex flag for items in \latin-in-tate (b20690f)

« Prev 1 2 3 4 5 6 7 8 9 10 Next »