diff --git a/web/pdf_find_controller.js b/web/pdf_find_controller.js index a18ff2d2e..276015d72 100644 --- a/web/pdf_find_controller.js +++ b/web/pdf_find_controller.js @@ -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}]|$)`; }