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
next 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).