fluctuating baseline of header text
I observe a slight fluctuation of the baseline of text in the page header when going from one page to the next. a minimal example follows: \setupheader [style=\smallbodyfont\ss\it] \setupheadertexts [section] \setuppagenumbering[location={header,margin}, style=\bfc] \starttext \section{Introduction} bla \page[yes] \section{Introduction} bla \page[yes] \section{Introduction} bla \page[yes] \section{Introduction} bla \page[yes] \section{Introduction} bla \page[yes] \section{Introduction} bla \page[yes] \section{Introduction} bla \page[yes] \section{Introduction} bla \page[yes] \section{Introduction} bla \page[yes] \section{Introduction} bla \page[yes] \stoptext in this example (and with this font) the problem is only occuring when toggling between pages 6/7 or 7/8 (at sufficient zoom it's easy to see), i.e.the header is shifted downward on page 7. in other docs with different fonts it happens across multiple pages. my guess would be it has to do with the digit heights in the different fonts and the fact that the page numbers are much larger than the heading, but that's only a guess. can someone confirm the problem? thx,joerg -- Using Opera's revolutionary email client: http://www.opera.com/mail/
On 12/26/2014 11:32 PM, j. van den hoff wrote:
[...] in this example (and with this font) the problem is only occuring when toggling between pages 6/7 or 7/8 (at sufficient zoom it's easy to see), i.e.the header is shifted downward on page 7. in other docs with different fonts it happens across multiple pages. my guess would be it has to do with the digit heights in the different fonts and the fact that the page numbers are much larger than the heading, but that's only a guess.
can someone confirm the problem?
Hi Jörg, this sample shows the issue without zooming: \setuppapersize[A8] \setupheader [style=\itx\ss] \setupheadertexts [section] \setuppagenumbering[location={header,margin}, style=\bfd] \starttext \dorecurse{80}{\section{Introduction} bla\page[yes]} \stoptext When the glyph 7 is involved in page number, baseline is a bit lower. As you wrote, I guess this is related with the glyph metrics. Just in case it helps, Pablo -- http://www.ousia.tk
On Sat, 27 Dec 2014 10:40:30 +0100, Pablo Rodriguez
On 12/26/2014 11:32 PM, j. van den hoff wrote:
[...] in this example (and with this font) the problem is only occuring when toggling between pages 6/7 or 7/8 (at sufficient zoom it's easy to see), i.e.the header is shifted downward on page 7. in other docs with different fonts it happens across multiple pages. my guess would be it has to do with the digit heights in the different fonts and the fact that the page numbers are much larger than the heading, but that's only a guess.
can someone confirm the problem?
Hi Jörg,
this sample shows the issue without zooming:
thanks for confirming this. @devs: can this be considered "misbehaviour" (not to call it a bug ;-)) or is it somehow unavoidable?
\setuppapersize[A8] \setupheader [style=\itx\ss] \setupheadertexts [section] \setuppagenumbering[location={header,margin}, style=\bfd] \starttext \dorecurse{80}{\section{Introduction} bla\page[yes]} \stoptext
When the glyph 7 is involved in page number, baseline is a bit lower. As you wrote, I guess this is related with the glyph metrics.
yes. this seems to be supported by the fact that it happens differently (usually more frequently) with other fonts. joerg
Just in case it helps,
Pablo
-- Using Opera's revolutionary email client: http://www.opera.com/mail/
On 12/27/2014 12:16 PM, j. van den hoff wrote:
On Sat, 27 Dec 2014 10:40:30 +0100, Pablo Rodriguez
wrote: On 12/26/2014 11:32 PM, j. van den hoff wrote:
[...] in this example (and with this font) the problem is only occuring when toggling between pages 6/7 or 7/8 (at sufficient zoom it's easy to see), i.e.the header is shifted downward on page 7. in other docs with different fonts it happens across multiple pages. my guess would be it has to do with the digit heights in the different fonts and the fact that the page numbers are much larger than the heading, but that's only a guess.
can someone confirm the problem?
Hi Jörg,
this sample shows the issue without zooming:
thanks for confirming this. @devs: can this be considered "misbehaviour" (not to call it a bug ;-)) or is it somehow unavoidable?
it's not a bug at all .. you just get what you ask for \showframe \showglyphs your header is too small so what you want only works if the heights of all characters are the same which is not the case here solutions: - use a proper height for the header - package the header text in a box and set the height of that box
\setuppapersize[A8] \setupheader [style=\itx\ss] \setupheadertexts [section] \setuppagenumbering[location={header,margin}, style=\bfd] \starttext \dorecurse{80}{\section{Introduction} bla\page[yes]} \stoptext
When the glyph 7 is involved in page number, baseline is a bit lower. As you wrote, I guess this is related with the glyph metrics.
yes. this seems to be supported by the fact that it happens differently (usually more frequently) with other fonts.
joerg
Just in case it helps,
Pablo
-- ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On Sat, 27 Dec 2014 13:36:49 +0100, Hans Hagen
On 12/27/2014 12:16 PM, j. van den hoff wrote:
On Sat, 27 Dec 2014 10:40:30 +0100, Pablo Rodriguez
wrote: On 12/26/2014 11:32 PM, j. van den hoff wrote:
[...] in this example (and with this font) the problem is only occuring when toggling between pages 6/7 or 7/8 (at sufficient zoom it's easy to see), i.e.the header is shifted downward on page 7. in other docs with different fonts it happens across multiple pages. my guess would be it has to do with the digit heights in the different fonts and the fact that the page numbers are much larger than the heading, but that's only a guess.
can someone confirm the problem?
Hi Jörg,
this sample shows the issue without zooming:
thanks for confirming this. @devs: can this be considered "misbehaviour" (not to call it a bug ;-)) or is it somehow unavoidable?
it's not a bug at all .. you just get what you ask for
good to know.
\showframe \showglyphs
your header is too small so what you want only works if the heights of all characters are the same which is not the case here
well this seems not to be the whole explanation AFAICS. it might be correct for pablo's example, but for my original example, which is equivalent to: \showframe\showglyphs \setupheader [style=\smallbodyfont\ss\it] \setupheadertexts [section] \setuppagenumbering[location={header,margin}, style=\bfc] \starttext \dorecurse{10}{\section{Introduction} bla \page[yes]} \stoptext I can't see that the header space is to small, no? or what am I missing? using `\showglyphs' (which I didn't know of: thanks), it still looks to me as if the problem is caused by the fact, that all positions are measured from the top and the header line's baseline is aligned with the baseline of the large page numbers glyph boxes (although only approximately so, as far as I can tell on my monitor...) where -- for the default font -- the glyphbox of the `7' has a larger vertical extension than the others (so that it extends a bit further down as measured from the top) which causes the baseline of the header to shift downwards accordingly. joerg
solutions:
- use a proper height for the header - package the header text in a box and set the height of that box
\setuppapersize[A8] \setupheader [style=\itx\ss] \setupheadertexts [section] \setuppagenumbering[location={header,margin}, style=\bfd] \starttext \dorecurse{80}{\section{Introduction} bla\page[yes]} \stoptext
When the glyph 7 is involved in page number, baseline is a bit lower. As you wrote, I guess this is related with the glyph metrics.
yes. this seems to be supported by the fact that it happens differently (usually more frequently) with other fonts.
joerg
Just in case it helps,
Pablo
-- Using Opera's revolutionary email client: http://www.opera.com/mail/
On Sat, 27 Dec 2014 15:07:31 +0100, j. van den hoff
- package the header text in a box and set the height of that box
and if you don't mind, would you give me a pointer/keyword/command name so that I can look up how to do this? joerg -- Using Opera's revolutionary email client: http://www.opera.com/mail/
coming back to this again, if one uses old-style numerals for the page
numbering the "problem" is aggravated:
\showframe\showglyphs
\definefontfeature [default] [default] [onum=yes]
\definefontfamily [mainface] [serif] [garamondno8]
\setupbodyfont[mainface,12pt]
\setupheader [style=\smallbodyfont\ss\it]
\setupheadertexts [section]
\setuppagenumbering[location={header,margin}, style=\bfc]
\starttext
\dorecurse{97}{\section{Introduction}
bla
\page[yes]}
\stoptext
now, it also is obious that the "baseline jumps" occur in the page numbers
themselves (caused mainly by the
large extension of the `6') so going, e.g., from page 25 to 26 the `2'
jumps downward quite a bit. I understand
that this is unavoidable if the positions are determined as they seemingly
are (measuring from the top and separately
for each page). what I at least would think to be nicer would be a
situation where the baseline is determined for
the _whole_ document as the minimum (lowest position on page) of all
page-wise baselines (that would be determined by the digit `6' in the
present example)
and then using _that_ baseline for all headers and page numbers which
would eliminate the jittering of header lines and page numbers.
I am aware that this will not always be the desired behaviour and that
there might be documents where header layout might not be identical
document wide,
so it might open a can of worms, but for most book-type documents I would
think this to be reasonable and desirable.
my questions:
-- would that (a common baseline for the text in all the page headers) be
better or worse than the present behaviour from a typographical point of
view?
-- if desirable, could/should it be done?
-- could such behaviour be achieved presently with some clever trick?
joerg
On Sat, 27 Dec 2014 13:36:49 +0100, Hans Hagen
solutions: - use a proper height for the header - package the header text in a box and set the height of that box
-- Using Opera's revolutionary email client: http://www.opera.com/mail/
On 12/27/2014 4:35 PM, j. van den hoff wrote:
my questions:
-- would that (a common baseline for the text in all the page headers) be better or worse than the present behaviour from a typographical point of view?
whatever variant we make, you always need to take font properties into account when you mix sizes .. there is no general solution (at least not one that would break other usage)
-- if desirable, could/should it be done? -- could such behaviour be achieved presently with some clever trick?
\showstruts \setuppagenumbering[style=\bfd\setcharstrut{0123456789}\strut,strut=no] - no default strut - calculate one based on to-be-used-characters (tight case) - apply that one compare it with \setuppagenumbering[style=\bfd\setstrut\strut] And then wikify it Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On Sun, 28 Dec 2014 00:45:32 +0100, Hans Hagen
-- could such behaviour be achieved presently with some clever trick?
\showstruts \setuppagenumbering[style=\bfd\setcharstrut{0123456789}\strut,strut=no] - no default strut - calculate one based on to-be-used-characters (tight case) - apply that one
compare it with \setuppagenumbering[style=\bfd\setstrut\strut]
thanks a lot. that indeed fixes it.
And then wikify it
can do. although things are not yet 100% clear to me (not much to be found in the documentation). so is this right: -- I guess `\setstrut\strut' does set the strut to the maximum height of all the glyphs in the used font? the explanation in 4.6 of the ref. manual is not really telling me how the box height in the example comes about (i.e. what the mentioned `maximal height' actually is). -- `\setcharstrut{0123456789}': the command seems to be completely undocumented (I could not find it in wiki and ref. manual), but it seems clear what it does. except what do you mean by "tight case" here? -- why is it necessary to state `strut=no' to switch of the default on top of setting the strut explicitly? joerg
Hans
-- Using Opera's revolutionary email client: http://www.opera.com/mail/
On 12/28/2014 12:39 PM, j. van den hoff wrote:
On Sun, 28 Dec 2014 00:45:32 +0100, Hans Hagen
wrote: -- could such behaviour be achieved presently with some clever trick?
\showstruts \setuppagenumbering[style=\bfd\setcharstrut{0123456789}\strut,strut=no] - no default strut - calculate one based on to-be-used-characters (tight case) - apply that one
compare it with \setuppagenumbering[style=\bfd\setstrut\strut]
thanks a lot. that indeed fixes it.
And then wikify it
can do. although things are not yet 100% clear to me (not much to be found in the documentation). so is this right:
-- I guess `\setstrut\strut' does set the strut to the maximum height of all the glyphs in the used font? the explanation in 4.6 of the ref. manual is not really telling me how the box height in the example comes about (i.e. what the mentioned `maximal height' actually is).
\setstrut: ht and dp according to settings of lineheight which relates to the x height (font property)
-- `\setcharstrut{0123456789}': the command seems to be completely undocumented (I could not find it in wiki and ref. manual), but it seems clear what it does. except what do you mean by "tight case" here?
set the strut to match the given set of characters
-- why is it necessary to state `strut=no' to switch of the default on top of setting the strut explicitly?
just try it ... i assume you don't want too much depth Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On Sun, 28 Dec 2014 18:55:15 +0100, Hans Hagen
set the strut to match the given set of characters
so, I've tried to add a description to the wiki: http://wiki.contextgarden.net/Command/setcharstrut I'd appreciate if you would double-check and correct any errors/misconceptions. joerg -- Using Opera's revolutionary email client: http://www.opera.com/mail/
participants (3)
-
Hans Hagen
-
j. van den hoff
-
Pablo Rodriguez