| View previous topic :: View next topic |
| Author |
Message |
FeyFre
Joined: 07 Aug 2007 Posts: 1893 Location: Vinnitsa, Ukraine
|
Posted: Fri Mar 16, 2012 2:28 pm Post subject: |
|
|
Всегда пожалуйста.
| Quote: | | 0) Неизвестное слово нельзя сохранить в каком бы то ни было словаре, списке исключений и т. п. В форме SpellCheck::CheckSelection есть кнопки "Принять" и "Запомнить", но их использование не приводит ни к какому результату | "Принять" выполняет однократную замену текущего слова, т.е. если оно встретится ещё раз, то спросит опять. Эффект "Запомнить" действует в пределах сеанса(такая вот короткая память) проверки. При получении такого же ошибочного слова в сеансе оно будет заменено без вопросов. Это конечно не совсем идеальное поведение, но зато минимально гарантированное во всех обстоятельствах. Дело в том что Check* функции работают так сказать пассивно. Т.е. функцию вызвали, она отработала и ушла, почистив за собой бардак и выгрузив плагин(если фоновая не включена), таким образом память самоликвидируется. Перманентизацию конечно сделать можно было бы, но всему своё время. | Quote: | | 1) Список вариантов показывается только для выбранного "Языка по умолчанию". Можно хотя бы добавить выбор языка по умолчанию в форму SpellCheck::CheckSelection. | Пока только через настройки. В следующей версии делаю переключение на ходу.(Уже с месяц делаю, когда релизну - не знаю). | Quote: | | 2) Вариантов правильного написания предлагается очень много | Ну это ещё не полный список, он может выдать больше. |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2510 Location: Киев, Русь
|
Posted: Fri Mar 16, 2012 3:14 pm Post subject: |
|
|
| FeyFre wrote: | | "Принять" выполняет однократную замену текущего слова, т.е. если оно встретится ещё раз, то спросит опять. Эффект "Запомнить" действует в пределах сеанса(такая вот короткая память) проверки. | Это то, о чём я неоднократно тут писал - поведение неинтуитивно, и люди продолжают об этом говорить.
Надеемся на "когда-нидудь..."  |
|
| Back to top |
|
 |
Tcheluskin
Joined: 16 Mar 2012 Posts: 7
|
Posted: Fri Mar 16, 2012 3:47 pm Post subject: |
|
|
| FeyFre wrote: | | Эффект "Запомнить" действует в пределах сеанса(такая вот короткая память) проверки. При получении такого же ошибочного слова в сеансе оно будет заменено без вопросов. | Я может неправильно понимаю или делаю что-то? Например:
– набираю в тексте слово "коронарография";
– оно подчёркивается красным;
– ставлю на него курсор и вызываю сочетанием клавиш форму SpellCheck::CheckSelection;
– она предлагает несколько вариантов, среди которых выбран "порнография";
– нажимаю "Начальное", "Запомнить", и…
– ничего не происходит; слово остаётся подчёркнутым.
А-а… понял: "Запомнить" действует только в процессе "CheckSelection" или "CheckDocument"; как только я закрыл форму, то "Запомнить" потеряло силу
Ну, это лучше чем ничего. |
|
| Back to top |
|
 |
