2

I am using FF Hertz to typeset a document. FF Hertz has both small caps and petite caps of which the latter suits my work better.

How can I redefine \textsc to load petite caps instead of small caps?

\documentclass[oneside, 11pt, a4paper]{memoir}
\usepackage[english]{babel}
\usepackage{fontspec}

\setmainfont[Ligatures={Required,Common,Contextual,TeX},Numbers=OldStyle, 
ItalicFont={HertzPro-BookItalic}, BoldFont={HertzPro-Bold}]{HertzPro-Book}

\newfontfamily{\petite}[Letters=PetiteCaps]{HertzPro-Book}

\begin{document}

This is \textsc{small caps} and this is {\petite petite caps}

\end{document}

Output

5
  • Something like \renewcommand\textsc[1]{\bgroup\petite#1\egroup}? Aug 14, 2017 at 11:26
  • 2
    Why don't you add Letters=PetiteCaps to the SmallCapsFeatures directly? Aug 14, 2017 at 11:30
  • @Ulrike Fischer, how do I do that? please?
    – AK16
    Aug 14, 2017 at 11:35
  • Check the documentation. Aug 14, 2017 at 13:39
  • Have you tried providing the option SmallCapsFeatures={Letters=PetiteCaps} to the \setmainfont directive? (I can't try it out on my system since I don't have the "Hertz Pro" font family.)
    – Mico
    Aug 20, 2017 at 8:43

1 Answer 1

1

I would like to suggest you provide the option

SmallCapsFeatures={Letters=PetiteCaps}

to the \setmainfont directive:

\setmainfont[Ligatures={Required,Common,Contextual,TeX},
    Numbers=OldStyle, 
    ItalicFont={HertzPro-BookItalic}, 
    BoldFont={HertzPro-Bold},
    SmallCapsFeatures={Letters=PetiteCaps}
    ]{HertzPro-Book}   

The \newfontfamily{\petite}[Letters=PetiteCaps]{HertzPro-Book} directive won't be needed anymore.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .