Subject: Re: bug#25309: 11.89.8; multi-level script fontification stacks incorrectly

From: Tassilo Horn <[email-masked]>
Date: Tue, 03 Jan 2017 16:28:50 +0100

Mosè Giordano <[email-masked]> writes:

Hi Mosè,

>> Ok, great.  Committed and pushed!  I'm closing this bug then.
>
> Thank you, this is amazing!
>
> A couple of requests:
>
> 1) could you please mention this feature in doc/changes.texi?

Done!

> 2) is it possible to set a limit to scaling?
>
>     \(a^{b^{c^{d^{e^{f^{g^{h}}}}}}}\)
>
> is hardly readable, see the attached screenshot (though it's uncommon
> to have hyper-nested scripts).  This is unreadble also in the output
> document, but I think that the source code should always be readable.

Ok, there's a new variable `font-latex-fontify-script-max-level' which
defines up to which scriptification level the script faces are applied
again (thereby causing the decrease in font size).

> In my pixelated example, position of the baseline starts to be wrong
> after the fifth nested script (but this depends on the font and its
> size), maybe we can stop scaling after the ~4th nested script?

A problem of the previous version of the feature was that the raise
factors were just added up and didn't account for the fact that the font
size also shrinks.  In the current version, with each level the addition
to the raise value gets smaller (about 80% of the previous addition).

Probably, the faces' :height value and this raise factor should be in
sync somehow.  However, right now the :height value can be customized by
the user whereas the "addition for level x = 80% of the addition for
level x-1" is currently hard-coded by putting in a polynom which I have
extrapolated for the values

  1 1
  2 0.8
  3 0.64
  4 0.512
  5 0.4096
  6 0.32768
  7 0.262144
  8 0.2097152

Hm, Gennady, maybe you know something better?

Bye,
Tassilo