Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I am using XeLaTeX with Adobe Caslon Pro, and I would like to have oldstyle numbers. But when I use the option Numbers=OldStyle in fontspec, my dollar sign changes from a full-height S with two lines through it to a tiny s with only one line through it. How can I get oldstyle numerals without changing the dollar sign?

I tried a number of options for ligatures in the fontspec command, however the actual ligatures they introduce are not pleasant.

Minimal Example (compiled with XeLaTeX):

\documentclass{article}
\usepackage{fontspec}

\setmainfont[
Mapping=tex-text,
%Numbers={OldStyle}
]{Adobe Caslon Pro}

\title{Title}
\author{Author}
\date{}

\begin{document}
\maketitle

\$100

\end{document}
share|improve this question
    
Please post an MWE (minimum working example) showing us what you've done so far. This'll greatly help in diagnosing the problem and coming up with a solution. –  Mico Mar 13 '13 at 1:22
1  
MWE added per your request. –  Hesam Mar 13 '13 at 1:51
    
Thanks for adding the MWE. I've taken the liberty of editing the title of your posting since the question isn't really about ligatures –  Mico Mar 13 '13 at 2:55
    
what you're trying to do is an anachronism. There's a reason why the $ sign changes from one to two strokes when you switch from text figures to lining figures. Lining figures became popular around 1800, replacing text figures almost entirely for a century. It was at the same time that (conincidentally) the two-stroke version became fashionable. That's why text figures were rarely seen accompanied by a two-stroke dollar sign, and vice versa. Until recently -- when people got the technical means (and the presumptuousness) to do whatever they like, no matter how awkward it might look ;) –  Nils L Mar 17 '13 at 10:04

1 Answer 1

up vote 3 down vote accepted

I'm not sure I recommend doing what you are doing. Since the dollar sign is usually used with numbers, the font designer has decided to use a sign that matches the oldstyle numerals, which is why you get the small dollar sign. But if you really want to do this you can create a new font family for the large dollar sign and then redefine \$ to use this version:

\documentclass{article}
\usepackage{fontspec}

\setmainfont[
Mapping=tex-text,
Numbers={OldStyle}
]{Adobe Caslon Pro}
\newfontfamily\dollar{Adobe Caslon Pro}
\let\olddollar\$
\renewcommand{\$}{{\dollar\olddollar}}

\begin{document}

\$100

\end{document}

Alternatively, if you want to use both versions, you should not redefine \$ but create a new command \bigdollar and use that for the large dollar sign.

output of code

share|improve this answer
2  
One could also specify \renewcommand{\$}{{\dollar\char"0024}}, obviating the need to execute \let\olddollar\$. (Position 24 for the "standard" $ symbol is pretty much the norm for most fonts.) –  Mico Mar 13 '13 at 2:46

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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