Subject: bug#51821: 29.0.50; Suggest add variable or frame parameter: line-height

From: Eli Zaretskii <[email-masked]>
Date: Mon, 15 Nov 2021 15:02:53 +0200

> From: Lars Ingebrigtsen <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Mon, 15 Nov 2021 06:39:15 +0100
> 
> It has to work across different fonts -- I think that's the real use
> case here, that if you're missing different fonts (which you commonly
> are when writing with different scripts), then the Emacs display gets
> pretty messy (uneven line heights all over the place).

You mean, because of "tofu"?  But tofu doesn't change the line height,
AFAIK.  So I think I'm missing something.

> * After redisplay has composed a line, it should check whether the line
> height is less than `line-height', and if so, add empty space at the
> bottom (or the top, or perhaps both, to center it).
> 
> ** But -- if the line is composed purely of text with a face with an
>    explicit :height property, it should do nothing.

The last part ruins it all.  I guess you are thinking about faces in
their 'defface' form?  But when a face gets to be used by the display
code, it is converted to the internal form and always completely
specified, and thus always has an explicit :height property already
calculated.  And of course the default face must always be completely
specified at this point.