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
___________________________________________________________________________________

Reply via email to