[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 

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 
already being defined

> 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:


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

                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
      tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
                                              | www.pragma-pod.nl

More information about the dev-context mailing list