Page 10 of 38

Posted: Sun Aug 01, 2010 8:41 am
by iroln
FeyFre
Спасибо за объяснение. Я никогда не работал с Aspell, поэтому даже не знаю в каких библиотеках его ядро.

Может напишете в первом посте, что ядро Aspell находится в библиотеке aspell-15.dll, чтобы больше не было дурацких вопросов? :)

Ещё есть вопрос по поводу отрисовки линий подчёркивания.

Вот пример:
Image
В настройках задана пунктирная линия, но как пунктирная она не отрисовывается, выглядит как сплошная, да ещё и жирная. Это может быть связано с Win7 или со сглаживанием шрифтов?

Posted: Sun Aug 01, 2010 11:31 am
by FeyFre
iroln
Знаю, и ничего с этим сделать не могу. Эту линию рисует система, а почему она забыла что нужно пунктиром рисовать понятия не имею.
Толщина линии зависит от размера шрифта, так сделано специально(попробуйте взять версию постарше и посмотрите как смотрится тонкая линия на 32 шрифте)

Posted: Thu Aug 26, 2010 9:46 am
by FeyFre
Проверка правописания

Spellchecking

Released v1.0 >>>Download<<<

Posted: Fri Aug 27, 2010 10:39 pm
by Xephon
Спасибо за плагин.
Подскажите, есть ли возможность использовать белые списки в тексте, который не был сохранен в файл и соответственно не имеет расширения?

Posted: Sat Aug 28, 2010 8:31 am
by FeyFre
Xephon,

Есть. Почитайте внимательно SpellCheck-Rus.txt
Функция Background по-умолчанию использует белые списки ассоциированные с типом файла(исходя из расширения если такое имеется). Белый список можно выбрать принудительно, для этого нужно вызвать функцию с дополнительным аргументом строкой расширением, например из ToolBar плагина:

Code: Select all

Call("SpellCheck::Background","cpp")
:)

Posted: Sat Aug 28, 2010 9:03 am
by opk44
FeyFre wrote:iroln
Знаю, и ничего с этим сделать не могу. Эту линию рисует система, а почему она забыла что нужно пунктиром рисовать понятия не имею.
Толщина линии зависит от размера шрифта, так сделано специально(попробуйте взять версию постарше и посмотрите как смотрится тонкая линия на 32 шрифте)
Если до сих пор актуально: "Если ширина пера больше 1 то стили PS_DASH, PS_DOT, PS_DASHDOT и PS_DASHDOTDOT игнорируются и рисуются сплошные линии".
Т.е. можно либо отказаться от масштабирования линий, либо отказаться от задания настройки вида линий, либо придётся принимать более сложное решение.

Posted: Sat Aug 28, 2010 9:42 am
by FeyFre
Т.е. можно либо отказаться от масштабирования линий
либо отказаться от задания настройки вида линий
ни в коем случае.
либо придётся принимать более сложное решение.
Брать интеграл и производные третьего порядка для рисования подчеркивания - явно лишнее. Сложнее решение может быть оправдано только быстродействием результата, чего в данном случае не будет.

Posted: Sat Aug 28, 2010 11:32 am
by Xephon
Xephon, RTFM
Читал, спасибо :)
Пытался заставить работать белый список вызовами Call("SpellCheck::Background", "txt") во вновь созданном файле, когда белый список содержал строки "+txt" и "AkelPad". Слово "AkelPad" оказывалось подчеркнутым.
Оказалось, надо было использовать вызов Call("SpellCheck::Background") и белый список "+" и "AkelPad".

Posted: Sun Aug 29, 2010 12:19 am
by [Yustas.NeO]
Подскажите, пожалуйста, можно ли создать пункт меню, по нажатию на который в определенный SPCK-файл будет добавлено выделение или слово на котором установлен курсор?

P.S.
SpellCheck-Rus.txt:
Строка 28: палгина
Строка 49: жарног
Это сознательные опечатки для проверки работоспособности плагина? :)

