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

From: Clément Pit--Claudel <[email-masked]>
Date: Fri, 22 May 2015 16:25:05 -0400

On 05/22/2015 03:35 PM, Eli Zaretskii wrote:
>> Date: Fri, 22 May 2015 15:03:24 -0400
>> From: Clément Pit--Claudel
>>  <[email-masked]>
>> CC: [email-masked]
>>
>> I believe you have something like the following line in mind:
>>
>>   (set-fontset-font fontset 'unicode (font-spec :name "Symbola") nil 'append)
> 
> That's too radical.  You could be more selective, e.g.:
> 
>   (set-fontset-font "fontset-default"
>                     '(#x1d400 . #x1d7ff)
> 		    "Symbola")
> 
> That's because you may wish using other fonts for other Unicode
> blocks.

Note that I added the 'append parameter at the end of that line, so if it is executed last (and if I understand correctly!) then it should not override any other preferences.

>> Indeed, this fixes the problem. Unfortunately, this problem makes it hard for package developers to make use of prettify-symbols-mode. Indeed, programming languages like Agda or Gallina (Coq) would gain a lot from heavy prettification, but since the default fallback font tends to be one of these badly behaved TeX fonts, users of Adga and Coq packages will often run into this problem if we enable prettification by default at the package level the package level. IOW, it's currently hard to come up with a workaround that does not involve user intervention at the moment.
> 
> Couldn't those package developers recommend fontset settings, of even
> include ready-to-use .emacs snippets as part of the package?

Indeed. In fact, that's what I already do with company-coq ( https://github.com/cpitclaudel/company-coq/#troubleshooting ). However, people are still reporting this as a bug.

I am not sure what I can do as a package developer to make it work "out of the box". An option to override the line height would be helpful, since I could do it at the package level; advanced users could then tweak things further (eg. by installing better fonts), but basic users would still benefit from decent defaults.

This is particularly relevant in the Coq case, since Emacs (as part of the Proof General package) is one of the main IDEs for Coq, and a number of users have no experience with Emacs when they start using it.

Clément.