Meer, Hans van der <mailto:h.vanderm...@uva.nl>
14. Mai 2016 um 21:13
I think I did not state the problem clear enough.
The solution given here supposes that the fontsize is known beforehand.
However, what I am doing is calculating a font size based on the
current one and than switch to that size.
It is part of a fontsize changing mechanism inside an xmlsetup. In
short what I am doing is:
\scratchdimen=\the\dimexpr\bodyfontsize\relax
\advance\scratchdimen 'somevalue' \relax
%\definebodyfontenvironment[\the\scratchdimen]
\begingroup
% must keep the change local
\switchtobodyfont[\the\scratchdimen]
...
\endgroup
The commented out \definebodyfontenvironment kills a lot of the font
messages but I fear that each the time the same work is done as
without it. The only benefit being the suppression of the font
messages in the log ;-)
It might be impossible to accomplish this efficiently -- that is
execute the font calculations once only for the given size. But at
least I would like to give it a try.
You can save time with the \definebodyfontenvironment command.
In the following example context has to create a new bodyfont
environment for each iteration (because the values are local
to the group) to calculate the a, b, c etc. sizes which takes time
but in the same loop context only has to load the predefined size.
\starttext
\testfeatureonce{1000}
{\begingroup
\switchtobodyfont[18pt]
\endgroup}
\definebodyfontenvironment[18pt]
\testfeatureonce{1000}
{\begingroup
\switchtobodyfont[18pt]
\endgroup}
\stoptext
Wolfgang
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
archive : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________