underlinePosition/underlineThickness & Use Typo Metrics

Hi there!

I was wondering if @GeorgSeifert could explain further the relationship between Use Typo Metrics being on :white_check_mark: and the values of underlinePosition/underlineThickness?

Elsewhere I found this snippet:

"Another problem is that, in Microsoft Office software, values for underlinePosition and underlineThickness are ignored when Use Typo Metrics is on. Even if it is off, and if the underline does not fit above winDescent, it will be raised accordingly. In other words, underlinePosition plus underlineThickness must be smaller than winDescent. If Use Typo Metrics is on, default underline values will be used instead. If you find the correct display of underlines in Microsoft Word more important than proper linespacing, disable Use Typo Metrics, and follow one of the legacy strategies. Most likely the Microsoft Strategy will be a good idea then.”

I am setting these via customParameter on each instance, but the resulting OTF files seem to use what look like default values of -75 and 50, rather than the custom values I’ve entered.

Is ‘Use Typo Metrics’ over-riding my manual settings?

Any further information on this would be very much appreciated.


How and where do you test?

To sum it up, Use Typo Metrics should always be used in a modern font. The only exception is that you may need to be backwards-compatible with an old version of a font.

MS Word has a bug. It is exactly as I described it in the text you quoted. I reported the bug to Microsoft, but it is unlikely to get fixed anytime soon because it apparently is very old code, and nobody feels up to the task to change it.

You need to decide if you want to break your font in order to make it work in one app. I do not recommend that, though. It is just opening a can of worms, and you may end up in an unsolvable situation. I would do that only if you know for sure that the font is only ever used in Word, and nowhere else.

What I am trying to clarify is: If Use Typo Metrics is turned on, does that mean that a custom parameter for underlineThickness or underlinePosition will not result in that data being written to the OTF file?

The parameter is written to the file just fine. The problem is that Word is not reading it.

@GeorgSeifert @mekkablue Is it necessary for the parameters to be at the Master level? Or can they be applied to each Instance?

Is there documentation of these custom parameters on the Glyphs site?


You can have them either way. If it on the master, it will be interpolated.

It is a good idea to keep the underline parameters the same in the whole family. Just think of a user who underlines a whole sentence and makes one word in it bold or italic. If you have different values in different styles, the underline will have an interrupted appearance.