BUG: spark_2_6_0_12103 : Spell Check

I was hoping to see the spell check fixed - hopefully by RC2. An official bug ticket was created when I first mentioned this - SPARK-1183. Here’s the conversation http://community.igniterealtime.org/message/207914#207914.

For build 12103, spell check is not working just like in RC1.

please delete plugins in …APPDATA/Spark/plugins as old ones dont get replaced by newer ones

if that doesnt solve the problem, please provide errorlog

I did that prior to installing the latest spark build. I have spellchecker plugin 0.4. The error log in \appdata\roaming\spark\logs is blank but attached is the error log in C:\Program Files\Spark\logs.
error.log.zip (1266 Bytes)

i can confirm this issue. using Windows 7 64bit and latest spark build underlines almost every word ín german language. pushing the spellchecker button sometimes freezes spark.

clicking on “add word to dictionary” gives me a “j**ava.lang.UnsupportedOperationException” **

but error.log is empty

strange behavior in windows 7. windows xp 32bit worked fine with spellchecking. what happend?**
**

@chruch: also using windows 7?

I’m using windows 7 32bit. I get the same thing you do, holger, but for the English language. The problem you’re having is the exact problem I submitted as a bug in RC1 and was given the above the ticket.

hey church,

do you still have this bug? we changed the myspell with the hope to fix some errors related to win7

I’ve been testing the nightly build from 3/24 i think it was and the auto spell check has been working! thanks for whatever you did and hopefully it remains fixed in the final release.

Well, the daily log should show an update of the spellchecker.

Thanks for testing it as solved. And keep on reporting. That really helps us quite a bit.

I can also confirm that spell check is working on win7!

However, it now complains when my first word is not capitalized. If you have ever used IM, you know that this is going to get annoying…

Any chance we can change the spell check from a pseudo-grammar check to a spell check? Whether or not a word is capitalized should not have a bearing on whether it is considered spelled correctly.

Since I doubt Spark is doing an actual grammar check, checking the first word of a “sentence” for capitalization amounts to doing an extremely limited (and therefore, useless) grammar check on top of the spell check.

Considering that chatters rarely follows orthographic rules and often ignore capitalization, it seems these sorts of checks should not be part of the spell check–if they should be done at all.

+1

2 options:

  1. edit the library:

http://kenai.com/projects/jmyspell/

  1. edit the dictionary

trunk/src/plugins/spelling/src/resources/dictionary/XXX.zip (replace XXX with locale)

Really? You can edit the dictionary to tell it to ignore capital word checking?

  1. just replace every capital letter with its lowercase letter, would be my guess.

A -> a

B -> b

etc…

  1. figure out the syntax of the file

i dont quite understand the syntax of the entries,

it goes something like this :: word/N -> could mean word is a noun or neutral-gender

I think you misunderstand. Spark is marking the following as “misspelled”:

hey, how are you doing?

But marking the following as ok:

Hey, how are you doing?

In other words, if something is the first word in a sentence, it gets checked for capitalization. No matter what word it is…

Oh, and a side note. It won’t complain about not capitalizing “I” in the middle of a sentence (apparently single letters are ok). Further, if you type the following:

Will it catch this? no, it won’t. but it will catch this.

So it has to be after a period, and a question mark doesn’t count as the end of a sentence.

IMO it should not pay attention to sentence capitalization. If it wants to keep checking proper nouns, that’s fine with me, but as someone who has used chat programs for as long as they have existed, I know that proper sentence capitalization is not common.

Gramatically it is an error. Sentences should start with a capitalized letters. So it is working normally and you need a customized behavior, so you should customize your dictionary. imho.

wroot wrote:

Gramatically it is an error. Sentences should start with a capitalized letters. So it is working normally and you need a customized behavior, so you should customize your dictionary. imho.

That’s the point. It’s not a grammar checker. It’s a spell checker. And since it is not capable of a real grammar check, why do a half-baked one (not even half baked, it’s not even .01% of a grammar checker)?

Frankly, the idea of doing a grammar check on real-time chat seems pretty dumb to me. I have not met anyone who uses correct grammar when chatting. Even those who come close, don’t bother to capitalize sentences.

Why? Because chat is a collection of terse statements, and there is no need to use periods, capitalization, etc. to improve readabiltiy when each thought is already on a separate line.

Despite this opinion of mine, I have no objection to a chatter doing a grammar check. I just think it should be optional–and probably turned off by default. But the idea of including an extremely minor grammar check along with the spell check, to check a rule that nearly all chatters are accustomed to violating (sentence capitalization), just seems poorly thought out.

this might make sense in english, but in german each noun is capitalized, which isnt a grammar check

modifications to the spelling-enginge can be made here: http://kenai.com/projects/jmyspell/

or you could google around and find a different Java-Spelling-Library

personally, i dont use the spellchecker at all, cuz typos is what its all about in instant messages

I think what Wolf is saying is that this is not a Spark issue. Spark is using spelling library which works this way. So library itself should be modified. If we modify it, then we will have to do this every time we update the library. This change should be done on the library side. So the only option is to contact jmyspell development team and ask them to change the behavior or to find another java spelling library.

Well, class

org.dts.spell.SpellChecker

has a

setCaseSensitive(boolean)

method.

If you were to set that to false, it would probably be preferable for chat, and should fix the issue.

Now, it wouldn’t catch things like “cambodia”, but I’m not sure that really matters.

The tokenizer seems to have hard coded the next sentence recognition, and you cannot disable caps checking only for sentences (iow, you must check all caps or none).