\typescriptthree within the optional argument of \definefontsynonym
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. Best, Hossein
Mohammad Hossein Bateni mailto:bateni@gmail.com 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
awesome! that's perfect, Wolfgang! —MHB On Thu, Aug 4, 2016 at 9:43 AM, Wolfgang Schuster < schuster.wolfgang@gmail.com> wrote:
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
____________________________________________________________ _______________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/ listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ____________________________________________________________ _______________________
participants (2)
-
Mohammad Hossein Bateni
-
Wolfgang Schuster