Skip to content

Commit

Permalink
docs(readme): Update the from source howto with Rust binary information
Browse files Browse the repository at this point in the history
  • Loading branch information
alerque committed Nov 18, 2023
1 parent 6fadf9a commit 0b5089d
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,15 @@ $ nix run github:sile-typesetter/sile -- <sile arguments>

SILE source code can be downloaded from [its website][sile] or directly from [the GitHub releases page][releases].

SILE is written in the Lua programming language, so you will need a working Lua installation on your system (Lua 5.1, 5.2, 5.3, 5.4, and LuaJIT (2.0, 2.1, or OpenResty) are fully supported).
SILE is completely programmable using the Lua programming language.
As of v0.15.0, the CLI you actually execute is (optionally) a Rust binary with a Lua VM built in.
It can be built against your system's Lua version or use its own vendored Lua sources.
All SILE's Lua code take a lowest-common-denominator approach to Lua compatibility and any of Lua 5.1, 5.2, 5.3, 5.4, or LuaJIT (2.0, 2.1, or OpenResty) are fully supported.
Compiling it to match your system's Lua version has the advantage of making it easy to access system installed Lua Rocks, but this is not a requirement.

Compiling from sources will require both a Rust toolchain and Lua sources.
At runtime no Rust tooling is required, and neither is the system Lua interpreter actually used.

It also relies on external libraries to access fonts and write PDF files.
Its preferred combination of libraries is [Harfbuzz][harfbuzz] and [libtexpdf][], a PDF creation library extracted from TeX. Harfbuzz (minimum version 1.1.3) should be available from your operating system's package manager.
For Harfbuzz to work you will also need fontconfig installed.
Expand Down

0 comments on commit 0b5089d

Please sign in to comment.