# ConTeXt: How to do bold small caps?

The title pretty much tells it: How to do bold small caps in conTeXt?

According to the wiki this should work:

\starttext
\setff{smallcaps} Normal and \bf bold Small Caps.
\stoptext


But for me it doesn't. \setff seems to have no effect.

I found a note in the reference manual on page 127:

At the moment, smallcaps and oldstyle only work in XƎTEX (in MkIV, it would need an extra mode=node pair).

But then, redefining the smallcaps feature with

\definefontfeature
[smallcaps]
[script=latn,language=dflt,liga=yes,kern=yes,tlig=yes,trep=yes,mode=node]


doesn't work either.

• @PhelypeOleinik I believe he already posted a M(non-)WE. – Manuel Mar 7 '18 at 15:49
• Use a font that provides bold small caps. Please do not fake-bold the small caps, that looks just horrible. – Henri Menke Mar 7 '18 at 20:00

You can print an outline on top of the characters to simulate boldface. It looks a bit better with a small amount of stretch, although in both cases the end result is not very satisfactory. With the stretch you have to adjust spacing manually. See http://www.pragma-ade.nl/general/magazines/mag-0006-mkiv.pdf (section Font effects) for more options and examples.

MWE:

\starttext
\sc Normal and \starteffect[both]bold Small Caps\stopeffect.

\setupeffect[both][stretch=1]
\setupalign[right]
\definehspace[large][1.3 em]
\sc Normal and \starteffect[both]bold Small Caps\stopeffect \hspace[large] and other text.
\stoptext


Result:

Using the Gauge font, here's one possible way:

\starttypescript [serif] [body]
\definefontsynonym [Serif]       [name:times] [features=default]
\stoptypescript

\definefontsynonym [SansCaps]      [name:gaugenormal] [features=default]
\definefontsynonym [SansCapsBold]  [name:gaugebold]   [features=default]
\stoptypescript

\definetypeface[impact] [rm] [serif] [body]   [default]

%\usetypescript[impact]
\setupbodyfont[impact]

\definefont[FontChapter][SansCapsBold sa \FontSizeChapter]
\definefont[FontSection][SansCaps sa \FontSizeSection]

\def\FontSizeChapter{4.75}
\def\FontSizeSection{1.25}

\def\BookChapterTitle#1{\FontChapter{#1}}

deeptextcommand=\BookChapterTitle,
number=no,
]

style=\FontSection,
number=no,
]

\starttext
\startchapter[title=Chapter Title]
\input ward
\stopchapter

\startsection[title=Section Title]
\input knuth
\stopsection
\stoptext


Produces:

Note that setff is deprecated. See also: