This is a regression from #12864. The underscore is now too thin when the document is zoomed in.

URL: https://github.com/mozilla/pdf.js/files/2321540/issue6127.pdf
PDF.js 2.7.526: https://i.imgur.com/T4mIpct.png
PDF.js 2.7.510: https://i.imgur.com/nbwEpGT.png
Adobe Acrobat Reader DC 2020.013.20074: https://i.imgur.com/wDFBf3R.png

The screenshots were taken at 400% zoom.
if (isNum(glyph)) {
        x += (spacingDir * glyph * fontSize) / 1000;
        continue;
      }
      let restoreNeeded = false;
      const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
      const character = glyph.fontChar;
      const accent = glyph.accent;
      let scaledX, scaledY;
      let width = glyph.width;
      if (vertical) {
        const vmetric = glyph.vmetric || defaultVMetrics;
        const vx =
          -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale;
        const vy = vmetric[2] * widthAdvanceScale;
        width = vmetric ? -vmetric[0] : width;
        scaledX = vx / fontSizeScale;
        scaledY = (x + vy) / fontSizeScale;
      } else {
        scaledX = x / fontSizeScale;
        scaledY = 0;
      }
      if (font.remeasure && width > 0) {
        
        
        
        const measuredWidth =
          ((ctx.measureText(character).width * 1000) / fontSize) *
          fontSizeScale;
        if (width < measuredWidth && this.isFontSubpixelAAEnabled) {