sile 0.14.8

Simon’s Improved Layout Engine
1
2
3
4
5
6
7
8
9
10
11
12
13
14
local base = require("typesetters.firstfit")

local typesetter = pl.class(base)
typesetter._name = "tate"

function typesetter.leadingFor (_, v)
  v.height = SILE.length("1zw"):absolute()
  local bls = SILE.settings:get("document.baselineskip")
  local d = bls.height:absolute() - v.height
  local len = SILE.length(d.length, bls.height.stretch, bls.height.shrink)
  return SILE.nodefactory.vglue({ height = len })
end

return typesetter