# Re: [NTG-context] deprecated startMPenvironment


On 04 Apr 2016, at 00:12, Hans Hagen <pra...@wxs.nl<mailto:pra...@wxs.nl>>
wrote:

On 4/3/2016 4:07 PM, Meer, Hans van der wrote:
Previously I could do the following

\starttext
\startMPenvironment[+]\switchtobodyfont[small]\stopMPenvironment
\startMPpage
% metafont code
\stopMPpage
\stoptext
\endinput

This is called by context --run --once etc. producing the figure and in this
case modifying the font to a smaller size. Note, the context call occurs on the
fly inside a \directlua{{os.execute(..)}. You may find this complicated, but it
works for me and I would rather like not having to change may things all over
the place.

Now I learn from the ConTeXtgarden that startMPenvironment is deprecated and
that I should use defineMPinstance and setupMPinstance instead.
Thus I tried

\defineMPinstance[mp:local][metafun][setups=mp:smallfont,textcolor=red]
\startsetups mp:smallfont
\switchtobodyfont[small]
\stopsetups
\startMPpage  and also \startMPpage[mp:local]
% metafont code
\stopMPpage
\stoptext
\endinput

But nothing happens. How do I get the effect earlier obtained with
startMPenvironment without having to rely an a deprecated macro?

the bodyfont environment was needed because we had to communicate to the
external mp run what the intended settings were
in mkiv the run is internal so the mp text generator adapts to the current
settings and there is no need to pass anything

Indeed, I can see the effect of mp functioning inside mkiv. But there is still
something I do not understand.

I get small italic text doing this:

\startMPenvironment[+]
\switchtobodyfont[small]
\it
\stopMPenvironment

But italic only doing:

%\startMPenvironment[+]
\switchtobodyfont[small]
\it
%\stopMPenvironment

How is that possible?

Hans van der Meer


___________________________________________________________________________________
___________________________________________________________________________________