To answer the question why xelatex needs metrics: Every typesetting system needs them to decide where to put chars on the page, where to break a line, where to break a page. Without knowledge about width, height and depth of the chars (and some other information like kerning) typesetting it not possible.
The old engines like pdftex needed the metrics in external files (in tfms). This files had to be present at the start of the compilation. The new engines xetex and luatex are able to extract the metrics on-the-fly during the compilation from the original fonts. But naturally they must be able to find the font during compilation - and this can fail for various reasons (wrong font name, font cache not up-to-date, bugs, ...).
Without more exact informations from you (complete minimal example, exact wording of the error message, where is the font, log-file) it is difficult to say why it did fail for you.
Metric (TFM) file or installed font not found, this actually means that XeLaTeX/fontspeccouldn't find the.otf(or.ttf) file. It also means that you are using an old version offontspec, because the current version of has a much more helpful error message. – Caramdir Nov 3 '11 at 2:04! Undefined control sequence. \zf@set@font@type ...onttype \zf@basefont \zf@tfm \or \zf@atsuitrue \ifnum \... l.7 \setmainfont{OpenBaskerville}– Peterson Silva Nov 3 '11 at 2:07\setmainfont{OpenBaskerville.otf}. – Caramdir Nov 3 '11 at 2:08fontspecdon't find fonts in the document directory (at least the version that comes shipped with Ubuntu doesn't seem to be able to do that). So you might want to upgrade to a current TeX distribution version. – Caramdir Nov 3 '11 at 2:14