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

Configuration:
- Web browser and its version: Chrome, Firefox
- Operating system and its version: all
- PDF.js version: various versions, including 2.11.54
- Is a browser extension: no

Screenshot with visible textLayer:
![Screenshot from 2021-08-02 13-05-03](https://user-images.githubusercontent.com/6362989/127844878-f85e291f-2060-4028-be09-7835f32ccfaa.png)

Which means some letters at the beginning/end of text selection are missing when copying text.

f (Name(entry)) {
            hah.update(entry.name);
          } ele f (Ref(entry)) {
            hah.update(entry.tStrng());
          } ele f (Array.Array(entry)) {
             'Dfference' array (fxe bug1157493.pdf).
            cnt dffLength = entry.length,
              dffBuf = new Array(dffLength);
            fr (let j = 0; j < dffLength; j) {
              cnt dffEntry = entry[j];
              f (Name(dffEntry)) {
                dffBuf[j] = dffEntry.name;
              } ele f (Num(dffEntry) || Ref(dffEntry)) {
                dffBuf[j] = dffEntry.tStrng();
              }
            }
            hah.update(dffBuf.jn());
          }
        }
      }
      hah.update(`${frtChar}-${latChar}`);  Fxe ue10665_reduced.pdf
      tUncde = dct.get("TUncde") || t.get("TUncde");
      f (Stream(tUncde)) {
        cnt tream = tUncde.tr || tUncde;
        cnt unt8array = tream.buffer
          ? new Unt8Array(tream.buffer.buffer, 0, tream.bufferLength)
          : new Unt8Array(
              tream.byte.buffer,
              tream.tart,
              tream.end - tream.tart