[Tex/LaTex] Still want to use “ptm” in XeLaTeX

fontsfontspecxetex

I'm using XeLaTeX typesetting Chinese fonts in my document. (So XeLaTeX is the only suitable way for me to do my stuff.) I want to use the LaTex original ptm font to typeset all English text.

I know there is a simple way to use Times-related fonts in XeLaTeX, like \setmainfont{Times New Roman}. But in this way, the ligature doesn't work, even if using:

\defaultfontfeatures{Ligatures=TeX}
\setmainfont{Times New Roman}

And anyhow, I still want to use the original ptm font, not Times New Roman. There're still some essential designing difference if one look closer at it. I prefer ptm. So how can I use ptm?

I'd found

\DeclareFixedFont{\PTMtext}{OT1}{ptm}{m}{n}{12pt}
\PTMtext{blah blah}

works, but only affects in a little region, i.e. cannot work in section title or math inline mode such like $a=0 \text{if needed}$, in which 'if needed' is still in lmr style. And \renewcommand{\rmdefault}{ptm} doesn't work too.

Best Answer

There's nothing more than a visual comparison, showing that ptm is exactly the same as what you get with TeX Gyre Termes.

\documentclass{article}
\usepackage{amsmath}

\usepackage{fontspec}

\setmainfont{TeX Gyre Termes}
\newfontfamily{\OTIMES}{Times New Roman}

\def\fn"#1/#2"{#1}%

\begin{document}

{\OTIMES abcdefghijklmnopqrstuvwxyzfifl \expandafter\fn\fontname\font}

abcdefghijklmnopqrstuvwxyzfifl \expandafter\fn\fontname\font

{\fontencoding{OT1}\fontfamily{ptm}\selectfont
abcdefghijklmnopqrstuvwxyzfifl \fontname\font}

{\OTIMES ABCDEFGHIJKLMNOPQRSTUVWXYZ \expandafter\fn\fontname\font}

ABCDEFGHIJKLMNOPQRSTUVWXYZ \expandafter\fn\fontname\font

{\fontencoding{OT1}\fontfamily{ptm}\selectfont
ABCDEFGHIJKLMNOPQRSTUVWXYZ \fontname\font}

\itshape

{\OTIMES abcdefghijklmnopqrstuvwxyzfifl \expandafter\fn\fontname\font}

abcdefghijklmnopqrstuvwxyzfifl \expandafter\fn\fontname\font

{\fontencoding{OT1}\fontfamily{ptm}\selectfont
abcdefghijklmnopqrstuvwxyzfifl \fontname\font}

{\OTIMES ABCDEFGHIJKLMNOPQRSTUVWXYZ \expandafter\fn\fontname\font}

ABCDEFGHIJKLMNOPQRSTUVWXYZ \expandafter\fn\fontname\font

{\fontencoding{OT1}\fontfamily{ptm}\selectfont
ABCDEFGHIJKLMNOPQRSTUVWXYZ \fontname\font}

\end{document}

enter image description here

As you can also see, also the italic font in TeX Gyre Termes matches ptm, although there are small differences in kerning.