0

I am using a font which provides small caps as an additional font file. The fonts are available for ConTeXt, I checked this with

$ mtxrun --script fonts --list --all | grep Concourse
concoursec3     concoursec3     /Users/flyx/Library/Fonts/Concourse C3 Regular.ttf
[...]
concourset3     concourset3     /Users/flyx/Library/Fonts/Concourse T3 Regular.ttf
[...]

The c3 font is the small caps font, while the t3 font is the regular one. I am loading the font like this:

\definefontfamily [mainface] [ss] [Concourse T3] [sc=file:concoursec3]
\setupbodyfont[mainface]

Now I am trying to use the small caps in text:

\starttext
  \ss This should be sans serif.

  \setff{smallcaps} This should use small caps.
\stoptext

While both lines are in sans serif, the second one is not in small caps. What am I doing wrong?

  • You need the \sc font switch to get small caps, the \setff command is used to enable a feature in the current font. – Wolfgang Schuster Sep 6 '17 at 12:01
  • @Metafox If I replace \setff with \sc, it still does not render small caps. – flyx Sep 6 '17 at 12:18
  • 1
    You have to set the full name for the small caps font, i.e. \definefontfamily[mainface][ss][Concourse T3][sc=file:concoursec3regular]. – Wolfgang Schuster Sep 6 '17 at 12:39
  • That did it, would you post it as answer? – flyx Sep 6 '17 at 12:50
4

When you set a different font by filename you have to use the complete name.

\definefontfamily [mainface] [ss] [Concourse T3] [sc=file:concoursec3regular]

Small caps are normally enabled with the \sc font switch, the \setff command can only be used when small capitals are a font feature where you can enable them for the current font.

\definefontfamily [mainface] [ss] [Concourse T3] [sc=file:concoursec3regular]

\setupbodyfont[mainface]

\starttext

This should be sans serif.

{\sc This should use small caps.}

\stoptext

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.