[`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 fdSelect = this.compileFDSelect(cff.fdSelect);
      output.add(fdSelect);
      
      
      compiled = this.compileTopDicts(cff.fdArray, output.length, true);
      topDictTracker.setEntryLocation("FDArray", [output.length], output);
      output.add(compiled.output);
      const fontDictTrackers = compiled.trackers;
      this.compilePrivateDicts(cff.fdArray, fontDictTrackers, output);
    }
    this.compilePrivateDicts([cff.topDict], [topDictTracker], output);
    
    
    output.add([0]);
    return output.data;
  }
  encodeNumber(value) {
    if (Number.isInteger(value)) {
      return this.encodeInteger(value);
    }
    return this.encodeFloat(value);
  }
  static get EncodeFloatRegExp() {
    return shadow(
      this,
      "EncodeFloatRegExp",
      /\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/
    );
  }
  encodeFloat(num) {