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.

Cheers.
                                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