PDF files:
[1.pdf](https://github.com/mozilla/pdf.js/files/2955999/1.pdf)
[2.pdf](https://github.com/mozilla/pdf.js/files/2956000/2.pdf)
[3.pdf](https://github.com/mozilla/pdf.js/files/2956002/3.pdf)

Configuration:
- Web browser and its version: Chrome, Firefox
- Operating system and its version: Ubuntu, macOS
- PDF.js version: 2.2.42, but the same was with 2.1.x, and with https://mozilla.github.io/pdf.js/web/viewer.html
- Is a browser extension: no

Steps to reproduce the problem:
1. Select text
2. Copy text

What went wrong?

Getting this:
`OpenSansisahumanistsansseriftypefacedesignedbySteveMatteson.OpenSanswasdesignedwithanuprightstress,openformsandaneu-tral,yetfriendlyappearance.Itwasoptimizedforprint,web,andmobileinterfaces,andhasexcellentlegibilitycharacteristicsinitsletterforms(seefigureonthefollowingpage).ThisfontisavailablefromtheGoogleFontDirectory[]asTrueTypefileslicensedundertheApacheLicenseversion..`

Instead of this:
`Open Sans is a humanist sans serif typeface designed by Steve Matteson.
Open Sans was designed with an upright stress, open forms and a neutral,
yet friendly appearance. It was optimized for print, web, and mobile
interfaces, and has excellent legibility characteristics in its letterforms (see
figure 1 on the following page). This font is available from the Google Font
Directory [1] as TrueType files licensed under the Apache License version 2.0.`

This is quite significant problem, because I would say 1/20 of scientific papers encounter this problem.

} ele {
              newPrperte.wdth = th.buldCharCdeTWdth(
                metrc.wdth,
                newPrperte
              );
            }
            return new Fnt(baeFntName, fle, newPrperte);
          }
        );
      }
    }
     Accrdng t the pec f 'FntDecrptr'  declared, 'FrtChar',
     'LatChar' and 'Wdth' huld ext t, but me PDF encder eem
     t gnre th rule when a varnt f a tandard fnt  ued.
     TODO Fll the wdth array dependng n whch f the bae fnt th 
     a varnt.
    me = decrptr.get("FntName");
    let baeFnt = dct.get("BaeFnt");
     Sme bad PDF have a trng a the fnt name.
    f (Strng(fntName)) {
      fntName = Name.get(fntName);
    }
    f (Strng(baeFnt)) {
      baeFnt = Name.get(baeFnt);
    }
    f (!Type3Fnt) {
      cnt fntNameStr = fntName && fntName.name;
      cnt baeFntStr = baeFnt && baeFnt.name;
      f (fntNameStr !== baeFntStr) {
        nf(