All, I couldn't resist spending some time today working on the Greek problem. I'm trying to write a proper module that would allow me to set up definitions for fonts and scaling. But I'm running into a problem that is beyond my meagre TeX abilities. I want to define the setup-command like so (using code that Taco send to the list a couple of months ago and that can be found on the wiki): \unprotect \def\setupgreek{\dodoubleempty\dosetupgreek} \def\dosetupgreek#1[#2]{% \getparameters[GG][Scale=,Font=,#2]%Font,Scale \edef\MyScale{\GGScale}% \expandafter\processaction\expandafter[\GGFont] [SomeFont1 =>\def\MyFont{somefont }, SomeFont2 =>\def\MyFont{someotherfont }] } \protect \definebodyfont[4pt,5pt,6pt,7pt,8pt,9pt,10pt,10.5pt,11pt,12pt,14pt,14.4p t,16pt,18pt,20pt,22pt][rm][Gf=\MyFont sa \MyScale] So I want this setup \setupgreek[Scale=1.5,Font=SomeFont1] to be expanded to somefont scaled at 1.5. However, when I process a file, I always get this error: ! Undefined control sequence. <argument> \MyFont sa \MyScale \parsefontspec #1->\xdef \somefontspec {#1 \space }\@EA \doparsefontspec \som... \xxdododefinefont ...tsize {#2}\parsefontspec {#4} \newfontidentifier \let \l... \fontstrategy ...ame #1\csname #2#3#4#5\endcsname \tryingfontfalse \fi <inserted text> ...yle \fontalternative \fontsize \fi \iftryingfont \fontstr... \synchronizefont ...strategy \the \fontstrategies \relax \fi \ifskipfontchar... ... When I add this line \def\MyFont{somefont } to the module, files compile without problems. So I conclude: the mistake is not in the definiton of MyFont itself, but my values are not getting processed the proper way; something in the \processaction part must be wrong. But I'm "stymied" here. Any suggestions would be most welcome! Best Thomas