Writer's spell check red squiggle doesn't work in all fonts

So, this is a weird one. If I start a new document in Writer, and I’m writing in a pre-installed font (like Times New Roman on a Windows machine or Liberation Serif on a Linux machine), if I type a nonsense word like dsfhfiou, it’ll get automatic red squiggles through it, because that’s how real-time spell check works. But I installed a weird font called 18th Century Kurrant, and if I switch in the second sentence to that font and type dfhfijofd, no red squiggle shows up. If I switch back to the pre-installed font, the spell check again works fine.

Really not sure what’s going on here, or if something needs reinstalling. What I can say is fortunately, if I actually click “spell check,” the long-form non-instant checker does catch the misspelled words. So… maybe a bug? Maybe just weirdness with one font? Honestly don’t know. But there you go.

This is a bug.

The font defines its “underline size” (unds tag in MVAR) to 0. In LibreOffice, this zero is used then as the value of wave height, meaning that a zero-height waveline is created (empty). It is drawn in OutputDevice::DrawWaveLine - and on line 1072, the zero height is used to define the resulting bitmap height, which later makes aBitmap (and aWavylinebmp) empty, and later on line 1082, it will not render.

No idea what value should be used instead. It may be that the zero means “this font wants no underline” - but that must only be used for normal underlines (as part of user formatting), not to spell checking underlines. Or the zero might mean just “there is no variation” (because MVAR is about font variation). In either case, we need a value from some other source.

A bug report would be welcome.

1 Like

By the way, the wavelines displayed up to 7.4 (inclusive), even though they were positioned wrongly for the font (crossed characters).