# Set a particular font alternative in ConTeXt

I want to understand how to set up fonts in CoNTeXt using \definefontfamily. It works more or less, except that I do not understand how does ConTeXt find the fonts and how to specify their names. In the following example I want to use a totally different font for the slanted alternative:

\definefontfamily [mainface] [rm] [PT Serif] [sl=file:PonomarUnicode]
\definefontfamily [mainface] [ss] [PT Sans]
\definefontfamily [mainface] [tt] [PT Mono]
\definefontfamily [mainface] [mm] [TeX Gyre Pagella Math]

\setupbodyfont[mainface]

\mainlanguage[russian]

\starttext
Немного {\em русского} текста для пробы.

And some English too, with a formula:
\startformula
\frac{dU_i}{dt} = \int_0^\infty e^{-tx^2} \, dx.
\stopformula

\stoptext


I have all the fonts installed system-wide in /Library/Fonts, PT fonts come with OS X (and I believe many linux distros). TeX Gyre and Ponomar Unicode were installed from the MacTeX as otf's. Ponomar Unicode can be found in /Library/TeX/Root/texmf-dist/fonts/opentype/public/fonts-churchslavonic.

When I compile the document above, it gets all the fonts, except for Ponomar Unicode:

If everything was right, the word "русского" should have been emphasised like:

Apparently, I got "file:PonomarUnicode" part wrong. So the question is how to get it to work and how ConTeXt actually resolves font references in \definefontfamily to the font files?

• Your ConTeXt installation might be broken. For me your example works just fine with TL 2016. Maybe you don’t even have the font. You can download it from CTAN and place it in the same directory as the document for a test. – Henri Menke Jan 11 '17 at 11:39

I am not sure, what was the problem and what exactly solved it. I reinstalled Standalone ConTeXt, and this time I also ran . /Users/myname/context/tex/setuptex, as was suggested at the end of the install. Probably it was also important that all the fonts were already installed before the ContTeXt installation.

Anyway, as for the question of how to refer to the fonts in your document, one can check the list of the fonts available to ConTeXt with mtxrun command:

\$ mtxrun --script fonts --list --all --pattern=* | grep Ponomar
ponomarunicode                               ponomarunicode                             /Library/Fonts/PonomarUnicode.otf
ponomarunicodenormal                         ponomarunicode                             /Library/Fonts/PonomarUnicode.otf
ponomarunicoderegular                        ponomarunicode                             /Library/Fonts/PonomarUnicode.otf


Also, be sure to check another answer on the topic.

Update. I installed Neo Euler and it was the same story, I could not use it, even after mtxrun --script fonts --reload. I again reinstalled ConTeXt and it worked.

• Try mtxrun --script fonts --reload --force. – Aditya Jan 13 '17 at 23:35