On Mon, Jun 1, 2026 at 23:34 (+0200), Wolfgang Schuster wrote:
> Am 01.06.2026 um 17:25 schrieb Jim via ntg-context:
>> On Sun, May 31, 2026 at 13:21 (+0200), Wolfgang Schuster wrote:
>>> Am 31.05.2026 um 12:49 schrieb Hans Hagen via ntg-context:
>>> > On 5/31/2026 12:05 PM, Pablo Rodriguez via ntg-context wrote:
>>> > > On 5/28/26 02:39, Jim via ntg-context wrote:
>>> > > > Hi all,
>>> > > > […]
>>> > > > What do I learn from this?
>>> > > > (a) Fractional point font sizes are not a thing, and I shouldn't
>>> > > > do that?
>>> > > > (b) Fractional point font sizes may work, but are unreliable?
>>> > > > (c) \switchtobodyfont[script] doesn't work with fractional point
>>> > > > font sizes?
>>> > > > (d) Something else entirely?
>>> > > Hi Jim,
>>> > > just use the source: lines 654-662 from contain the explanation (or I
>>> > > just found the fix reading those lines).
>>> > > If you use non-predefined font sizes (not just fractional, `50pt` gives
>>> > > the same result), it seems that you have to setup the size.
>>> > > Your sample compiles fine, even with such an unorthodox approach such
>>> > > as:
>>> > > \definebodyfontenvironment[10.5pt]
>>> > > [script=\cldcontext{10.5*(7/12)}pt]
>>> > > \setupbodyfont[10.5pt]
>>> > > I hope it helps,
>>> > In mkii times there we limnitation son the amount of fonts so we snapped
>>> > sizes to 2 digits. In mkiv times that was less needed but still we snap
>>> > in order not to get excessive definitions due to 'interesting usa
>>> > cases'. In lmtx we scale differently but still one needs to be careful
>>> > esp as bodyfont environments are expected to behave consistently.
>>> > In principle we could discard some compatibility here but that is always
>>> > tricky and as such some work from Wolfgang and me that we currently
>>> > happily delay. Of course there are sentimental reasons for such a delay
>>> > too.
>>> An easy way to fix this problem is to limit the number of allowed keywords
>>> to small and big.
>>> %%%% patch for font-ini.mklx
>>> % macros=mkvi
>>> \unprotect
>>> \protected\def\font_basics_switchtobodyfont#specification%
>>> {\edef\m_font_step{\font_bodyfontvariable{#specification}}%
>>> \font_push_x_size % experiment
>>> \ifempty\m_font_step
>>> \font_helpers_set_font\zerocount{#specification}%
>>> - \else
>>> + \orelse\ifinset{#specification}{\v!small,\v!big}%
>>> \font_helpers_switch_bodyfont_step % so we have a fast [small] switch
>>> \fi
>>> \expand\everybodyfont
>>> \expand\everyswitchtobodyfont
>>> \expand\everyfont
>>> \expand\everyfontswitch
>>> \font_pop_x_size % experiment
>>> }
>>> \protect
>>> \starttext
>>> text
>>> \switchtobodyfont[script]
>>> text
>>> \switchtobodyfont[10.5pt]
>>> \switchtobodyfont[script]
>>> text
>>> \switchtobodyfont[small]
>>> text
>>> \stoptext
>>> %%%%
>> Wolfgang,
>> thanks, that does the trick in removing the error the 10.5pt/script
>> situation.
>> However, in my test it seems to ignore \switchtobodyfont[script] for the
>> default font size. Is this intended?
>> Perhaps getting an error message when asking for some undefined size like
>> this is the correct thing, and the only requirement is a bit of education
>> for users like me.
> AFAIK script (and scriptscript) isn't meant as a named size switch and only
> used in math mode.
And now that you point that out, it makes perfect sense. So I think (part
of, at least) the answer to my original question ("what should I learn") is
that while using \switchtobodyfont[script] may be expeditious in non-math
mode, it really isn't the right thing to do.
> \setupbodyfontenvironment[30pt][script=25pt,scriptscript=20pt]
> \setupbodyfont[30pt]
> \starttext
> \dm{a_{\text{b}_{\text{c}}}}
> \setupbodyfontenvironment[30pt][script=20pt,scriptscript=10pt]
> \dm{a_{\text{b}_{\text{c}}}}
> \stoptext
Thanks for the information and the example.
Jim
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : [email protected] /
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
___________________________________________________________________________________