Am 09.06.2011 um 23:20 schrieb Philipp Gesang:
Hi all,
I’m struggling with the font used in metapost. The only way to actually change it appears to be enclosing the mp graphic in two statements of \setupbodyfont[…] -- which I need to avoid. In the following example, the background text should be typeset (drawn) as lm sans, whereas the main font should be left untouched (serif).
·································································
\startMPenvironment %[global] \switchtobodyfont[sans] %\setupbodyfont[sans] \stopMPenvironment
%\start\setupbodyfont[sans] \startuseMPgraphic{bg} verbatimtex \setupbodyfont[sans] etex ; draw btex I wanna get rid of those serifs! etex xysized (21cm, 5cm) withcolor blue ; \stopuseMPgraphic
\definelayer[bg][x=0,y=0,width=\paperwidth,height=\paperheight] \setlayer[bg]{% %\setupbodyfont[sans] \useMPgraphic{bg} } \setupbackgrounds[paper][background=bg] \setupbackgrounds[state=repeat] %\stop
\starttext \dorecurse{42}{I’d really like to keep my serifs! } \stoptext
·································································
Wrapping the mp code inside a group is fatal. \[start|stop]MPenvironment doesn’t seem to have an effect at all unless called with the “global” flag -- in which case it will change the main body font as well. Also, inside mp’s “[verbatim|b]tex ... etex” font switches refuse to work.
I’m really puzzled here, any hints? Thanks in advance
ConTeXt postpones fontloading till \starttext, as you won’t get any text for elements (e.g. layers) which are set before the font was loaded the typewriter font is used as fallback and this is what you get. Add “\setupbodyfont[modern]” before your layer settings and switch the style in the MP graphic with “… btex \ss I wanna get rid … etex …”. Wolfgang