#javascript #unicode #acrobat
#javascript #юникод #acrobat
Вопрос:
Я хотел выполнить поиск японского текста с помощью Acrobat Javascript API ( search.query
). Все работает нормально, за исключением диапазона кодов 0xD800 ~ 0xDFFF (кодовые точки суррогата Юникода). Я попытался скопировать и вставить текст, который я хочу найти, в свой файл .js, а также попытался ввести суррогатные кодовые точки, в любом случае они отображаются как «.» в окне поиска.
Вот мои вопросы:
- Почему текст отображается в виде точки в Acrobat?
- Есть ли какой-либо способ поиска суррогатов с помощью Acrobat Javascript?
Редактировать: Дополнительная информация: в Acrobat нажмите «Ctrl J», чтобы запустить отладчик и ввести
search.query("uDBCEuDE2F", "ActiveDoc");
и нажмите «Ctrl Enter». Вы должны увидеть две точки
(т. Е. ".."
) в окне поиска (по крайней мере, в Acrobat 9). Особенность в том, что если вы наберете
app.alert("uDBCEuDE2F");
он отображает символ (поле), который я хочу найти.
Комментарии:
1. 1) Они отображаются в виде точек в окне поиска, но удается ли поиск в любом случае найти символ? 2) Можете ли вы выполнить поиск этого символа, скопировав его из Блокнота и вставив в окно поиска — т. Е. Работает ли окно поиска для этого диапазона символов вообще?
2. Как насчет (2)? Если вы поместите этот символ в блокнот, затем скопируйте и вставьте его в поле поиска, будет ли он а) правильно вставлен или на нем отображаются точки и б) находит ли он символ в документе?
3. 1) Нет, это не так. Если бы это было так, у меня не было бы проблем. 2) Да, вы можете скопировать его из своего любимого текстового редактора или Word, и он отлично работает (также отображается правильный символ). Я думаю, что проблема связана с реализацией объекта `search» в Acrobat.
4. 3) Что, если вы вставите фактический символ в строку в окне отладки вместо использования escape-последовательностей? Это работает? (Попытка сузить проблему).
5. Т.е. если вы вставите это
search.query("");
?
Ответ №1:
Вы пробовали вводить правильные пары суррогатов? Отдельные блоки кода в области суррогата не имеют никакого смысла и не могут быть отображены. Ничего общего с Acrobat.
Комментарии:
1. В Acrobat нажмите «Ctrl J», чтобы запустить отладчик, введите
search.query("uDBCEuDE2F", "ActiveDoc");
и нажмите «Ctrl Enter». Вы должны увидеть две точки (т. Е. «..») в окне поиска (по крайней мере, в Acrobat 9). Особенность в том, что при вводеapp.alert("uDBCEuDE2F");
отображается символ (поле), который я хочу найти.