[HarfBuzz] Line spacing

Simon Cozens simon at simon-cozens.org
Mon Oct 26 22:47:33 PDT 2015


So this is no longer really a HB question any more; sorry. If there is a
better place to discuss general text layout issues, please point me
there instead, but I think most of the people who know about the subject
are here...

On 27/10/2015 01:42, John Labovitz wrote:
> What’s far more important to me is control and predictability — I
> want to specify exactly where a line starts on a page (usually by
> ascender/cap height), and then ensure that successive lines are
> vertically aligned by baselines. So line spacing comes out of those
> issues, not out of a somewhat arbitrary default.

OK. Taking on board this and Khaled's post (and comments from Martin and
others by mail) I have created a new SILE package. Loading linespacing
allows you to choose between five line spacing methods:

1) the TeX algorithm. (In which case the package does nothing, because
this is the default.)

2) Fixed baseline-to-baseline distance, using either an absolute value
or a relative measurement (e.g. 1.2em) based on the current font.

3) Fit glyphs mode, where you specify the distance between the lowest
bit of ink on the previous line and the highest bit of ink on the
current line.

4) Fit font mode, where you specify the distance between the maximum
global descender value of the fonts on the previous line (whether there
are any descenders on that line or not) and the maximum global ascender
value of the font on the current line (whether there are any ascenders
on that line or not).

5) CSS mode, where half-leading is applied to the top and bottom of the
line based on a linespace parameter.

Hopefully between that lot, there should be enough control and
predictability to do the intended thing with line spacing in whatever
scripts you throw at SILE.

S


More information about the HarfBuzz mailing list