Subject: bug#20628: 25.0.50; Incorrect line height for some fonts

From: Eli Zaretskii <[email-masked]>
Date: Wed, 27 May 2015 18:20:02 +0300

> Date: Sun, 24 May 2015 13:06:57 +0300
> From: Eli Zaretskii <[email-masked]>
> Cc: [email-masked]
> 
> Actually, I need help with this, as I don't know enough about fonts,
> and don't have access to systems where per-character ascent/descent
> values are currently available in Emacs.

Since no one volunteered, I've pushed an experimental branch
scratch/large-fonts, which attempts to deal with the problem.

After looking into the relevant code and trying a few things, I
concluded that I don't want to stop using the font-global height
information for fonts that provide reasonable values.  That's because
the current code works well enough in those cases, and it would be a
shame to throw it out the window.  Also, it turns out that the
assumptions about using font-global values are all over the place, and
in some of them the per-glyph information is not even available.

So instead I added a heuristic test intended to detect the problematic
fonts, and code to fall back on the per-glyph data when such fonts are
detected.  I also fixed a few issues exposed by this change, mainly
with the hollow cursor.

The changes are in platform-independent code, but I could only test
them on MS-Windows.  So users of Unix and GNU systems who are affected
by this problem are encouraged to try the branch and report their
experiences, whether good or bad.

I will look into merging the branch to master in a few days, barring
any grave bugs.

TIA