[`http://www.ei.ruhr-uni-bochum.de/media/crypto/veroeffentlichungen/2010/08/08/baileypaaroefjc.pdf`](http://www.ei.ruhr-uni-bochum.de/media/crypto/veroeffentlichungen/2010/08/08/baileypaaroefjc.pdf) is severely mis-rendered by the version of pdf.js bundled with Firefox 38.0.5:

![screen shot of misrendered PDF using pdf.js](https://cloud.githubusercontent.com/assets/325899/8235479/3876046e-15b0-11e5-97c0-ecbb5d9f8ee8.png)

You can see that practically every word has some blanks where letters should be.

Note that Adobe Reader (11.0.09) does a _better_ job of rendering but still has many missing characters, and throws up an error message about a font that it "cannot extract", so the PDF itself may be ill-formed (in which case pdf.js should give an error message too).

![screen shot of the same PDF with Adobe Reader 11.0.09](https://cloud.githubusercontent.com/assets/325899/8235615/da33e866-15b0-11e5-96a2-8b9f15c6f74d.png)

}
    const data = output.data;
    const dataOffset = this.offsets[key];
    const size = 5;
    for (let i = 0, ii = values.length; i < ii; ++i) {
      const offset0 = i * size + dataOffset;
      const offset1 = offset0 + 1;
      const offset2 = offset0 + 2;
      const offset3 = offset0 + 3;
      const offset4 = offset0 + 4;
      
      if (
        data[offset0] !== 0x1d ||
        data[offset1] !== 0 ||
        data[offset2] !== 0 ||
        data[offset3] !== 0 ||
        data[offset4] !== 0
      ) {
        throw new FormatError("writing to an offset that is not empty");
      }
      const value = values[i];
      data[offset0] = 0x1d;
      data[offset1] = (value >> 24) & 0xff;
      data[offset2] = (value >> 16) & 0xff;
      data[offset3] = (value >> 8) & 0xff;
      data[offset4] = value & 0xff;
    }
  }
}
class CFFCompiler {