Mikael Sundqvist schrieb am 04.11.2024 um 07:35:
Hi,
You can try this below (from test suite), but then, as you see, also
upright T will move out. Not sure how/if you can control that.
\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
\definefontfeature
[default]
[default]
[protrusion=rik,expansion=quality]
Define a feature which sets only the custom protrusion values:
\definefontfeature [rik] [protrusion=quality]
and create a new typeface where you apply the new feature to the italic/slanted style:
\definefontfamily [riktimes] [rm] [TeX Gyre Termes] [sl=features:{default,rik}]
Afterwards use \seupbodyfont[riktimes] to access the new typeface.
Wolfgang
___________________________________________________________________________________
Looking a bit more, the problem is not protrusion but the bounding box. Look at the left side of the italic T and W, and to a lesser degree C, O, and Q, produced by the following.
\usetypescript[libertinus]
\setupbodyfont[libertinus]
\starttext
¦\doloopoverlist{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}
{\it\recursestring\tf¦}\par
¦\doloopoverlist{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}
{\recursestring¦}
¦\doloopoverlist{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}
{\WORD{\it\recursestring}\tf¦}\par
¦\doloopoverlist{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}
{\WORD{\recursestring}¦}
\stoptext
This may be an issue for the font maintainer, but is there anything that could be done within context?
--
Rik