Использование International Ispell
Инструмент spell был простейшей программой для проверки орфографии, которая сравнивала слова из входных данных с главным системным словарным файлом (который представляет из себя отсортированный список слов с правильным написанием). Он выводил все слова из входных данных, для которых не было найдено совпадения в системном словаре.
Программа из WWB spellwwbбыла улучшенной версией spell и при проверке орфографии она использовала словарь пользователя. Инструментарий spelladd из WWB добавлял слова в персональный словарь. В некоторых вариантах UNIX для spell впоследствии была реализована возможность работать со словарем пользователя.
Сегодня для UNIX доступно несколько удобных программ для проверки орфографии. Одна из них - International Ispell - обеспечивает всю функциональность устаревшей уже программы spellwwb и содержит в себе много нового: полноэкранный режим, интерактивная проверка орфографии и поддержку 17 языков. Запустить ее можно при помощи команды ispell; в качестве аргумента к вызову надо добавить имя открываемого файла. Хотя сейчас есть и более новые утилиты для проверки орфографии, International Ispell - хорошо проверенное на практике приложение, с активной поддержкой и доступное в большинстве реализаций UNIX.
Получение списка орфографических ошибок
Простейший способ использовать ispell - это вызов утилиты GNU spell, которая является оболочкой для ispell, предоставляющей функциональность старого инструментального средства spell из WWB. Итак, ispell читает входные данные и сравнивает каждое слово с системным словарем или любым персональным словарем, а затем выводит все орфографические ошибки (см. листинг 10).
Листинг 10. Использование GNU spell
$ spell
hello, world
no typing mistakes here
asdf
asdf
this is speld wrongg
speld
wrongg
Ctrl-D
$
|
Для проверки файла на орфографические ошибки при помощи spell просто передайте имя файла как аргумент. Используйте опцию -n для того, чтобы каждая орфографическая ошибка следовала за номером строки в файле, где она была допущена. Испробуйте это на исследуемом тексте, как показано в листинге 11.
Листинг 11. Вывод орфографических ошибок в тексте
$ spell Q1report.txt
Smithwick
earnigns
$ spell -n Q1report.txt
13: Smithwick
19: earnigns
$
|
Интерактивная проверка орфографии в файле
Также можно использовать ispell для интерактивной проверки орфографии, когда содержимое файла отображается на экране и пользователь может проигнорировать потенциальную ошибку или исправить ее.
Когда ispell найдет слово, отсутствующее в системном словаре, но пользователь уверен, что это слово правильное (например, имя собственное), то можно дать команду ispell проигнорировать это слово здесь и в остальной части файла либо добавить это слово в персональный файл словаря; в таком случае при будущих вхождениях этого слова ispell посчитает его корректным. (Если другие пользователи системы будут использовать ispell, слово будет отмечено как некорректное до тех пор, пока они не добавят его в свои персональные словари.)
Если слово в файле словаря начинается со строчной буквы, то его написание будет считаться правильным, даже если оно пишется с заглавной буквы. Однако если в словаре слово пишется с заглавной буквы, то его написание с прописной будет отмечено как ошибка.
В таблице 2 перечислены различные команды для обработки орфографических ошибок.
Таблица 2. Список опций инструментального средства проверки орфографии International Ispell
| Ключ | Описание |
|---|---|
| number | Заменить орфографическую ошибку словом, соответствующим числу |
| R word | Заменить орфографическую ошибку на слово word |
| space | Игнорировать орфографическую ошибку для данного случая |
| a | Игнорировать орфографическую ошибку для данного случая и до конца работы с Ispell |
| i | Игнорировать орфографическую ошибку и вставить, с преобразованием букв в прописные, это слово в персональный словарь |
| u | Игнорировать слово с орфографической ошибку, и вставить его в персональный словарь без преобразования в прописные буквы. |
| l | Искать слова в словаре |
| x | Сохранить изменения и прекратить поиск ошибок |
| q | Отменить проверку орфографии и выйти из программы |
| ! | Выйти в оболочку shell |
Ctrl-L
| Перерисовать экран |
Ctrl-Z
| Приостановить Ispell |
?
| Вывести справку |
Попробуем пропустить через ispell наш текст:
$ ispell Q1report.roff
|
После запуска этой команды на экране появится следующее сообщение (см. рисунок 4).
Рисунок 4. Проверка орфографии в тексте при помощи International Ispell
Здесь Ispell нашел и отметил первую орфографическую ошибку, хотя имя Смитвика (Smithwick) написано правильно. И кроме того, это имя будет еще не раз встречаться в документах, поэтому это имя нужно добавить в словарь. Это имя будет добавлено в словарь в написании с заглавной буквы, поэтому если где-нибудь в тексте встретится "smithwick", то это слово будет отмечено как ошибка.
Для сохранения выделенного слова в персональном словаре нужно ввести i, после чего Ispell перейдет к следующей орфографической ошибке - слову earnigns. В большинстве систем в списке правильных предполагаемых слов первым будет earnings, и ему соответствует номер 0 из списка (см. рисунок 5).
Рисунок 5. Предполагаемые варианты правильного написания слова
Введем 0 для выбора правильного слова, например, "earnings". После этого Ispell проверит текст до конца и завершит работу, поскольку больше орфографических ошибок нет.
Ispell проверяет не только простой неформатированный текст: утилита ispell распознает несколько форматов разметки, включая troff-файлы. Для проверки таких файлов предназначена опция -n.