<html><head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head><body bgcolor="#FFFFFF" text="#000000">
<blockquote style="border: 0px none;" 
cite="mid:CAMHZ1dY+DFcM_q=xqJxwNKDF__6cbK+B9rQb+kpLm3kr83W2tQ@mail.gmail.com"
 type="cite">
  <div style="margin:30px 25px 10px 25px;" class="__pbConvHr"><div 
style="width:100%;border-top:1px solid #EDEEF0;padding-top:5px">   <div 
style="display:inline-block;white-space:nowrap;vertical-align:middle;width:49%;">
        <a moz-do-not-send="true" href="mailto:bateni@gmail.com" 
style="color:#737F92 
!important;padding-right:6px;font-weight:bold;text-decoration:none 
!important;">Mohammad Hossein Bateni</a></div>   <div 
style="display:inline-block;white-space:nowrap;vertical-align:middle;width:48%;text-align:
 right;">     <font color="#9FA2A5"><span style="padding-left:6px">4. 
August 2016 um 15:24</span></font></div>    </div></div>
  <div style="color:#888888;margin-left:24px;margin-right:24px;" 
__pbrmquotes="true" class="__pbConvBody"><div dir="ltr">Hello Hans,<div><br></div><div>Suppose
 you have a typescript as follows.</div><div><br></div><div>\starttypescript
 [first] [MyFont] [GoodieOne,GoodieTwo]</div><div>  \definefontsynonym 
[Serif] [\typescripttwo] [goodies=\typescriptthree]</div><div>\stoptypescript</div><div><br></div><div>Using
 macros \typescriptX (for X=one, two, and three) works in the first and 
second arguments in \definefontsynonym but not in the optional 
argument.  This seems to be because the optional argument is not 
expanded.  Is this a bug or a feature?</div><div><br></div><div>What I 
want to do was have a set of "fixes" (correcting kern issues, etc.) for a
 collection of fonts.  I can either put these in separate goodie files 
or feature sets (the latter being what I was trying but not in the 
sample above), and write generic typescripts that would load any of the 
fonts with its associated fixes.</div><div><br></div><div>While I can 
use sans/serif/mono in the first argument, and name of the font in the 
second argument (to be mapped appropriately using \typescriptprefix to 
nmemonic name and real font name), the third (optional) argument of 
\definefontsynonym does not expand immediately, hence I'll end up with 
"undefined" \typescriptthree when it will be used.</div></div></div>
</blockquote>
You can try to expand the value of \typescripthree with<br>
<br>
\starttypescript[...][...][...]<br>
    \expanded{\definefontsynonym[...][...][goodies=\typescriptthree]}<br>
    \expanded{\definefontsynonym[...][...][goodies=\typescriptthree]}<br>
\stoptypescript<br>
<br>
or<br>
<br>
\starttypescript[...][...][...]<br>
    \startexpanded<br>
        \definefontsynonym[...][...][goodies=\typescriptthree]<br>
        \definefontsynonym[...][...][goodies=\typescriptthree]<br>
    \stopexpanded<br>
\stoptypescript<br>
<br>
Wolfgang<br>
</body></html>