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.

return (b0 << 8) + b1;
}
function writeSignedInt16(bytes, index, value) {
  bytes[index + 1] = value;
  bytes[index] = value >>> 8;
}
function signedInt16(b0, b1) {
  const value = (b0 << 8) + b1;
  return value & (1 << 15) ? value - 0x10000 : value;
}
function int32(b0, b1, b2, b3) {
  return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;
}
function string16(value) {
  if (
    typeof PDFJSDev === "undefined" ||
    PDFJSDev.test("!PRODUCTION || TESTING")
  ) {
    assert(
      typeof value === "number" && Math.abs(value) < 2 ** 16,
      `string16: Unexpected input "${value}".`
    );
  }
  return String.fromCharCode((value >> 8) & 0xff, value & 0xff);
}
function safeString16(value) {