Attach (recommended) or Link to PDF file here: [RenderIssue.pdf](https://github.com/mozilla/pdf.js/files/7583657/RenderIssue.pdf)

Configuration:
- Web browser and its version: Chrome Version 96.0.4664.45 (Official Build) (64-bit)
- Operating system and its version: Windows 10 Version 10.0.19042

- PDF.js version: v2.12.201 (If this looks incorrect, please take it from the URL)
- Is a browser extension: No, using https://mozilla.github.io/pdf.js/web/viewer.html

Steps to reproduce the problem:
1. Visit https://mozilla.github.io/pdf.js/web/viewer.html
2. Drop the attached PDF on to the page - [RenderIssue.pdf](https://github.com/mozilla/pdf.js/files/7583657/RenderIssue.pdf)

What is the expected behavior? It should appear as in Adobe Reader - 
![image](https://user-images.githubusercontent.com/94864394/142921185-1ee7034b-1db9-4b6d-ae08-4a9cb4426d70.png)

What went wrong? Some text is blank - 
![image](https://user-images.githubusercontent.com/94864394/142921086-a5ad3ad7-caac-40d8-92d3-684d59aee1f5.png)

Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension): N/A

for (const id in this.cache) {
      const canvasEntry = this.cache[id];
      this.canvasFactory.destroy(canvasEntry);
      delete this.cache[id];
    }
  }
}
function compileType3Glyph(imgData) {
  const POINT_TO_PROCESS_LIMIT = 1000;
  const POINT_TYPES = new Uint8Array([
    0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0,
  ]);
  const width = imgData.width,
    height = imgData.height,
    width1 = width + 1;
  let i, ii, j, j0;
  const points = new Uint8Array(width1 * (height + 1));
  
  const lineSize = (width + 7) & ~7,
    data0 = imgData.data;
  const data = new Uint8Array(lineSize * height);
  let pos = 0;
  for (i = 0, ii = data0.length; i < ii; i++) {
    const elem = data0[i];
    let mask = 128;
    while (mask > 0) {
      data[pos++] = elem & mask ? 0 : 255;
      mask >>= 1;
    }
  }