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.

codes = range[2];
      let code = codes[0];
      for (j = 1, jj = codes.length; j < jj; ++j) {
        if (codes[j] !== codes[j - 1] + 1) {
          end = range[0] + j - 1;
          format31012 +=
            string32(start) + 
            string32(end) + 
            string32(code); 
          start = end + 1;
          code = codes[j];
        }
      }
      format31012 +=
        string32(start) + 
        string32(range[1]) + 
        string32(code); 
    }
    header31012 =
      "\x00\x0C" + 
      "\x00\x00" + 
      string32(format31012.length + 16) + 
      "\x00\x00\x00\x00" + 
      string32(format31012.length / 12); 
  }
  return (
    cmap +
    "\x00\x04" + 
    string16(format314.length + 4) + 
    format314 +