Страницы: 1
Хочу-создать-в-багзилле-новую-ошибку! The tokenization of words for spellcheck is wrong when there is a dash in the word.
Заключается-она-в-том,-что-движок-Gecko-неправильно-выделяет-слова-для-модуля-проверки-орфографии.
Например-в-этом-тексте-слова-«правильно»-распознаются,-несмотря-на-то,-что-в-нём-нет-ни-одного-пробела!!!
В-Windows-это-действительно-так.-Прошу-подтвердить-аналогичное-поведение-в-Linux.
Если-с-названием-и,-кое-каким-описанием-вопросов-не-возникает,-то-вот-с-выбором-категории…
Никто-не-разбирался-с-кодом-Gecko?
К-какой-его-части-относится-модуль-токенизации?
Вряд-ли-это-собственно-спеллчекер.
Благодарю алфавит за любезно предоставленные буквы.
Отсутствует
Спасибо, Bug 466127
Благодарю алфавит за любезно предоставленные буквы.
Отсутствует
Если не трудно, то хотелось бы получить более развёрнутый ответ на "не подтверждаю". Потому что я скачал ночнушку Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1b2pre) Gecko/20081122 Minefield/3.1b2pre и там наблюдаю то же самое.
Как говорится, найдите 10 отличий.
Добавлено 22-11-2008 23:18:49
Из того что написано в комментариях к багу я понял что в версии 1.2.3 hunspell исправлена выдача догадок когда слово с дефисом написано без дефиса. Теперь предлагает оба варианта — и два слова отдельно, и слово с дефисом. Но это не та проблема о которой я хочу сказать. Как только вместо подчёркнутого «чтонибудь» выбрать из списка догадок «что-нибудь» сразу же волнистая линия перескочит на «нибудь». Не удивляет ли вас, что предлагаемая догадка, которая заведомо должна быть правильной и содержаться в словаре, сразу после замены становится ошибочным словом? А потому что теперь это слово с дефисом считается двумя отдельными словами. А слова «нибудь» в русском языке нет!
Благодарю алфавит за любезно предоставленные буквы.
Отсутствует
Infant
Это проблема только в продуктах Mozilla? Больше похоже на баг hunspell.
Добавлено 22-11-2008 23:37:43
Или это вообще проблема словаря.
Do not meddle in the affairs of Wizards, for they are subtle and quick to anger.
Отсутствует
Продукты OOo (Writer) ведёт себя аналогично (дефис считается пробелом). MS Word 97 (другого под рукой нету) — то же самое.
Почему я не думаю, что это проблема hunspell:
1. Автор венгр и сам пишет в руководстве о том, что WORDCHARS extends tokenizer of Hunspell command line interface with additional word character. For example, dot, dash, n-dash, numbers, percent sign are word character in Hungarian. Поэтому реализация наверняка должна работать для дефисов, тире и т.п. Она наверняка работает в американском словаре для цифр.
2. В качестве догадки предлагается правильное слово из словаря с дефисом. Однако если это слово правильное и присутствует в словаре, то зачем его вообще помечать как ошибочное. Я всё же думаю, что парсеры текста, что у Mozilla, что у OOo просто разбивают такие слова на два и подсовывают hunspell по отдельности. К сожалению в какой части исходного кода искать концы я не представляю.
3. Аналогично ведёт себя не только Firefox 3, но и Firefox 2 в котором никакого hunspell не было отродясь.
4. По поводу словаря. Могу выложить минимальный словарь для проверки. В 10 строчках просто негде ошибиться.
Отредактировано Infant (23-11-2008 01:11:40)
Благодарю алфавит за любезно предоставленные буквы.
Отсутствует
Пример словаря для тестирования: файл аффиксов, файл словаря.
Инструкция
1. Скачайте оба файла и поместите их в каталог словарей вашего Firefox. При этом браузер должен быть закрыт (словари перечитываются заново только при первом запуске).
2. Запустите браузер и откройте любую страницу с текстовой формой. Можете сохранить на диске следующий пример.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>Текстовая форма</title> </head> <body> <textarea name="comment" cols="100" rows="40"></textarea> </body> </html>
3. Откройте любым текстовым редактором поддерживающим кодировку UTF-8 скачанный файл ru_RU.dic и скопируйте всё его содержимое (это будут все слова нашего тестового словаря) в текстовую форму.
4. Включите в этой форме проверку орфографии, а в качестве языка укажите ru_RU (должен появиться в списке дополнительно к другим установленным языкам).
5. Наслаждайтесь красными линиями.
P.S. Некоторые пояснения к трём последним строкам файла словаря: это я пытался выяснить нелюбовь конкретно к дефису или другим символам тоже и сделал слова с тире, коротким тире и знаком равно.
Благодарю алфавит за любезно предоставленные буквы.
Отсутствует
MySh
Правильно. Именно так всё и должно быть. Мы же скопировали слова самого словаря.
Так же интересно, что в качестве догадки предлагается на замену опять то же слово (среди списка других), которое выделено как ошибочное.
Благодарю алфавит за любезно предоставленные буквы.
Отсутствует
Infant
Правильно. Именно так всё и должно быть. Мы же скопировали слова самого словаря.
И? Прошу прощения, но что-то смысл идеи до меня пока не доходит...
Отсутствует
Если всё происходит именно так как получается, то выходит что слова в словаре являются одновременно и правильными (во-первых потому что мы скопировали их из самого словаря, чтобы без ошибок; во-вторых потому что они же предлагаются в качестве замен якобы ошибочных слов) и неправильными (потому что подчёркиваются). Возникает парадокс. Как такое может быть?
Отвечаю, такого быть не может. Значит, когда слова находятся в словаре и предлагаются для замены это одни слова (с дефисами), а когда они проверяются — они таковыми (словами с дефисами) уже не воспринимаются. Почему? Потому что кто-то теперь считает их двумя отдельными словами, а дефис между ними как символ ограничитель слова.
Добавлено 23-11-2008 14:37:14
А согласно указаниям параметра WORDCHARS из файла аффиксов короткое тире, тире, дефис и знак равно тоже являются буквами и могут входить в состав слова.
Благодарю алфавит за любезно предоставленные буквы.
Отсутствует
Страницы: 1