Tcheluskin
Joined: 16 Mar 2012 Posts: 7
|
Posted: Fri Mar 16, 2012 4:37 pm Post subject: |
|
|
FeyFre
Позвольте тогда ещё 2 непринципиальных замечания:
3) Хорошо бы сделать, чтобы это "Запомнить", после того как ему скормили слово, набранное маленькими буквами, например: "коронарография" — далее также пропускало это слово, набранное с большой, либо целиком большими буквами: "Коронарография", "КОРОНАРОГРАФИЯ".
Обратное вообще говоря неверно: если указано как правильное слово с заглавной буквы: "Кэррингтон" — это не значит, что правильно и написание с маленькой буквы: "кэррингтон" — ошибка.
Некоторые слова вообще специфически чувствительны к регистру, например: "эВ" (электронвольт) — верно; но "эв" — ошибка.
Возможное решение: в "короткой памяти" кроме слова хранить и информацию — чувствительно ли оно к регистру; а в форме "CheckSelection"/"CheckDocument" рядом с кнопкой "Запомнить" ввести соотв. галочку: "Учитывать регистр", либо вторую кнопку: "Запомнить с учётом регистра". (Но при проверке набор всеми заглавными буквами: "КЭРРИНГТОН", "ЭВ" — считать верным всегда.)
4) Если курсор стоит между словами — проверять не слово после курсора, а слово перед курсором.
Сейчас, допустим, я набрал "коронарография", оно подчеркнулось красным — мне надо сначала сдвинуть курсор влево внутрь слова; а потом уже жать клавиши вызова SpellCheck::CheckSelection.
Если сделать как я выше предлагаю, отпадёт необходимость в этом небольшом лишнем действии.
С уважением.
Last edited by Tcheluskin on Fri Mar 16, 2012 4:57 pm; edited 3 times in total |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2510 Location: Киев, Русь
|
Posted: Fri Mar 16, 2012 4:52 pm Post subject: |
|
|
Tcheluskin
Посмотрите, в документации на плагин должно быть что-то о белых списках.
Добавление выделенного слова в белый список SpellCheckAddToWhiteList.js.
Что касается проверки слов, которые забиты в скомпилированных словарях, то даже не знаю, помогут ли галочки в плаге.. одно предположу - ждать это скоро не стоит. |
|
| Back to top |
|
 |
Tcheluskin
Joined: 16 Mar 2012 Posts: 7
|
Posted: Sat Mar 17, 2012 12:08 pm Post subject: |
|
|
| VladSh wrote: | | Добавление выделенного слова в белый список SpellCheckAddToWhiteList.js. | Спасибо.
К сожалению, некорректно заработало с русскими словами, т. к. SpellCheckAddToWhiteList.js пишет слово в файл "белого списка" txt.spck в кодировке ANSI, а плагин SpellCheck читает его оттуда в UTF8.
UPD: разобрался. Корректно заработало вообще, и с русскими словами (в *.txt файлах в любых кодировках) в частности после того, как сделал следующее:
Добавил файлы
\AkelPad\AkelFiles\Plugs\Scripts.dll (v10.7.0.0)
\AkelPad\AkelFiles\Plugs\Scripts\SpellCheckAddToWhiteList.js (v1.1)
\AkelPad\AkelFiles\Plugs\Scripts\Include\WordCaretSelect.js (v2.0)
Создал файл в кодировке 1251 ANSI
\AkelPad\AkelFiles\Plugs\SpellCheck\txt.spck
следующего содержания: | Code: | ;--
;-- Файл "белого списка" исключений для плагина SpellCheck
;-- SpellCheck's plugin whitelist definition file
;--
;extensions
+
+txt
| Установил ему все права на любой доступ всем пользователям.
Установил в AkelPad кодировку по умолчанию 1251 ANSI (UPD2: последнее необязательно, если в заголовке файла txt.spck есть русский текст).
Last edited by Tcheluskin on Sat Mar 17, 2012 5:06 pm; edited 4 times in total |
|
| Back to top |
|
 |
FeyFre
Joined: 07 Aug 2007 Posts: 1893 Location: Vinnitsa, Ukraine
|
Posted: Sat Mar 17, 2012 12:55 pm Post subject: |
|
|
| Tcheluskin, ну во-первых, ВЫ всё-тики создали файл в UTF8, именно так его распознает плагин. Если Вы продолжаете писать в него как ANSI(тонее не как UTF8), то отсюда вылазит второе - плагин прочтет там только мусор,а значит ноль эффекта. |
|
| Back to top |
|
 |
Tcheluskin
Joined: 16 Mar 2012 Posts: 7
|
Posted: Sat Mar 17, 2012 1:25 pm Post subject: |
|
|
FeyFre
Спасибо, разобрался, выше пост исправил.
Надо было
1) сделать файл txt.spck в кодировке ANSI без символов п»ї в начале файла, И
2) установить в AkelPad кодировку по умолчанию 1251 ANSI (у меня стояла почему-то UTF8).
Без п.2 плагин читал txt.spck всё равно в UTF8. |
|
| Back to top |
|
 |
