Merge pull request #15698 from Snuffleupagus/DIACRITICS_EXCEPTION_STR-lazy

Initialize the find-related `DIACRITICS_EXCEPTION_STR` constant lazily
This commit is contained in:
Jonas Jenwald 2022-11-15 14:01:14 +01:00 committed by GitHub
commit e089d07994
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -76,9 +76,7 @@ const DIACRITICS_EXCEPTION = new Set([
// https://www.compart.com/fr/unicode/combining/132
0x0f74,
]);
const DIACRITICS_EXCEPTION_STR = [...DIACRITICS_EXCEPTION.values()]
.map(x => String.fromCharCode(x))
.join("");
let DIACRITICS_EXCEPTION_STR; // Lazily initialized, see below.
const DIACRITICS_REG_EXP = /\p{M}+/gu;
const SPECIAL_CHARS_REG_EXP =
@ -675,6 +673,10 @@ class PDFFindController {
if (matchDiacritics) {
// aX must not match aXY.
if (hasDiacritics) {
DIACRITICS_EXCEPTION_STR ||= String.fromCharCode(
...DIACRITICS_EXCEPTION
);
isUnicode = true;
query = `${query}(?=[${DIACRITICS_EXCEPTION_STR}]|[^\\p{M}]|$)`;
}