On 2024-11-04 10:55, Wolfgang Schuster wrote:
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