fontspec: how to keep baselineskip stable

Compare these two images:

On the left you have correct baselineskip on all line. On the right you have larger baselineskip for line 5 because of the acute accent on É (in Études).

Looking into the font (an OTF font) I see that the height of the cap E is 700 units, the height of the É is 919 units. This is so big that it forces TeX to increase the baselineskip.

In the good-ole TeX with TFM files, this problem was extremely easy to solve: I would just change the `CHARHT` entry in the TFM file. This because the TeX character model distinguishes between font data (in the PFB file) and metric data (in the TFM and VF files).

But now I'm using XeLaTeX with fontspec, and there is no TFM file anymore, only a TTF or OTF file. And of course there is no way to change any glyph box because there is no independent glyph box, only the real dimensions of the bounding box of the glyph contour.

Is there some parameter in XeTeX and/or fontspec allowing me to constrain the maximal character height of a given font? Is there some other solution to the problem of unstable baselineskips?

• you could set `\lineskiplimit=-2pt` which would allow up to 2pt of overlap before it gives up on baselineskip – David Carlisle Jan 20 at 15:30
• That's great David, thank you! You always have the right answer. I'm most grateful for all your answers in the last 22 years (I found a "Help needed" mail I sent you in April 1998!), thanks! – yannis Jan 20 at 15:36
• – Thérèse Jan 20 at 15:37

You could set

`````` \lineskiplimit=-2pt
``````

which would allow up to 2pt of overlap before it gives up on baselineskip