On Mar 13, 2010, at 5:09 PM, Michael Saunders wrote:
> 
> I don't understand the syntax of \starttypescript.  It doesn't appear
> in the manual.
> It occurs twice in the "typography" document.  In both cases the first 
> argument
> appears to be the name of the typescript.  In one example, there is only one
> argument, and in the other example, the second argument appears to be a list
> of encodings.  Since everything is now utf-8, I guess that could be forgotten.
> So, in your example here, I take "serif" to be the name of both typsecripts, 
> but
> I don't know what [garamondprem] is doing.

We're talking about mkiv here, so we don't need to worry about encodings (which 
is a confusing topic - utf8 is not a font encoding, but an input encoding; 
these two are not identical). A typescript file can contain a series of 
typeface definitions, e.g., one for serif, one for sans, one for mono, one for 
math, etc. hence the syntax \starttypescript [<typeface>] [<identifier>]

> It's never spelled out, but from looking at examples of
> \definefontsynonym [1][2] in the
> docs, I think it means something like "what we used to call 2 we can
> now call 1", i.e.,
> telling the machine to replace instances of "1" with "2".  If this is
> the case, your third
> arguments above just seem to apply your features to the fonts referred
> to, which makes sense.
> I don't see, though, why this has to be done twice, and with an extra
> layer of misdirection.
> E.g., instead of:
> \definefontsynonym [Garamond-Roman]          [name:garamondpremierpro]
> [features=myroman]
> \definefontsynonym [Serif]           [Garamond-Roman] [features=myroman]
> why not just:
> \definefontsynonym [Serif]          [name:garamondpremierpro]
> [features=myroman]?
> 
> I think the purpose of the above step is to connect identifiers like
> "Serif" to a qualified font file.
> 
You could indeed write typescripts without the extra layer of abstraction. It 
just may make it easier if you want to mix different fonts etc.

>> Finally, define your first typeface:
>> 
>> \starttypescript [GaramondPrem]
>> \definetypeface [GaramondPrem] [rm] [serif] [garamondprem] [default]
>> \stoptypescript
> 
> I think this is a typescript called GaramondPrem that contains a
> typeface called GaramondPrem.  It seems a little redundant that they
> have the same name.  

You can use two different names, if you prefer.

> I know that the typescripts are  referred to by
> \usetypescript, but I don't know where typefaces are referred to, so
> maybe it's  just a dummy argument.  

In the \usebodyfont or \switchtobodyfont commands.

> The "[rm]" seems to be what links
> this to the font switching command, and the "[garamondprem]" obviously
> refers to both the typescripts you defined above.  I don't  understand
> what the "[serif]" is doing.  In the typography manual, Hans says,
> "The third and fourth
> arguments to \definetypeface are pointers to already declared font
> sets; these are defined elsewhere."  I think by "font set" he must
> mean a typescript like garamondprem, but I don't know where  the font
> set (typescript?) "serif"

As I said: there's at least serif, sans, mono, math

> is or why two font sets need to be pointed
> to.  

???

> The same  typography document goes on to explain the fifth
> argument:
> "The fifth argument to \definetypeface specifies specific font size
> setups (if any), these will be covered in section ?? in the next
> chapter."
> This is getting scary, but I'm hoping putting "[optical]" there will
> solve everything.
> 
I don't follow.

> 
>> Next step: defining a typeface with superior numbers for footnote references 
>> etc.:
> 
>> \starttypescript [serif] [garamondpremupper]
>> \definefontsynonym [GaramondPremUpper-Roman]   [name:agaramondproregular]  
>> [features=mysup]
>> \stoptypescript
> 
>> \starttypescript [serif] [garamondpremupper]
>> \definefontsynonym [Serif]           [GaramondPremUpper-Roman]      
>> [features=mysup]
>> \definefontsynonym [SerifItalic]     [Serif]
>> \definefontsynonym [SerifBold]       [Serif]
>> \definefontsynonym [SerifBoldItalic] [Serif]
>> \definefontsynonym [SerifCaps]       [Serif]
>> \stoptypescript
> 
> I think I follow you, up to the line:
> \definefontsynonym [SerifItalic]     [Serif].
> These last lines seem to say that if you're in bold or italic, that
> you should still use
> regular superior figures, but the font has its own bold and italic
> superiors.  I think
> that's true of all the weight/shape/design size variations in the set.
> 

It depends what you want to achieve. I map everything onto Serif because I do 
not want the superior numbers to be bold or italic, even in an italic 
environment. Of course, you can define something for all these variants.

>> \starttypescript [GaramondPremUpper]
>>  \definetypeface [GaramondPremUpper] [rm] [serif] [garamondpremupper] 
>> [default]
>> \stoptypescript
> 
> I'm confused about how [GaramondPremUpper] and [garamondpremupper]
> seem to be getting associated with [rm] and [serif] after they were
> already associated with
> [GaramondPrem] and [garamondprem].  I don't see how, when I now use \rm, the
> machine is going to know whether I mean garamondpremupper or garamondprem.
> The rest of the file seems straightforward.
> 
In ConTeXt, you are always within a certain bodyfont (the one defined with the 
\definetypeface command). A switch like \it or \rm will thus take the 
italic/roman from this bodyfont. Meaning: when you say 
\setubodyfont[GaramondPrem], it will use "normal" Garamond Premier, if you use 
\switchtobodyfont[GaramondPremUpper], it will use the superior numbers variant.

>> OK so far?
> 
> Thank you---that brought me a lot closer to understanding!
> after saving your example and running luatools --generate,
> I put the last lines in my test document and tried running
> Context on it in the usual way.  I get the error:
> !undefined control sequence
> <recently read>  \usetypescript
> l.12 \usetypescript
>                         [GaramondPrem]
> 
> 
Then we will need your example - this is not normal behavior.

Thomas
___________________________________________________________________________________
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
___________________________________________________________________________________

Reply via email to