SentenceNav
- Автор: Tony Malykh
- Загрузить стабильную версию (совместимо с NVDA 2019.3 и выше)
SentenceNav - это дополнение, позволяющее читать текст не только по словам и абзацам, но и по предложениям.
Пожалуйста, обратите внимание, что функция "Перейти к следующему абзацу с текстом" была перенесена в дополнение TextNav, которое необходимо установить отдельно.
Комбинации клавиш
- Alt+Стрелка вниз: Перейти к следующему предложению.
- Alt+Стрелка вверх: Перейти к предыдущему предложению.
- NVDA+Alt+S: Произнести текущее предложение.
- Alt+Windows+Стрелка вниз: Перейти к следующей фразе.
- Alt+Windows+Стрелка вверх: Перейти к предыдущей фразе.
Пожалуйста, обратите внимание, что функция "Перейти к следующему абзацу с текстом" была перенесена в дополнение TextNav, которое необходимо установить отдельно.
Примечания и известные проблемы
- Разметка предложений выполняется с помощью эвристических алгоритмов и не является точной на 100%. Ожидайте, что SentenceNav время от времени будет допускать ошибки, например, прерывать предложение там, где оно не должно было прерываться, или наоборот - пропускать границу между двумя предложениями и произносить их слитно.
- Начиная с версии 2.8 была добавлена экспериментальная поддержка Microsoft Word и WordPad.
- Комбинации клавиш навигации по предложениям Alt+Up/Down могут конфликтовать со встроенными в приложения. Разработчики SentenceNav стремятся устранять эти конфликты, когда это возможно. Однако, если вы столкнётесь с такой ситуацией, простым решением будет нажать NVDA + F2 (пропуск клавиши), а затем выполнить конфликтующее нажатие клавиши Alt+Вверх / вниз, чтобы убедиться, что это нажатие будет обработано приложением, а не SentenceNav.
Алгоритм
SentenceNav использует регулярное выражение для определения границ предложений. Регулярное выражение выполняет поиск:
- Один или несколько знаков препинания "прерывающих предложение", таких как точка, восклицательный знак или вопросительный знак, за которыми сразу следует один или несколько пробелов.
- Разделители предложений могут дополнительно сопровождаться одним или несколькими "пропускаемыми" знаками препинания, такими как закрывающая скобка или кавычка.
- При желании за разделителями предложений может следовать ссылка в стиле Википедии, например [4] или [требуется цитирование].
- Перед фразеологизмами, прерывающими предложение, не должны стоять специальные сокращения, такие как "Доктор", "Мистер", "Профессор" и т.д. Специальные сокращения зависят от языка. Исключительные сокращения определяются как сокращения, написанные через точку, которая в большинстве случаев не указывает на конец предложения.
- Разделители предложений не должны начинаться с заглавной буквы. Это делается для предотвращения прерывания предложений на инициалах людей, таких как Джордж Р. Р. Мартин. Список заглавных букв зависит от языка.
- В качестве альтернативы, регулярное выражение может соответствовать одному из разделителей предложений по всей ширине. В некоторых языках, таких как китайский и японский, используется пунктуация по всей ширине, и нет требования, чтобы после неё или перед ней стояло что-либо, что считалось бы границей предложений.
- В качестве альтернативы, двойная новая строка считается прерывателем предложения.
Определение фразы выполняется с помощью другого регулярного выражения, которое соответствует:
- Один или несколько знаков препинания "прерывающих фразу", за которыми сразу следует один или несколько пробелов.
- Или, в качестве альтернативы, один или несколько ограничителей фраз "фиксированной ширины", после которых необязательно ставить пробелы.
- Или, как вариант, удвоить новую строку.
Другие настройки
- Восстановить предложения в нескольких абзацах: предложения могут занимать несколько абзацев. Это часто случается в неправильно оформленных PDF-документах или в сообщениях электронной почты, написанных в виде обычного текста. С помощью этого комбинированного списком вы можете попросить SentenceNav попытаться идентифицировать эти предложения и правильно их произнести. Иногда, однако, он будет соединять абзацы, которые не должны быть предложениями. В этом случае вы можете отключить эту функцию.
- Отключить SentenceNav в приложениях: Вы можете отключить SentenceNav в определенных приложениях. Например, некоторые приложения используют сочетание клавиш Alt+Down для выполнения других функций. Это разделенный запятыми чёрный список приложений, в которых навигация по предложениям будет отключена. Если вы не уверены, каким должно быть название вашего приложения, переключитесь на это приложение, нажмите NVDA+Control+Z, чтобы открыть консоль NVDA, и введите: "focus.AppModule.AppName" без кавычек, чтобы получить название текущего приложения.
Исходный код
Исходный код доступен по адресу http://github.com/mltony/nvda-sentence-nav.
Загрузки
- Текущая стабильная версия: SentenceNav
- Последняя версия Python 2 (совместима с NVDA 2019.2 и ниже): SentenceNav v2.5