2

my first post here. I need your help.

When I use LaTeX (pdfLaTeX), without problems or errors, I can load \usepackage{OldStandard}. So, I can use smallcaps. Now when I use ConTeXt (LuaTeX) and type \definefontfamily [mainface] [serif] [OldStandard] I can't use smallcaps anymore. I feel that ConText loads the "old" OldStandard package, the original one, the original one, ie the one that did not have smallcaps and therefore does not load the one that has small caps

How can I tell ConTeXt: use the new 'package'?

Thank you

MWE LaTeX

\documentclass[11pt, twoside, openright]{book}
 \usepackage[utf8]{inputenc}
  \usepackage[T1]{fontenc}
   \usepackage{OldStandard}
    \begin{document}
     \textsc{Small Caps} Normal Text
      \end{document}
    

MWE LaTeX SC Working

MWE ConTeXt

\definepapersize[book][width=165mm, height=250mm]
 \setuppapersize[book]
  \definefontfamily[mainface][serif][OldStandard]
   \setupbodyfont[mainface, 10pt]
   \starttext
   {\sc Small Caps} Normal Text  
   \stoptext

MWE ConTeXt SC not working

2
  • 1
    It helps to provide a comparison between the expected output you have in LaTeX and the non-working output in ConTeXt (a MWE and screenshots, if possible).
    – user226564
    May 20, 2021 at 13:57
  • Possibly related: OldStandard.otf implements smallcaps replacement as a 'required feature' with the RQD tag, whereas other fonts that do work with your MWE (for example Linux Libertine O) use a 'standard' OpenType feature for this. Maybe ConTeXt does not like that, nine years ago there was an issue with RQD (see tex.stackexchange.com/questions/45508/babel-in-contextluatex) but I have no idea if that is still relevant.
    – Marijn
    May 20, 2021 at 15:47

2 Answers 2

0

Try this solution:

\definepapersize[book][width=165mm, height=250mm]
\setuppapersize[book]
\definefontfamily[mainface][serif][sc={Old Standard Small}, force=yes]
\setupbodyfont[mainface,10pt]
   
   \starttext
   {\sc Small Caps} Normal Text  
   \stoptext
1
  • 1
    This does not work - it generates small caps but the font is Latin Modern and not Old Standard.
    – Marijn
    May 20, 2021 at 18:14
2

You need to set script=latn. Interestingly, this enables small caps not only for Latin, but also for Greek.

\definefontfeature[f:latn][default][script=latn]
\definefontfamily[mainface][serif][OldStandard][features=f:latn]
\setupbodyfont[mainface, 10pt]
\starttext 
{\sc Small Caps} Normal Text  
\stoptext

enter image description here

Your Answer

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