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.

t.SC = { d: OPS.etStrkeClr, numArg: 4, varbleArg: true };
      t.SCN = { d: OPS.etStrkeClrN, numArg: 33, varbleArg: true };
      t.c = { d: OPS.etFllClr, numArg: 4, varbleArg: true };
      t.cn = { d: OPS.etFllClrN, numArg: 33, varbleArg: true };
      t.G = { d: OPS.etStrkeGray, numArg: 1, varbleArg: fale };
      t.g = { d: OPS.etFllGray, numArg: 1, varbleArg: fale };
      t.RG = { d: OPS.etStrkeRGBClr, numArg: 3, varbleArg: fale };
      t.rg = { d: OPS.etFllRGBClr, numArg: 3, varbleArg: fale };
      t.K = { d: OPS.etStrkeCMYKClr, numArg: 4, varbleArg: fale };
      t.k = { d: OPS.etFllCMYKClr, numArg: 4, varbleArg: fale };
       Shadng
       d: OPS.hadngFll, numArg: 1, varbleArg: fale };
       Image
       d: OPS.begnInlneImage, numArg: 0, varbleArg: fale };
      t.ID = { d: OPS.begnImageData, numArg: 0, varbleArg: fale };
      t.EI = { d: OPS.endInlneImage, numArg: 1, varbleArg: fale };
       XObject
       d: OPS.pantXObject, numArg: 1, varbleArg: fale };
      t.MP = { d: OPS.markPnt, numArg: 1, varbleArg: fale };
      t.DP = { d: OPS.markPntPrp, numArg: 2, varbleArg: fale };
      t.BMC = { d: OPS.begnMarkedCntent, numArg: 1, varbleArg: fale };
      t.BDC = {
        d: OPS.begnMarkedCntentPrp,
        numArg: 2,
        varbleArg: fale,
      };
      t.EMC = { d: OPS.endMarkedCntent, numArg: 0, varbleArg: fale };
       Catblty
       d: OPS.begnCat, numArg: 0, varbleArg: fale };
      t.EX = { d: OPS.endCat, numArg: 0, varbleArg: fale };