Attach (recommended) or Link to PDF file here:
https://www.meti.go.jp/policy/consumer/seian/denan/file/04_cn/scope/haninokaishaku_211228.pdf

Configuration:
- Web browser and its version: Google Chrome 107.0.5304.121
- Operating system and its version: Windows 10 Pro 21H2 19044.1826
- PDF.js version: v3.0.279
- Is a browser extension: No

Steps to reproduce the problem:
1. Search "ソレノイド" by Ctrl+F.

What went wrong? (add screenshot)
"ソレノイド" on page 10 must be hit.
If search "ソ レノイド" (add space between ソ and レ), it hits.

![image](https://user-images.githubusercontent.com/110510565/204415638-450c0b28-ce1e-4542-8f4d-7b67fe881f6d.png)

Steps to reproduce the problem:
1. Search "ミシン用として用いられる" by Ctrl+F.

What went wrong? (add screenshot)
"ミシン用として用いられる" on page 5 must be hit.
If search "ミシン用として用いられ る" (add space between れ and る), it hits.

![image](https://user-images.githubusercontent.com/110510565/204416640-824b8f3f-9b7b-4ba5-856c-858d8d451689.png)

When this PDF file is opened by Adobe Reader, there is no problem.

Related issue:
[#15340](https://github.com/mozilla/pdf.js/issues/15340)






1\uFAD5-\uFAD7]+g;
const SYLLABLES_LENGTHS = new Map();
const FIRST_CHAR_SYLLABLES_REG_EXP =
  "[\\u1100-\\u1112\\ud7a4-\\ud7af\\ud84a\\ud84c\\ud850\\ud854\\ud857\\ud85f]";
const NFKC_CHARS_TO_NORMALIZE = new Map();
let noSyllablesRegExp = null;
let withSyllablesRegExp = null;
function normalize(text) {
  
  
  
  
  const syllablePositions = [];
  let m;
  while ((m = SYLLABLES_REG_EXP.exec(text)) !== null) {
    let { index } = m;
    for (const char of m[0]) {
      let len = SYLLABLES_LENGTHS.get(char);
      if (!len) {
        len = char.normalize("NFD").length;
        SYLLABLES_LENGTHS.set(char, len);
      }
      syllablePositions.push([len, index++]);
    }
  }
  let normalizationRegex;
  if (syllablePositions.length === 0 && noSyllablesRegExp) {
    normalizationRegex = noSyllablesRegExp;
  } else if (syllablePositions.length > 0 && withSyllablesRegExp) {
    normalizationRegex = withSyllablesRegExp;
  } else {
    
    const replace = Object.keys(CHARACTERS_TO_NORMALIZE).join("");
    const toNormalizeWithNFKC =
      "\u2460-\u2473" + 
      "\u24b6-\u24ff" + 
      "\u3244-\u32bf" + 
      "\u32d0-\u32fe" + 
      "\uff00-\uffef"; 
    const regexp = `([${replace}])|([${toNormalizeWithNFKC}])|(\\p{M}+(?:-\\n)?)|(\\S-\\n)|(\\p{Ideographic}\\n)|(\\n)`;
    if (syllablePositions.length === 0) {
      
      
      
      normalizationRegex = noSyllablesRegExp = new RegExp(
        regexp + "|(\\u0000)",
        "gum"
      );
    } else {
      normalizationRegex = withSyllablesRegExp = new RegExp(
        regexp + `|(${FIRST_CHAR_SYLLABLES_REG_EXP})`,
        "gum"
      );
    }
  }
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  const rawDiacriticsPositions = [];
  while ((m = DIACRITICS_REG_EXP.exec(text)) !== null) {
    rawDiacriticsPositions.push([m[0].length, m.index]);
  }
  let normalized = text.normalize("NFD");
  const positions = [[0, 0]];
  let rawDiacriticsIndex = 0;
  let syllableIndex = 0;
  let shift = 0;