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)






* Copyright 2012 Mozilla Foundation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http:www.apache.orglicensesLICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
import { binarySearchFirstItem, scrollIntoView } from ".ui_utils.js";
import { createPromiseCapability } from "pdfjs-lib";
import { getCharacterType } from ".pdf_find_utils.js";
const FindState = {
  FOUND: 0,
  NOT_FOUND: 1,
  WRAPPED: 2,
  PENDING: 3,
};
const FIND_TIMEOUT = 250; 
const MATCH_SCROLL_OFFSET_TOP = -50; 
const MATCH_SCROLL_OFFSET_LEFT = -400; 
const CHARACTERS_TO_NORMALIZE = {
  "\u2010": "-", 
  "\u2018": "'", 
  "\u2019": "'", 
  "\u201A": "'", 
  "\u201B": "'", 
  "\u201C": '"', 
  "\u201D": '"', 
  "\u201E": '"', 
  "\u201F": '"', 
  "\u00BC": "14", 
  "\u00BD": "12", 
  "\u00BE": "34", 
};
const DIACRITICS_EXCEPTION = new Set([
  
  
  0x3099, 0x309a,
  
  
  0x094d, 0x09cd, 0x0a4d, 0x0acd, 0x0b4d, 0x0bcd, 0x0c4d, 0x0ccd, 0x0d3b,
  0x0d3c, 0x0d4d, 0x0dca, 0x0e3a, 0x0eba, 0x0f84, 0x1039, 0x103a, 0x1714,
  0x1734, 0x17d2, 0x1a60, 0x1b44, 0x1baa, 0x1bab, 0x1bf2, 0x1bf3, 0x2d7f,
  0xa806, 0xa82c, 0xa8c4, 0xa953, 0xa9c0, 0xaaf6, 0xabed,
  
  
  0x0c56,
  
  
  0x0f71,
  
  
  0x0f72, 0x0f7a, 0x0f7b, 0x0f7c, 0x0f7d, 0x0f80,
  
  
  0x0f74,
]);
let DIACRITICS_EXCEPTION_STR; 
const DIACRITICS_REG_EXP = \p{M}+gu;
const SPECIAL_CHARS_REG_EXP =
  ([.*+?^${}()|[\]\\])|(\p{P})|(\s+)|(\p{M})|(\p{L})gu;
const NOT_DIACRITIC_FROM_END_REG_EXP = ([^\p{M}])\p{M}*$u;
const NOT_DIACRITIC_FROM_START_REG_EXP = ^\p{M}*([^\p{M}])u;
const SYLLABLES_REG_EXP = [\uAC00-\uD7AF\uFA6C\uFACF-\uFAD