[NTG-context] “bodyfont %s is defined (can better be done global)”

Wolfgang Schuster schuster.wolfgang at googlemail.com
Sun Jun 3 15:58:57 CEST 2012


Am 03.06.2012 um 12:01 schrieb Philipp Gesang:

> Hi Wolfgang!
> 
> ···<date: 2012-06-03, Sunday>···<from: Wolfgang Schuster>···
> 
>> Am 02.06.2012 um 20:13 schrieb Philipp Gesang:
>> 
>>> Dear listmates,
>>> 
>>> with \switchtobodyfont I get the interface message “fonts:14”
>>> from mult-mes.lua (“bodyfont %s is defined (can better be done
>>> global)”) which is kinda hard to grep for :( Example:
>>> 
>>> \definebodyfont[42pt][rm][default]
>>> \starttext
>>> \switchtobodyfont [42pt]
>>> \setupbodyfont [42pt]
>>> \stoptext
>>> 
>>> Which results in:
>>> 
>>> ········································································
>>> <... />
>>> fonts           > bodyfont 42pt is defined (can better be done global)
>>> fonts           > bodyfont 50.4pt is defined (can better be done global)
>>> fonts           > bodyfont 40.32pt is defined (can better be done global)
>>> <... />
>>> ········································································
>>> 
>>> (\setupbodyfont doesn’t cause it.) It seems harmless but (a) I
>>> have a conditional font change that may repeat hundreds of times
>>> over the course of a document and it clutters my terminal, and
>>> (b) it’s a warning after all, so everything is not as it is
>>> supposed to be.  What’s it telling me, and why?
>> 
>> 
>> Add \definebodyfontenvironment:
>> 
>> \definebodyfontenvironment[42pt]
>> \starttext
>> \setupbodyfont[42pt]
>> \stoptext
> 
> This is getting interesting now. I already do as you say, but a
> bit differently: I’m defining font sizes on the fly, however they
> are created from dimensions, so my macros actually expand to
> something like:
> 
> ········································································
> \definebodyfontenvironment[42.0pt] %% a dozen times
> \starttext
> \switchtobodyfont[42.0pt]          %% hundreds of times
> %\switchtobodyfont[42pt]           %% <- this works, though
> foo
> \stoptext
> ········································································
> 
> Which then results in this warning:
> ········································································
> fonts           > bodyfont 42.0pt is defined (can better be done global)
> ········································································
> 
> Although the size has been „defined“. My problem appears to be
> that I’m abusing dimensions as makeshift floats to calculate
> relative font sizes, interlinespace etc. via \dimexpr.

???

> Hadn’t thought about \switchtobodyfont expecting integers.


Don’t know what’s the problem but the message doesn’t appear
when you use for example 42.1pt.

Wolfgang


More information about the ntg-context mailing list