[Tex/LaTex] Problem with XeTeX (LaTeX) and system fonts

fonts

I have started to use an enterprise specific class for LaTeX, but have got a problem with usage system fonts in Ubuntu. The class uses the fontspec package, I have therefore been instructed to use XeTeX (i.e. the command xelatex instead of latex or pdflatex). However, the command xelatex testfile.tex results in the following message:

! Package xkeyval Error: `TeX' undefined in families `Ligatures'.

See the xkeyval package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.61 \newfontfamily\headfont{Arial}

? 

The class has previously been used on Mac and Windows and the font setup is as follows:

\newfontfamily\headfont{Arial}
\newcommand\texthead[1]{\headfont #1}
\setromanfont{Georgia}
\setmainfont{Georgia}
\setsansfont[Scale=MatchLowercase]{Verdana}

It has been suggested that since XeTeX makes use of system fonts and the class file has worked flawlessly on Mac and Windows, the problem might be that Arial is not a name used in Ubuntu. I have tried to exchange Arial with Ubuntu Light in the setup code above, but that have not been any improvement.

Any suggestions please on how to move forward?

UPDATE

Due to the comment from Joseph Wright, I started investigate the class file in more detail. I managed to get the command xelatex quickstart.tex to result in a PDF-file after having commented the line

\defaultfontfeatures{Ligatures=TeX,Mapping=tex-text}

and having replaced Helvetica with Arial in the following line

\newfontfamily\enterprisetitlefont{Helvetica}

(The parameter enterprisetitlefont is used in a re-definition of the maketitle command.)

After having seen the comment by egreg, I removed Ligatures=TeX from the defaultfonfeatures line and it worked fine.

I am using the latest TeX Live distribution available in the Ubuntu Software Center and the version is called "texlive 2009-15".

New questions:

  • Has Ligatures=TeX replaced Mapping=tex-text in the very latest TeX distribution?
  • Is there a better way to modify the original defaultfonfeatures line instead of simply removing Ligatures=TeX?
  • How to get the newfontfamily command to work with Helvetica instead of Arial? What should be added to the class file?

Best Answer

The oldest fontspec.sty I have on my machine is dated 2011-02-26 (part of TeX Live 2010) and it already allows Ligatures=TeX as a better substitute of Mapping=tex-text (actually the two options do the same thing with XeLaTeX; the former was added for making fontspec compatible with LuaLaTeX).

Note that \setromanfont and \setmainfont are synonyms (the former is deprecated).

You can only use fonts you have available on your system, so if you don't own Arial on your machine, you're out of luck and can only try with a substitute or install Arial yourself.

But first of all you should think to upgrade your TeX Live: there have been many advances and bug fixes in XeTeX and the related packages. Look at the TeX Live installation page.

Note: I'm making this answer CW, feel free to add suggestions on how to proceed for installing Arial