Link to PDF file (or attach file here):
[RP_25884_V2_UEL Semi Finals 2016-17_concepts.pdf](https://github.com/mozilla/pdf.js/files/994423/RP_25884_V2_UEL.Semi.Finals.2016-17_concepts.pdf)

Configuration:
- Web browser and its version: Chrome 58, Firefox 53
- Operating system and its version: MacOS 10.11.6
- PDF.js version:
- Is an extension: No

Steps to reproduce the problem:
1.  View the file the file


What is the expected behavior? (add screenshot)
<img width="560" alt="screen shot 2017-05-11 at 2 06 36 pm" src="https://cloud.githubusercontent.com/assets/2474027/25971992/189f4ebe-3653-11e7-8847-c9011984cb8d.png">

What went wrong? (add screenshot)
Textlayer exists here but font fails to render. No warning in the console from what I can see. Maybe related to the gradient?

<img width="637" alt="screen shot 2017-05-11 at 2 06 20 pm" src="https://cloud.githubusercontent.com/assets/2474027/25971997/1b518cc6-3653-11e7-96c0-9a03ffcb7d6e.png">

Thanks!
assert(typeof str === "string", "Invalid argument for stringToBytes");
  const length = str.length;
  const bytes = new Uint8Array(length);
  for (let i = 0; i < length; ++i) {
    bytes[i] = str.charCodeAt(i) & 0xff;
  }
  return bytes;
}
/**
 * Gets length of the array (Array, Uint8Array, or string) in bytes.
 * @param {Array<any>|Uint8Array|string} arr
 * @returns {number}
 */
function arrayByteLength(arr) {
  if (arr.length !== undefined) {
    return arr.length;
  }
  assert(arr.byteLength !== undefined, "arrayByteLength - invalid argument.");
  return arr.byteLength;
}
/**
 * Combines array items (arrays) into single Uint8Array object.
 * @param {Array<Array<any>|Uint8Array|string>} arr - the array of the arrays
 *   (Array, Uint8Array, or string).
 * @returns {Uint8Array}
 */
function arraysToBytes(arr) {