Pavneet Arora
9. Juni 2016 um 22:37
I'm still a bit at a loss on how one goes about correctly specifying the
variants in \definefontfamily using the default form given in the wiki.
Usually adding "* Light", etc. is sufficient (see commented line using
Junction font).

(As an aside, is it also possible to combine \sc\bf? I haven't been
able to figure that out).

My application is using the (free) Andada font family, and I need to
point the smallcaps style to the correct font

In the following MWE I tried the following without success:

1. [sc=* SC Regular]
2. [sc=Andada SC Regular]
3. [sc=* SC-Regular]
4. [sc=Andada SC-Regular]

All give the following (or similar) error to stdout:

...ext/tex/texmf-context/tex/context/base/mkiv/font-sel.lua:121: attempt to index local 'file' (a nil value)
stack traceback:
...ext/tex/texmf-context/tex/context/base/mkiv/font-sel.lua:121: in function 'selectfont_savefile'
...ext/tex/texmf-context/tex/context/base/mkiv/font-sel.lua:151: in function <...ext/tex/texmf-context/tex/context/base/mkiv/font-sel.lua:142>
...ext/tex/texmf-context/tex/context/base/mkiv/font-sel.lua:526: in function 'registerfiles'
...ext/tex/texmf-context/tex/context/base/mkiv/font-sel.lua:567: in function 'action1'
[string "local function scan1()..."]:55: in function <[string "local function scan1()..."]:42>

1 \definefontfamily[mainface][rm][Latin Modern]
2 >> \definefontfamily[mainface][rm][Andada][sc=Andada SC Regular]

I end up finally settling on the form using the explicit file:
[sc=file:AndadaSC-Regular.otf], which does work.

But I really would like to understand how the first form as given in the
wiki should be used properly? What patterns should I be looking for?
There was a bug in the code but I fixed it.