While working to get italic smallcaps in a secondary font face, I came across an issue with \switchbodyfont. When this is used in a certain way, the \tf font-style is changed, but not the \it, \bf, and so on.

The example below compiles cleanly as presented, and the problem is not present. Each test line shows the expected font name and text.

When the Oops! line is uncommented, the only test line for the test font that is correct is the \tf line. Other lines use the default font face in the specified font styles, but the font features are a mix (note that some are onum, some lining, and that long-s t ligatures are inconsistent).

When the newotf module is enabled, the example fails to compile without errors, but produces similar results to non-newotf when the errors are ignored.

This is not a problem with individual fonts—I have tried a variety of fonts both as default and secondary and get the same result.

   %\usemodule[newotf]
     \setupwhitespace[medium]
     \define\testAlphabet{\purefontname\font\quad
        ABCDEFGHIJKLmnopqrsſtuvwxyz \& 012345789}
     \starttypescript[Secondary]
   \definetypeface[Secondary][rm][serif][ebgaramond][default]
   % \definetypeface[Secondary][rm][serif][palatino][default]
   % \definetypeface[Secondary][rm][serif][libertine][default]
     \stoptypescript
     \setupbodyfont [modern, 10pt]
   %\setupbodyfont [palatino, 10pt]
     \starttext
   % {\switchtobodyfont[Secondary]Oops!\par}%          Oops!
      Default tf: {\tf \testAlphabet}\par
      Default bf: {\bf \testAlphabet}\par
      Default it: {\it \testAlphabet}\par
      Default sl: {\sl \testAlphabet}\par
      Default bi: {\bi \testAlphabet}\par
      Default bs: {\bs \testAlphabet}\par
      Default sc: {\sc \testAlphabet}\par
      Default xx: {\it\setff{smallcaps}\testAlphabet}\par
      \switchtobodyfont[Secondary]
      Secondary tf: {\tf \testAlphabet}\par
      Secondary bf: {\bf \testAlphabet}\par
      Secondary it: {\it \testAlphabet}\par
      Secondary sl: {\sl \testAlphabet}\par
      Secondary bi: {\bi \testAlphabet}\par
      Secondary bs: {\bs \testAlphabet}\par
      Secondary sc: {\sc \testAlphabet}\par
      Secondary xx: {\it\setff{smallcaps}\testAlphabet}\par
   \stoptext

Have I failed to properly specify the secondary typeface? Do I need a more complete typescript? Or is there a bug here?
--
Rik
___________________________________________________________________________________
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