Taco, thanks so much! I really appreciate the wonderful ConTeXt community without whose help I would never have been able to even get started.

On Jan 23, 2005, at 10:33 AM, Taco Hoekwater wrote:
This, however, will not work:
\definefont[Gf][\MyFont sa \MyScale]
Both work for me. Unless I misunderstood what it is supposed to do.

\Gf is later used in the macros to define the Greek font. When defined with the \definebodyfont alternative, this works; when I try the \definefont, I get this error message:

! Undefined control sequence.
<argument> ...else \getvalue {MyFont} sa \MyScale
\@@@instring
\expanded ...\long \xdef \@@expanded {\noexpand #1
}\@@expanded
\p!doifinstringelse ...{\pp!doifinstringelse #2#1}
@@\war
\dodoifinstringelse ...tringelse \@@@instring {#1}
[EMAIL PROTECTED] \firstoftwoarguments ...


\dodefinefont ...2][#3]->\doifinstringelse { }{#2}
{\ifthirdargument \unexpa...
<to be read again>
\par
l.19


?

It looks like \MyFont doesn't get expanded when the \definefont command is read, but this is an area of TeX that I find especially opaque...
Rude, but effective:

  \define\koppa {{\Gf \char37}}

Yes, this works and is just what I want. Great!

Greetings, Taco

----------
\def\setupgreek#1[#2]{%
  \getparameters[GG][Scale=,Font=,#2]
  \edef\MyScale{\GGScale}%
  \processaction[\GGFont]
   [  SomeFont1=>\def\MyFont{cmbx10},
      SomeFont2=>\def\MyFont{cmtt10}]%
}
\setupgreek[Scale=5,Font=SomeFont1]

\definebodyfont[4pt,5pt,6pt,7pt,8pt,9pt,10pt,10.5pt,11pt,12pt,14pt,14.4 pt,16pt,18pt,20pt,22pt][rm][rm=\getvalue{MyFont} sa \MyScale]

\definefont[Gf][\getvalue{MyFont} sa \MyScale]

\starttext
Beo {\switchtobodyfont[20pt]Beolarge} Beo {\Gf Beolarge}
\stoptext

Thanks a lot, Taco!

Best

Thomas

_______________________________________________
ntg-context mailing list
[email protected]
http://www.ntg.nl/mailman/listinfo/ntg-context

Reply via email to