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):

const ranges = getRanges(glyphs, numGlyphs);
  const numTables = ranges[ranges.length - 1][1] > 0xffff ? 2 : 1;
  let cmap =
    "\x00\x00" + 
    string16(numTables) + 
    "\x00\x03" + 
    "\x00\x01" + 
    string32(4 + numTables * 8); 
  let i, ii, j, jj;
  for (i = ranges.length - 1; i >= 0; --i) {
    if (ranges[i][0] <= 0xffff) {
      break;
    }
  }
  const bmpLength = i + 1;
  if (ranges[i][0] < 0xffff && ranges[i][1] === 0xffff) {
    ranges[i][1] = 0xfffe;
  }
  const trailingRangesCount = ranges[i][1] < 0xffff ? 1 : 0;
  const segCount = bmpLength + trailingRangesCount;
  const searchParams = OpenTypeFileBuilder.getSearchParams(segCount, 2);
  
  let startCount = "";
  let endCount = "";
  let idDeltas = "";
  let idRangeOffsets = "";