* [NTG-context] Zigzag left margin with italics @ 2024-11-04 1:34 Rik Kabel 2024-11-04 6:35 ` [NTG-context] " Mikael Sundqvist 0 siblings, 1 reply; 8+ messages in thread From: Rik Kabel @ 2024-11-04 1:34 UTC (permalink / raw) To: ntg-context mailing list [-- Attachment #1.1: Type: text/plain, Size: 1338 bytes --] In a paper I recently wrote I noticed some ugly zigzag alignment on the left margin of one paragraph (set with Libertinus) where a couple of book titles appeared at the start of the second and fourth lines. The following example demonstrates the issue. \definefontfeature [default] [default] [protrusion=quality,expansion=quality] \setupalign [hz,hanging] \startbuffer Here is a line of text, the first sentence in the demonstration.\\ {\em Then} the next sentence in the paragraph follows.\\ You can see that the italic {\em T} appears to be a bit indented.\\ {\em There } might be a way to shift it to the left that little bit.\\ Perhaps a protrusion setting.\\ {\em This} does appear to depend to on the font used. With Modern and\\ Libertinus it is worse, with Times a bit better. \blank \stopbuffer \starttext Modern\\ \getbuffer Times\\ \setupbodyfont[times] \getbuffer Libertinus\\ \setupbodyfont[libertinus] \getbuffer \stoptext How can one set a small left-margin protrusion for the italic T and possibly other characters? I know it is a small issue, but once seen it is hard to un-see. -- Rik [-- Attachment #1.2: Type: text/html, Size: 1983 bytes --] [-- Attachment #2: Type: text/plain, Size: 511 bytes --] ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 8+ messages in thread
* [NTG-context] Re: Zigzag left margin with italics 2024-11-04 1:34 [NTG-context] Zigzag left margin with italics Rik Kabel @ 2024-11-04 6:35 ` Mikael Sundqvist 2024-11-04 15:51 ` Rik Kabel 2024-11-04 15:55 ` Wolfgang Schuster 0 siblings, 2 replies; 8+ messages in thread From: Mikael Sundqvist @ 2024-11-04 6:35 UTC (permalink / raw) To: mailing list for ConTeXt users 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] \setupalign[hz,hanging] \showmakeup[line] \showglyphs \startbuffer Here is a line of text, the first sentence in the demonstration.\\ {\em Then} the next sentence in the paragraph follows.\\ You can see that the italic {\em T} appears to be a bit indented.\\ {\em There } might be a way to shift it to the left that little bit.\\ Perhaps a protrusion setting.\\ {\em This} does appear to depend to on the font used. With Modern and\\ Libertinus it is worse, with Times a bit better. \blank \stopbuffer \starttext Modern\\ \getbuffer Times\\ \setupbodyfont[times] \getbuffer TLibertinus\\ \setupbodyfont[libertinus] \getbuffer \stoptext /Mikael On Mon, Nov 4, 2024 at 2:34 AM Rik Kabel <ConTeXt@rik.users.panix.com> wrote: > > In a paper I recently wrote I noticed some ugly zigzag alignment on the left margin of one paragraph (set with Libertinus) where a couple of book titles appeared at the start of the second and fourth lines. The following example demonstrates the issue. > > \definefontfeature [default] > [default] > [protrusion=quality,expansion=quality] > \setupalign [hz,hanging] > > \startbuffer > Here is a line of text, the first sentence in the demonstration.\\ > {\em Then} the next sentence in the paragraph follows.\\ > You can see that the italic {\em T} appears to be a bit indented.\\ > {\em There } might be a way to shift it to the left that little bit.\\ > Perhaps a protrusion setting.\\ > {\em This} does appear to depend to on the font used. With Modern and\\ > Libertinus it is worse, with Times a bit better. > \blank > \stopbuffer > > \starttext > Modern\\ > \getbuffer > Times\\ > \setupbodyfont[times] > \getbuffer > Libertinus\\ > \setupbodyfont[libertinus] > \getbuffer > \stoptext > > How can one set a small left-margin protrusion for the italic T and possibly other characters? I know it is a small issue, but once seen it is hard to un-see. > > -- > Rik > > ___________________________________________________________________________________ > If your question is of interest to others as well, please add an entry to the Wiki! > > maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl > webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) > archive : https://github.com/contextgarden/context > wiki : https://wiki.contextgarden.net > ___________________________________________________________________________________ ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 8+ messages in thread
* [NTG-context] Re: Zigzag left margin with italics 2024-11-04 6:35 ` [NTG-context] " Mikael Sundqvist @ 2024-11-04 15:51 ` Rik Kabel 2024-11-04 15:55 ` Wolfgang Schuster 1 sibling, 0 replies; 8+ messages in thread From: Rik Kabel @ 2024-11-04 15:51 UTC (permalink / raw) To: ntg-context [-- Attachment #1.1: Type: text/plain, Size: 592 bytes --] 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 [-- Attachment #1.2: Type: text/html, Size: 1002 bytes --] [-- Attachment #2: Type: text/plain, Size: 511 bytes --] ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 8+ messages in thread
* [NTG-context] Re: Zigzag left margin with italics 2024-11-04 6:35 ` [NTG-context] " Mikael Sundqvist 2024-11-04 15:51 ` Rik Kabel @ 2024-11-04 15:55 ` Wolfgang Schuster 2024-11-04 17:39 ` Rik Kabel 1 sibling, 1 reply; 8+ messages in thread From: Wolfgang Schuster @ 2024-11-04 15:55 UTC (permalink / raw) To: mailing list for ConTeXt users; +Cc: Rik Kabel, Mikael Sundqvist 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 ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 8+ messages in thread
* [NTG-context] Re: Zigzag left margin with italics 2024-11-04 15:55 ` Wolfgang Schuster @ 2024-11-04 17:39 ` Rik Kabel 2024-11-04 17:54 ` Hans Hagen 0 siblings, 1 reply; 8+ messages in thread From: Rik Kabel @ 2024-11-04 17:39 UTC (permalink / raw) To: ntg-context [-- Attachment #1.1: Type: text/plain, Size: 2058 bytes --] 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 [-- Attachment #1.2: Type: text/html, Size: 3344 bytes --] [-- Attachment #2: Type: text/plain, Size: 511 bytes --] ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 8+ messages in thread
* [NTG-context] Re: Zigzag left margin with italics 2024-11-04 17:39 ` Rik Kabel @ 2024-11-04 17:54 ` Hans Hagen 2024-11-04 21:49 ` Rik Kabel 2024-11-04 22:10 ` Wolfgang Schuster 0 siblings, 2 replies; 8+ messages in thread From: Hans Hagen @ 2024-11-04 17:54 UTC (permalink / raw) To: mailing list for ConTeXt users On 11/4/2024 6:39 PM, Rik Kabel wrote: > > 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? you can make a font goodie file where you patch properties of a specific glyph but then you also need to keep an eye on when the font gets fixed Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl ----------------------------------------------------------------- ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 8+ messages in thread
* [NTG-context] Re: Zigzag left margin with italics 2024-11-04 17:54 ` Hans Hagen @ 2024-11-04 21:49 ` Rik Kabel 2024-11-04 22:10 ` Wolfgang Schuster 1 sibling, 0 replies; 8+ messages in thread From: Rik Kabel @ 2024-11-04 21:49 UTC (permalink / raw) To: ntg-context [-- Attachment #1.1: Type: text/plain, Size: 1320 bytes --] On 2024-11-04 12:54, Hans Hagen wrote: > On 11/4/2024 6:39 PM, Rik Kabel wrote: >> >> 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? > > you can make a font goodie file where you patch properties of a > specific glyph but then you also need to keep an eye on when the font > gets fixed > > Hans > Can anyone provide a pointer to a goodie file where glyph boundaries are manipulated? I could not find anything relevant in the wiki, docs, or source. -- Rik [-- Attachment #1.2: Type: text/html, Size: 2218 bytes --] [-- Attachment #2: Type: text/plain, Size: 511 bytes --] ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 8+ messages in thread
* [NTG-context] Re: Zigzag left margin with italics 2024-11-04 17:54 ` Hans Hagen 2024-11-04 21:49 ` Rik Kabel @ 2024-11-04 22:10 ` Wolfgang Schuster 1 sibling, 0 replies; 8+ messages in thread From: Wolfgang Schuster @ 2024-11-04 22:10 UTC (permalink / raw) To: mailing list for ConTeXt users Hans Hagen schrieb am 04.11.2024 um 18:54: > On 11/4/2024 6:39 PM, Rik Kabel wrote: >> >> 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? > > you can make a font goodie file where you patch properties of a specific > glyph but then you also need to keep an eye on when the font gets fixed A simple solution is to use \shapecorrection which moves the slanted glyphs closer the margins of the text block. %%%% begin example \setuppapersize[A5] \startbuffer H\crlf {\it T} \blank H\crlf {\shapecorrection[both]\it T} \stopbuffer \showframe \starttext \subject{Latin Modern} \getbuffer \setupbodyfont[times] \subject{Times} \getbuffer \setupbodyfont[libertinus] \subject{Libertinus} \getbuffer \stoptext %%%% end example Wolfgang ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-11-04 22:14 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2024-11-04 1:34 [NTG-context] Zigzag left margin with italics Rik Kabel 2024-11-04 6:35 ` [NTG-context] " Mikael Sundqvist 2024-11-04 15:51 ` Rik Kabel 2024-11-04 15:55 ` Wolfgang Schuster 2024-11-04 17:39 ` Rik Kabel 2024-11-04 17:54 ` Hans Hagen 2024-11-04 21:49 ` Rik Kabel 2024-11-04 22:10 ` Wolfgang Schuster
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).