SentenceNav

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