Attach (recommended) or Link to PDF file here:
[jpa2021506744.pdf](https://github.com/mozilla/pdf.js/files/6431655/jpa2021506744.pdf)

Configuration:
- Web browser and its version: Google Chrome v89.0.4389.114 /IE ver 20H2 (OS build 19042.928)/Microsoft Edge 89.0.774.77 (64 bit)
- Operating system and its version: Windows 10 Pro 20H2 19042.928
- PDF.js version: 2.7.570
- Is a browser extension: No

Steps to reproduce the problem:
As you can see from the attached jpa2021506744 [jpa2021506744.pdf](https://github.com/mozilla/pdf.js/files/6431655/jpa2021506744.pdf)  page 15,
When using PDF.js, the  text is cut off on Japanese documents.
What went wrong? I hope to solve this problem.

I tried to improve after seeing these pages.

https://github.com/mozilla/pdf.js/issues/12110
https://github.com/mozilla/pdf.js/pull/13067

Adobe Reader does not have this problem.


What is the expected behavior? (add screenshot)
![jpa_2021_506744_OK](https://user-images.githubusercontent.com/82868736/117239725-473eda80-ae6a-11eb-8de6-1f96250b8351.jpg)

What went wrong? (add screenshot)
![jpa_2021_506744_NG](https://user-images.githubusercontent.com/82868736/117239739-4dcd5200-ae6a-11eb-8db9-61b33088574c.jpg)

Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):

cnt NrmalzedUncde = getNrmalzedUncde();
      cnt glyph = fnt.charTGlyph(char);
      cnt cale = textState.fntMatrx[0] * textState.fntSze;
      f (FrtChunk) {
        careWthLatPtn(cale);
      }
      let textChunk = enureTextCntentItem();
      let ze = 0;
      let latCharSze = 0;
      fr (let  = 0,  = glyph.length;  < ; ) {
        cnt glyph = glyph[];
        let charSpacng =
          textState.charSpacng  ( ===  - 1 ? extraSpacng : 0);
        let glyphUncde = glyph.uncde;
        f (glyph.Space) {
          charSpacng = textState.wrdSpacng;
          textChunk.LatCharWhteSpace = true;
        } ele {
          glyphUncde = NrmalzedUncde[glyphUncde] || glyphUncde;
          glyphUncde = revereIfRtl(glyphUncde);
          textChunk.LatCharWhteSpace = fale;
        }
        textChunk.tr.puh(glyphUncde);
        cnt glyphWdth =
          fnt.vertcal && glyph.vmetrc ? glyph.vmetrc[0] : glyph.wdth;
        let caledDm = glyphWdth * cale;
        f (!fnt.vertcal) {
          caledDm *= textState.textHScale;
          textState.tranlateTextMatrx(caledDm, 0);
        } ele {