Once bug 25566 is fixed to use the avgCharWidth in the OS/2 table, we should investigate how IE calculates this value for fonts that have a non-positive (invalid) avgCharWidth in the OS/2 table.
I currently see two options.
1. Take the arithmetic average from the hmtx table and see how close that gets us to IE's numbers.
2. Use the width of a '0' character as that matches Safari 3 behavior and the fonts with negative OS/2 avgCharWidth values seem to all be Mac fonts.