# How do I fix a Corrupted NFSS tables

I'm getting this error. From poking around I think it might be due to a missing language file, but I don't know how to find out which.

LaTeX Font Warning: Font shape TS1/aett/m/n' undefined
(Font)              for symbol textquotesingle' on input line 55.

("C:\Program Files (x86)\MiKTeX 2.8\tex\latex\base\ts1cmr.fd")
! Corrupted NFSS tables.
wrong@fontshape ...message {Corrupted NFSS tables}
error@fontshape else let f...
l.56 ...oxbacktick=\hbox{\begin{normalsize}\verb.
.\end{normalsize}}%

-
You seem to be using the ae package. Don't: it's obsolete. Install the CM-Super fonts or say \usepackage{lmodern}. –  egreg Nov 15 '11 at 6:42
Try and show a minimal example reproducing the error. –  egreg Nov 15 '11 at 8:26

A corrupt NFSS table means that some package has incorrectly set up fonts: the standard LaTeX set up has all of the tables working. Properly fixing this type of issue is a job for whoever creates the font package. However, for you as a user it's a question of isolating the problematic package, using the usual approach of trying one package at a time until the culprit is identified. You can then report the issue, if the package is maintained.

-

I ran into a similar problem and can confirm that \usepackage{lmodern} solved it.

In my case I tracked the unexpected behavior to the way Sweave changes the behavior of siunitx inside math delimiters, like so:

This is a file called temp.Rnw which has Sweave.sty (available here) in the same directory.

\documentclass{minimal}
%
%\usepackage{Sweave}
%\usepackage{lmodern}
\usepackage{siunitx} % SI units
%
\begin{document}
%
'siunitx' makes writing \SI{1}{\ul} easy!

But if you're in math mode it's harder: $\SI{1}{\ul}$
%
\end{document}


I run LaTeX on this and get something like:

Now if I uncomment the \usepackage{Sweave} and LaTeX again I exit abnormally with

wrong@fontshape ...message {Corrupted NFSS tables}
error@fontshape else let f...
l.11 ...'re in math mode it's harder: $\SI{1}{\ul}$

LaTeX Font Warning: Font shape TS1/aer/m/n' undefined
(Font)          for symbol c__siunitx_mu_tl' on input line 11.

Now uncommenting the \usepackage{lmodern}` and everything works as before.