On 2024-11-04 01:35, Mikael Sundqvist wrote:
\startluacode

local classes = fonts.protrusions.classes
local vectors = fonts.protrusions.vectors

classes.rik = {
    vector = 'rik',
    factor = 1,
}

vectors.rik = table.merged (
    vectors.quality,
    {
      [0x0054] = { 0.35, 0 }, -- T
    })

\stopluacode

That, of course, works (I would use 0.175 for Libertinus) but as you point out does not distinguish roman and italic.

Perhaps instead of protrusion there is something that can be done with the bounding box of specific characters.

--
Rik