Antoine Junod wrote:
Hello, List!
Follownig your recommendations while playing with fonts, I've started to write one. It's actually very basic but I already have a few questions. Here is the basic, working stuff I did until now:
\starttypescript[serif][garamondpp] \definefontsynonym [GaramondPP-Roman] [GaramondPremrPro] \definefontsynonym [GaramondPP-Bold] [GaramondPremrPro-Bd] \definefontsynonym [GaramondPP-Italic] [GaramondPremrPro-It] \definefontsynonym [GaramondPP-Bold-Italic][GaramondPremrPro-BdIt] \stoptypescript
If I've understood what I did in that part, I've simply defined alias for the font file names. What I do not catch is the \starttypescript line. Is it right to say that the second parameter is the name of the 'class' to which the definitions that follow are linked? Second question on that part: Is the first argument (serif) a reserved keyword or not? What's the point of that argument? Third and last question for that part, in the case, as in here, where the font file names are easy to remember, is it still needed to create that synonyms for any reason?
Then, I wrote the [name] part of the typescript, as the following:
\starttypescript[serif][garamondpp][name] \definefontsynonym [Serif] [GaramondPP-Roman] \definefontsynonym [SerifBold] [GaramondPP-Bold] \definefontsynonym [SerifItalic] [GaramondPP-Italic] \definefontsynonym [SerifSlanted] [SerifItalic] \definefontsynonym [SerifBoldItalic] [GaramondPP-Bold-Italic] \stoptypescript
If I caught the point of the last argument, it is here to indicate that what follows links font files to the pre-defined font concept that are Serif, SerifBold, SerifItalic and so on and so on). Here are my questions: I've seen in the sources that there were 7 predefined types in the Serif family: Serif, SerifBold, SerifItalic, SerifSlanted, SerifBoldItalic and SerifBoldSlanted. What if I have a font that not only have a Bold face but also a Medium face and a SemiBold face? Second question: my font do not have a slanted face and I do not want to have pieces of computer modern in the text because, by mistake, I typed an \sl switch or something related. To avoid that, you can see I declared SerifSlanted to be a synonym for SerifItalic. Is it the way to do that or is it better to directly define SerifSlanted as a synonym to GaramondPP-Italic (in my case)?
in principle you can use any name you want, however in practice typescripts are called in sequence, so at some point SerifBold is used to define a font and in order to resolve someplace else then also SerifBold has to be used the serif, mono, etc are all related to predefined prescripts (just grep for them) and defining a typeface (see type-ini.tex) just calls up certain typescripts; consider the arguments to starttypescript as a filer: \starttypescript[a][b][c] permits if not(a) and inset(a) and (not(b) or inset(b)) or (not(a) or inset(c) then ... instead of medium .. just define another combination ... see definitions of iwona cum suis and fonts in type-buy/ghz
And for the last part of my little type script:
\starttypescript [GaramondPP] \definetypeface [GaramondPP][rm][serif][garamondpp][default] \stoptypescript
That part is for me a beautiful piece of ununderstanding :) First question: the first argument is the name we will use with the \usetypescript command. Right? Second question: the first argument of
indeed
the \definetypescript is the name that will be used with the \setupbodyfont call. Is it right? Isn't there any conflict with the GaramondPP of the \starttypescript and the one of the \definetypeface?
no, they're independent
Or do they need to be the same? Other question: how are related the three following parameters (rm, serif and garamondpp)? And finally, what's the point of the 'default' argument?
rm: internal tex collections (rm, ss, tt, mm), also related to sizes serif: just a filter (refers to generic serif typescripts) default: also a filter, this time for size
I'm aware that's a huge load of questions. Nothing is urgent but every replies are welcome, and that will allow me to help others. More questions will certainly occurs later (certainly related to sizes) but at first I'll try to better understand all what is above.
so, most of typescripts deal with filtering and sequences of name resolving ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------