[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ft] Vert advance on line break
From: |
Werner LEMBERG |
Subject: |
Re: [ft] Vert advance on line break |
Date: |
Thu, 29 Jan 2009 20:51:05 +0100 (CET) |
> * Distance (scaled distance) between two successive baselines should
> be face->size->metrics->height. This is the nominal height of the
> line, in 26.6 format, and _is scaled_ to the current size of the
> face. The unscaled (font units) value is in face->size->height.
Yes, in case you are not interested to produce a customized layout for
typesetting purposes.
> * line gap = height - (ascender - descender)
Yes. `descender' is negative in the above formula if it is below the
baseline.
> * The line gap is the space between the lines, where "nothing" is
> * written (except with strange fonts, etc).
Yes.
> * The "physical" height of the line (the area where most letters
> would be expected) is (ascent - descent).
If the global ascender and descender values are set correctly, this is
always true.
> Conclusion:
> If I want an "exact" space of, say, 1.5 lines between each two lines
> (no matter what the font design says) then I should ignore the FT2
> height and use the following:
>
> my line gap = (ascender - descender) * 1.5
> my height (baseline diff) = (ascender - descender) + my line gap
Exactly. On the other hand, you might assume that a 10pt font (this
is, whatever the font returns if you select 10pt as the rendering
size) really fits into 10pt vertically -- at least more or less. In
case this is not true it is arguable that the font is buggy. Under
this assumption you have the choice of selecting a baseline distance
independently of the font. TeX, for example, uses this approach; it
applies a factor 1.2 by default to get the baseline distance; for good
typography it is often useful to increase this factor up to 20%. So
you could say:
baseline diff = document font size
* default baseline factor (1.2)
* document specific adjustment (1 .. 1.2 normally)
Werner