Am 17.11.2010 um 16:01 schrieb Taco Hoekwater:
Hans has the final answer on this, but I suspect that the second argument to \definetypeface has to be one of the six predefined font styles (or a \definefontstyle alias to those six). That limits the allowable set to:
[mm] [mm] [rm,roman,serif,regular] [rm] [ss,sansserif,sans,support] [ss] [tt,teletype,type,mono] [tt] [hw,handwritten] [hw] [cg,calligraphic] [cg]
the reason for that is that for each of those, there is possibly also a bold, italic, bolditalic etc. font.
Handwritten and calligraphic have no bold or italic styles, only regular.
Since your special fonts do not have such alternatives, the easier way is indeed
\definefont[keyboard][LinBiolinum_Kb-0.5.4 sa 1] \definefont[outline][fxbo sa 1] \definefont[shadow][fxbs sa 1]
the reason for using 'sa 1' in those definitions is that it will allow the fonts to scale with the current body font size.
You can write separate typefaces and switch between typefaces for outline and shadow styles but for many cases \definefont is enough. The keyboard can be written with the symbol mechanism because a new font switch \kb takes too much code: \definefontstyle [kb,keyboard] [kb] \starttypescript [keyboard] [default] [size] \definebodyfont [4pt,5pt,6pt,7pt,8pt,9pt,10pt,11pt,12pt,14.4pt,17.3pt] [kb] [default] \stoptypescript \definebodyfont [default] [kb] [tf=Keyboard sa 1] \starttypescript [keyboard] [libertine] \definefontsynonym [Keyboard] [file:fxbk.otf] [features=none] \stoptypescript \definetypeface [mainface] [rm] [serif] [libertine] [default] \definetypeface [mainface] [ss] [sans] [biolinum] [default] \definetypeface [mainface] [tt] [mono] [modern] [default] \definetypeface [mainface] [mm] [math] [modern] [default] \definetypeface [mainface] [kb] [keyboard] [libertine] [default] \setupbodyfont[mainface] \starttext \rm serif \ss sans \tt mono \kb keyboard \stoptext Wolfgang