Better Standard Fonts in LaTeX

Times and Helvetica are two the standard PostScript fonts, and required by many formatting and style guides. Since official versions of these fonts are expensive and not freely distributable, GhostScript (the standard PostScript interpreter on Linux) and LaTeX installations typically include clones of them from URW (Nimbus Roman No9 and Nimbus Sans). Unfortunately, the URW fonts are Type-1 fonts that do not have good hinting for on-screen display, resulting in misaligned text.

Modern TeX distributions also include updated remakes in OpenType format - the TeX Gyre family of typefaces. TeX Gyre Termes and TeX Gyre Heros replace Times and Helvetica, respectively. These fonts seem to render better on-screen, so I want to use them in my documents. There is also a companion math font for TeX Gyre Termes; its Greek letters are a bit on the ugly side, but it gets the job done and flows nicely with Termes (or other Times fonts).

XeTeX and LuaTeX both have the ability to use OpenType and TrueType fonts, in addition to the Postfix and Metafont fonts used by other TeX engines. To use TeX Gyre’s Times and Helvetica, put the following in your preamble:

% import font loading packages
\usepackage{fontspec}
\usepackage{unicode-math}

% set up Termes (Times) and its companion math font
\setmainfont[Ligatures=TeX,
Extension=.otf,
BoldFont=*-bold,
UprightFont=*-regular,
ItalicFont=*-italic,
BoldItalicFont=*-bolditalic,
SmallCapsFeatures={Letters=SmallCaps}]{texgyretermes}
\setmathfont[Ligatures=TeX]{texgyretermes-math.otf}

% set up Heros (Helvetica)
\setsansfont[Ligatures=TeX,
Extension=.otf,
BoldFont=*-bold,
UprightFont=*-regular,
ItalicFont=*-italic,
BoldItalicFont=*-bolditalic,
SmallCapsFeatures={Letters=SmallCaps}]{texgyreheros}