Attach (recommended) or Link to PDF file here:
[chinese.pdf](https://github.com/mozilla/pdf.js/files/6404389/download.1.pdf)

Configuration:
- Web browser and its version:90.0.4430.93
- Operating system and its version: mac 10.15.5
- PDF.js version: 2.9.146
- Is a browser extension:no

Steps to reproduce the problem:
1. The Chinese in the attachment cannot be rendered

Brower ✅
![image](https://user-images.githubusercontent.com/13477114/116678074-81782a00-a9db-11eb-8719-74f48fcebc2b.png)

PDF.js ❌ [https://mozilla.github.io/pdf.js/web/viewer.html](https://mozilla.github.io/pdf.js/web/viewer.html)
![image](https://user-images.githubusercontent.com/13477114/116678212-a371ac80-a9db-11eb-847f-dd1ad7752c13.png)


What is the expected behavior? (add screenshot)
**The Chinese character can be rendered**
What went wrong? (add screenshot)
**All of the Chinese character cannot be rendered**
Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):

}
  
  
  if (codes.length === 0) {
    codes.push({ fontCharCode: 0, glyphId: 0 });
  }
  codes.sort(function fontGetRangesSort(a, b) {
    return a.fontCharCode - b.fontCharCode;
  });
  
  const ranges = [];
  const length = codes.length;
  for (let n = 0; n < length; ) {
    const start = codes[n].fontCharCode;
    const codeIndices = [codes[n].glyphId];
    ++n;
    let end = start;
    while (n < length && end + 1 === codes[n].fontCharCode) {
      codeIndices.push(codes[n].glyphId);
      ++end;
      ++n;
      if (end === 0xffff) {
        break;
      }
    }
    ranges.push([start, end, codeIndices]);
  }
  return ranges;
}
function createCmapTable(glyphs, numGlyphs) {