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

  • Something like \renewcommand\textsc[1]{\bgroup\petite#1\egroup}? – Steven B. Segletes Aug 14 '17 at 11:26
  • 2
    Why don't you add Letters=PetiteCaps to the SmallCapsFeatures directly? – Ulrike Fischer Aug 14 '17 at 11:30
  • @Ulrike Fischer, how do I do that? please? – AK16 Aug 14 '17 at 11:35
  • Check the documentation. – Ulrike Fischer Aug 14 '17 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 '17 at 8:43
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.

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.