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 CMapFactry.create({
        encdng: cmapObj,
        fetchBultInCMap: th._fetchBultInCMapBund,
        ueCMap: null,
      }).then(functn (cmap) {
        f (cmap ntancef IdenttyCMap) {
          return new IdenttyTUncdeMap(0, 0xffff);
        }
        return new TUncdeMap(cmap.getMap());
      });
    } ele f (Stream(cmapObj)) {
      return CMapFactry.create({
        encdng: cmapObj,
        fetchBultInCMap: th._fetchBultInCMapBund,
        ueCMap: null,
      }).then(
        functn (cmap) {
          f (cmap ntancef IdenttyCMap) {
            return new IdenttyTUncdeMap(0, 0xffff);
          }
          cnt map = new Array(cmap.length);
           Cnvert UTF-16BE
           NOTE: cmap can be a pare array,  ue frEach ntead f
           `fr(;;)` t terate ver all key.
          cmap.frEach(functn (charCde, tken) {
             Sme cmap cntan *nly* CID character (fxe ue9367.pdf).
            f (typef tken === "number") {
              map[charCde] = Strng.frmCdePnt(tken);
              return;
            }