# [dev-context] setupbodyfont

Hans Hagen pragma at wxs.nl
Tue Jun 9 11:33:45 CEST 2009

```Wolfgang Schuster wrote:
> Hi Hans,
>
> I run with my simplefonts module in two problems when I try to set the
> bodyfont,
> the regard math and fallback fonts and I was only to solve them by
> redefining
> of a few values.
>
>
> 1. I have to set the bodyfont at the same time when I set a individual
> font for
>    serif, sans or mono. This works fine for the the three text style but
> not when
>    I try to switch to a different math font, which is frozen with the first
>    \setupbodyfont command and can only be changed when I the main fontclass
>    (created with \registerfontclass in \definetypeface) and the style value
>    for rm (I need the 'rm' style to allow e.g. ss as document style).

typefaces are global in order to make them fast; so, multiple typefaces
should have a different namespace ; once the bodyfont is chosen, font
definitions take place and are remembered (per class); there is no way
to reset them unless we store the definitions (which slows down font
handling)

the fact that you can do it with math is actually a bug (i fixed that)
because there the mathsize (extra property) was not part of the check of

> 2. The fallback for the main style (i.e. \rmtf) is frozen too with
>    the first \setupbodyfont line in the document with can be only reset
>    when I undefine \newfontidentifier, a example for this is:

the same

> I would prefer something documented (e.g. \setupbodyfont[reload,...])
> which can
> be used to get the same effect as I did with my hacks because I like now
> my new
> font module, it's lot easier than direct method to set fallback fonts.

well, docu is easy:

\setupbodyfont[someclass]

starts freezing the (font file related) definitions related to someclass
and there is currently no way to reset that

normally a style will define several classes then and switching between
them is quite fast as only the namespace changes

-----------------------------------------------------------------