FeyFre
Joined: 07 Aug 2007 Posts: 1893 Location: Vinnitsa, Ukraine
|
Posted: Sat Mar 17, 2012 3:12 pm Post subject: |
|
|
Tcheluskin, просто нужно было писать туда в UTF8(это претензия к к автору скрипта не к Вам). И менять Вашу кодировку по-умолчанию тоже не нужно. Для того что-бы корректно определилась ANSI, Вам достаточно было бы в тех трех заголовочных строчках матернуться по-русски тогда бы распозналась кодиорвка правильно(сама только латиница и знаки препинания не помогоают в этом деле, потому используется умолчание). |
|
| Back to top |
|
 |
Tcheluskin
Joined: 16 Mar 2012 Posts: 7
|
Posted: Sat Mar 17, 2012 5:00 pm Post subject: |
|
|
| FeyFre wrote: | | достаточно было бы в тех трех заголовочных строчках матернуться по-русски | Точно, работает. |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2510 Location: Киев, Русь
|
Posted: Sun Mar 18, 2012 6:22 pm Post subject: |
|
|
| FeyFre wrote: | | просто нужно было писать туда в UTF8(это претензия к к автору скрипта не к Вам). | В аргументах скрипта есть параметр format. |
|
| Back to top |
|
 |
antabu
Joined: 30 Oct 2009 Posts: 24
|
Posted: Tue May 29, 2012 4:31 am Post subject: |
|
|
Русский словарь весит значительно больше, чем AkelPad со всеми остальными плагинами | opk44 wrote: | | FeyFre wrote: | | Мне вот интересно 600000 слов - каких? | Оценивать емкость по аналогии с "обычным" орфографическим словарем неправильно, т.к. в отличие от оного, словарь содержит не только "существительные в именительном падеже" но еще и все словоформы:
бег - бегу, бегом, бегал, бежал, бежит, ... беглый, бегло...
Так вот 600тыс. и набегАет
В "самопальных" системах ИМХО для компактности добавляются некие "правила" словообразования, благодаря чему суффиксы/приставки/окончания хранятся отдельно от основного корпуса. | Опера, и предполагаю, что Мозилла используют словарь от Лебедева http://scon155.phys.msu.ru/~swan/orthography.html
У меня такой вопрос: существует ли плагин к AkelPad для проверки грамматики, альтернативный SpellCheck и использующий ispell http://www.luziusschneider.com/Speller/English/index.htm ? |
|
| Back to top |
|
 |
FeyFre
Joined: 07 Aug 2007 Posts: 1893 Location: Vinnitsa, Ukraine
|
Posted: Tue May 29, 2012 7:56 am Post subject: |
|
|
| Quote: | | проверки грамматики | Грамматики, не орфографии? Т.е. запятые не там расставлены? Я даже таких и не знаю библиотек. | Quote: | | альтернативный SpellCheck и использующий ispell | SpellCheck использует ASpell. ASpell в свою очередь является подавителем ISpell(посмотрите на дату последнего релиза). Достаточно словарей ASpell были получены из ISpell-овских, командой которая делала словари для ISpell. |
|
| Back to top |
|
 |
FeyFre
Joined: 07 Aug 2007 Posts: 1893 Location: Vinnitsa, Ukraine
|
Posted: Tue May 29, 2012 8:07 am Post subject: |
|
|
| Quote: | | Опера, и предполагаю, что Мозилла используют словарь от Лебедева | Да, Опера русский словарь - Лебедвский. Не знаю как там Панда, но Опера пользуется Hunspell-ом который в свою очередь вполне переваривает чужие словари(на стадии подготовки я так понимаю). en_GB там используется именно ASpell-овский(Аткинсона - разработчика ASpell). Так что какой движок Вы бы не предлагали, он в любом случает так или иначе много чего содержит от ASpell-а |
|
| Back to top |
|
 |
antabu
Joined: 30 Oct 2009 Posts: 24
|
Posted: Tue May 29, 2012 8:58 am Post subject: |
|
|
Нет, я имел ввиду не запятые, а правописание.
А проблема именно в размере словаря, в ISpell отдельно корни слов и всякие суффиксы с приставками.
Более того, Опера раззиповывает словари на лету. |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|