ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: "Denis B. Roegel" <Denis.Roegel@loria.fr>
Cc: roegel@lorraine.loria.fr
Subject: \definefont
Date: Thu, 2 Nov 2000 02:02:13 +0100 (MET)	[thread overview]
Message-ID: <200011020102.CAA03300@bar.loria.fr> (raw)

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


             reply	other threads:[~2000-11-02  1:02 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-11-02  1:02 Denis B. Roegel [this message]
2000-11-02 10:15 ` \definefont Hans Hagen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200011020102.CAA03300@bar.loria.fr \
    --to=denis.roegel@loria.fr \
    --cc=roegel@lorraine.loria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).