Posted: Sun Aug 29, 2010 9:53 am
by FeyFre
Подскажите, пожалуйста, можно ли создать пункт меню, по нажатию на который в определенный SPCK-файл будет добавлено выделение или слово на котором установлен курсор?
Scripts-плагин в полном Вашем распоряжении. :)

Posted: Sun Aug 29, 2010 2:50 pm
by [Yustas.NeO]
FeyFre wrote:Scripts-плагин в полном Вашем распоряжении. :)
Да, пожалуй.


Только у меня проблемы с этими списками... Отрицательный результат носит даже такой эксперимент:
Открываю файл (изменения не вносил)
%a\AkelFiles\Plugs\SpellCheck\html.spck
Нажимаю кнопку
-"Подключить белый список html" Call("SpellCheck::Background","html") Icon("%a\AkelFiles\Plugs\SpellCheck.dll", 2)
В итоге такие слова как ACCESSKEY ALINK BASEFONT BGCOLOR и т.д. - все равно остаются подчеркнутыми как неправильные. А ведь не должны - я ведь к ним применил их же белый список!

Posted: Sun Aug 29, 2010 3:17 pm
by FeyFre
[Yustas.NeO], пофиксил. Ждите версию.

Posted: Mon Aug 30, 2010 11:30 am
by opk44
FeyFre wrote:Брать интеграл и производные третьего порядка для рисования подчеркивания - явно лишнее. Сложнее решение может быть оправдано только быстродействием результата, чего в данном случае не будет.
Про интегралы я ничего не понял. Возможно был неверно истолкован мой предыдущий пост. Поэтому поясняю. Под "более сложным решением" я в данном случае имел в виду замену обычных перьев на расширенные геометрические "extended geometric pen" (и соответственно замену CreatePen на ExtCreatePen). Но этот вариант показался менее что-ли "элегантным", нежели простой отказ от масштабирования подчеркивания. (по аналогии, например, с MS Word, где при проверке правописания подчеркивание не масштабируется, не вызывая каких-либо затруднений).
Но поскольку Вы все три варианта отвергли, то теперь уже я крайне заинтригован и буду с интересом ждать новой версии чтобы узнать, каков же будет четвертый вариант. :)
Дополнительно вопрос. Не делались ли попытки использования Hunspell (http://hunspell.sourceforge.net) вместо Aspell? Выражаясь иначе, можно ли с минимальными переделками задействовать проверку правописания уже установленного OpenOffice или даный вопрос преждевременный?

Posted: Mon Aug 30, 2010 11:45 am
by FeyFre
Вопрос с подчеркиваниями я пока ставлю приоритетным. Эта самая простая часть плагина. И ни о каком окончательном решении сейчас речь не идёт.(Отказаться от масштабирования нельзя. Попробуйте разглядите однопиксельное подчеркивание на 25 дюймовом мониторе.)

Вопрос с hunspell тоже пока не планирую рассматривать(уже разнюхивал, Вы не первый кто обращался). Даже если произойдет переход на него, то не рассчитывайте на автопоиск словарей в системе(не важно, Опера их "хозяин" или ООо или ещё какое приложение).
Да, получается вопрос именно преждевременный. Релиз недавно состоялся. Релиз 1.1 - багфикс на подходе. Приблизительно 5-7 последующих релизов буду только исправлять ошибки и оптимизировать код.

Posted: Tue Aug 31, 2010 2:27 pm
by [Yustas.NeO]
Не помогло. В смысле помогло но только частично: с html.spck и cpp.spck - работает. Пытаюсь создать свой (с одним единственным словом) AkelPad - не работает.

UPD:
Кажись понял! В файле %filename%.spck зачем-то обязательно должна быть строчка "+%filename%" ...

В догонку:
Нельзя ли что бы изменения в spck-файлах применялись без перезагрузки программы?