Steps to reproduce the problem:
1. When using the demo application - https://mozilla.github.io/pdf.js/web/viewer.html, load  the document 5311693-1.pdf

[5311693-1.pdf](https://github.com/mozilla/pdf.js/files/5137225/5311693-1.pdf)

2. go to Page 16 of the document.

3.  The strip of  EKG data  appears to have an incorrect line width   under the  Multi-color heat rate chart.

4.  When the same document is generated by pdffactory ,  the artifact are not visible.

What is the expected behavior? (add screenshot)
![expected](https://user-images.githubusercontent.com/3577617/91461157-4622cb80-e84e-11ea-8e5d-750c7b4e64ae.PNG)

What went wrong? (add screenshot)
The EKG line strip  has an incorrect thickness.  the x-transform seems to stretch the line thickness.  See the  stri in the RED rectagngle of the attached behavior versus the GREEN rectangle

Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):
 https://mozilla.github.io/pdf.js/web/viewer.html
const isPatternFill = this.current.patternFill;
      const glyph = this.processingType3;
      if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {
        if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {
          glyph.compiled = compileType3Glyph({ data: img.data, width, height });
        } else {
          glyph.compiled = null;
        }
      }
      if (glyph?.compiled) {
        glyph.compiled(ctx);
        return;
      }
      const maskCanvas = this.cachedCanvases.getCanvas(
        "maskCanvas",
        width,
        height
      );
      const maskCtx = maskCanvas.context;
      maskCtx.save();
      putBinaryImageMask(maskCtx, img);
      maskCtx.globalCompositeOperation = "source-in";
      maskCtx.fillStyle = isPatternFill
        ? fillColor.getPattern(maskCtx, this)
        : fillColor;
      maskCtx.fillRect(0, 0, width, height);
      maskCtx.restore();
      this.paintInlineImageXObject(maskCanvas.canvas);
    },
    paintImageMaskXObjectRepeat(