> Mohammad Hossein Bateni > 4. August 2016 um 15:24 > Hello Hans, > > Suppose you have a typescript as follows. > > \starttypescript [first] [MyFont] [GoodieOne,GoodieTwo] > \definefontsynonym [Serif] [\typescripttwo] [goodies=\typescriptthree] > \stoptypescript > > 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? > > 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. > > 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. You can try to expand the value of \typescripthree with \starttypescript[...][...][...] \expanded{\definefontsynonym[...][...][goodies=\typescriptthree]} \expanded{\definefontsynonym[...][...][goodies=\typescriptthree]} \stoptypescript or \starttypescript[...][...][...] \startexpanded \definefontsynonym[...][...][goodies=\typescriptthree] \definefontsynonym[...][...][goodies=\typescriptthree] \stopexpanded \stoptypescript Wolfgang