ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* \definefont
@ 2000-11-02  1:02 Denis B. Roegel
  2000-11-02 10:15 ` \definefont Hans Hagen
  0 siblings, 1 reply; 2+ messages in thread
From: Denis B. Roegel @ 2000-11-02  1:02 UTC (permalink / raw)
  Cc: roegel

Another example of font problem is given below.
First, as in the previous examples, if I put `pos',
`ppl', or `pcr' in \setupbodyfont, the second run of pdfetex 
gets stuck. Second, how do I access \RotFont below?
\definefont[RotFont][RegularBold] doesn't make
it accessible since I run into an error.
Finally, this example (from the metafun manual
page 141, September 25 version) uses \vbox\bgroup...\egroup.
Why not \vbox{...} which seems to work too?

Thanks,

Denis

\setupcolors[state=start]
\starttext

\startMPenvironment
%\setupbodyfont[loc,mt,ppl,pcr,10pt]
%\setupbodyfont[loc,mt,10pt]
\definefont[RotFont][RegularBold]
\stopMPenvironment

% doesn't work if \bfd is replaced by \RotFont

\def\processrotationtoken#1%
  {\appendtoks#1\to\MPtoks
   \setbox\MPbox=\hbox{\bfd\the\MPtoks}%
   \startMPdrawing
     n:=n+1;len[n]:=\the\wd\MPbox;
   \stopMPdrawing
   \startMPdrawing[1]
     pic[n]:=btex \bfd#1 etex;
   \stopMPdrawing}

\def\rotatetokens#1#2#3#4% delta extra radius tokens
  {\vbox\bgroup
   \MPtoks\emptytoks
   \resetMPdrawing
   \startMPdrawing
     picture pic[];
     numeric wid,len[],rot;
     numeric delta,extra,radius,n,r;
     len[0]:=n:=0;
     delta:=#1;extra:=#2;radius:=#3;
    \stopMPdrawing
    \handletokens#4\with\processrotationtoken
    \startMPdrawing
      r:=len[n]/Pi;
      for i=1 upto n:
        wid:=abs(xpart lrcorner pic[i]-xpart llcorner pic[i]);
        rot := extra+delta-((len[i]-.5wid)/len[n])*(180+2delta);
        draw pic[i]
          rotatedaround (origin,-270) shifted (-r-radius,
           ypart-.5[ulcorner pic[i],llcorner pic[i]])
          rotatedaround (origin,rot);
      endfor;
    \stopMPdrawing
    \MPdrawingdonetrue
    \getMPdrawing
    \resetMPdrawing
    \egroup} 

\startcombination[3*1]
  {\rotatetokens {0} {0}{0}{Does it work ok?}} {A}
  {\rotatetokens {20} {0}{0}{Does it work ok?}} {B}
  {\rotatetokens {20} {30}{0}{Does it work ok?}} {C}
\stopcombination

\stoptext


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: \definefont
  2000-11-02  1:02 \definefont Denis B. Roegel
@ 2000-11-02 10:15 ` Hans Hagen
  0 siblings, 0 replies; 2+ messages in thread
From: Hans Hagen @ 2000-11-02 10:15 UTC (permalink / raw)
  Cc: ntg-context, roegel

At 02:02 AM 11/2/00 +0100, Denis B. Roegel wrote:
>
>Another example of font problem is given below.
>First, as in the previous examples, if I put `pos',
>`ppl', or `pcr' in \setupbodyfont, the second run of pdfetex 
>gets stuck. Second, how do I access \RotFont below?
>\definefont[RotFont][RegularBold] doesn't make
>it accessible since I run into an error.
>Finally, this example (from the metafun manual
>page 141, September 25 version) uses \vbox\bgroup...\egroup.
>Why not \vbox{...} which seems to work too?
>
>Thanks,
>
>Denis
>
>\setupcolors[state=start]
>\starttext
>
>\startMPenvironment
>%\setupbodyfont[loc,mt,ppl,pcr,10pt]
>%\setupbodyfont[loc,mt,10pt]
>\definefont[RotFont][RegularBold]
>\stopMPenvironment
>
>% doesn't work if \bfd is replaced by \RotFont

That's because the MPenvironment is invisible for the rest of tex, so you
need to define that font also in your document pramble. 

\useMPlibrary[txt]

will load some of the code presented in the metafun manual, you may want to
take a look in that file.

Concerning \bgroup and \egroup: \bgroup={ and \egroup=} so these are
equivalents. You may even say: \vbox{bla\egroup. What alternative is use
depends on (1) is I open/close a box in different macros [impossible with
{}] or (2) on how I think the macro def looks best [which is quite
personal].  

Hans 
-------------------------------------------------------------------------
                                                  Hans Hagen | PRAGMA ADE
                      Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
 tel: +31 (0)38 477 53 69 | fax: +31 (0)38 477 53 74 | www.pragma-ade.com
-------------------------------------------------------------------------


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2000-11-02 10:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-11-02  1:02 \definefont Denis B. Roegel
2000-11-02 10:15 ` \definefont Hans Hagen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).