# Adobe Caslon Pro, XeLaTeX, fontspec - how to change the “dollar” symbol that's used with oldstyle numbers

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}

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

\begin{document}
\maketitle

\$100 \end{document}  - 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 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

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

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. - 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