You are not logged in.

#1 2017-11-01 03:31:33

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,130

Spell-checking in Kile doesn't know its favors from its favours

I've had spelling (and other!) issues with the current beta version of Kile since it initially hit the stable repos. However, the situation has got much worse over the last few days.

I have Kile configured to spellcheck on the fly. Previously, it flagged correctly spelt words. However, it now flags correctly spelt words and fails to flag incorrectly spelt ones. In particular, I cannot persuade it to flag words such as 'flavor' and 'honor'. It currently allows 'flavor flavour flavoring flavouring honor honour color colour recognize recognise' and so on all unhappily melded together. This is a real problem as I rely heavily on spell-checking.

In KDE settings, I have the default dictionary set to en_GB -ise endings with accents. Similarly in Kile's settings. I have hunspell and apsell dictionaries installed. Searching the web suggests that removing hunspell might help, but this is unfortunately required for pretty basic components of KDE itself via a dependency on enchant (which requires everything and the kitchen sink).

I want Kile to use aspell. I've generated and slightly edited a new ~/.aspell.conf.

# conf (string)
#   main configuration file
# default: aspell.conf

# conf-dir (string)
#   location of main configuration file
# default: /etc

# data-dir (string)
#   location of language data files
# default: <prefix:lib/aspell-0.60> = /usr/lib/aspell-0.60

# dict-alias (list)
#   create dictionary aliases
add-dict-alias cy_GB cy
add-dict-alias en_GB en_GB-ise-w_accents
#add-dict-alias en_GB-ise en_GB-ise-w_accents
#add-dict-alias english en_GB-ise-w_accents
#add-dict-alias english-w-accents en_GB-ise-w_accents

# dict-dir (string)
#   location of the main word list
# default: <data-dir> = /usr/lib/aspell-0.60

# encoding (string)
#   encoding to expect data to be in
# default: !encoding = UTF-8

# filter (list)
#   add or removes a filter

# filter-path (list)
#   path(s) aspell looks for filters

# mode (string)
#   filter mode
# default: url

# extra-dicts (list)
#   extra dictionaries to use

# home-dir (string)
#   location for personal files
# default: <$HOME|./> = /home/<username>
home-dir /home/<username>/.enchant/aspell

# ignore (integer)
#   ignore words <= n chars
# default: 1

# ignore-case (boolean)
#   ignore case when checking words
# default: false

# ignore-repl (boolean)
#   ignore commands to store replacement pairs
# default: false

# keyboard (string)
#   keyboard definition to use for typo analysis
# default: standard

# lang (string)
#   language code
# default: <language-tag> = cy_GB

# local-data-dir (string)
#   location of local language data files
# default: <actual-dict-dir> = /usr/lib/aspell-0.60/

# master (string)
#   base name of the main dictionary to use
# default: <lang> = cy_GB

# normalize (boolean)
#   enable Unicode normalisation
# default: true

# norm-required (boolean)
#   Unicode normalisation required for current lang
# default: false

# norm-form (string)
#   Unicode normalisation form: none, nfd, nfc, comp
# default: nfc

# norm-strict (boolean)
#   avoid lossy conversions when normalisation
# default: false

# per-conf (string)
#   personal configuration file
# default: .aspell.conf

# personal (string)
#   personal dictionary file name
# default: .aspell.<lang>.pws = .aspell.cy_GB.pws

# prefix (string)
#   prefix directory
# default: /usr

# repl (string)
#   replacements list file name
# default: .aspell.<lang>.prepl = .aspell.cy_GB.prepl

# run-together (boolean)
#   consider run-together words legal
# default: false

# run-together-limit (integer)
#   maximum number that can be strung together
# default: 2

# run-together-min (integer)
#   minimal length of interior words
# default: 3

# save-repl (boolean)
#   save replacement pairs on save all
# default: true

# set-prefix (boolean)
#   set the prefix based on executable location
# default: true

# size (string)
#   size of the word list
# default: +60

# sug-mode (string)
#   suggestion mode
# default: normal

# sug-edit-dist (integer)
#   edit distance to use, override sug-mode default
# default: 1

# sug-typo-analysis (boolean)
#   use typo analysis, override sug-mode default
# default: true

# sug-repl-table (boolean)
#   use replacement tables, override sug-mode default
# default: true

# sug-split-char (list)
#   characters to insert when a word is split

# use-other-dicts (boolean)
#   use personal, replacement & session dictionaries
# default: true

# variety (list)
#   extra information for the word list

# warn (boolean)
#   enable warnings
# default: true

# affix-compress (boolean)
#   use affix compression when creating dictionaries
# default: false

# clean-affixes (boolean)
#   remove invalid affix flags
# default: true

# clean-words (boolean)
#   attempts to clean words so that they are valid
# default: false

# invisible-soundslike (boolean)
#   compute soundslike on demand rather than storing
# default: false

# partially-expand (boolean)
#   partially expand affixes for better suggestions
# default: false

# skip-invalid-words (boolean)
#   skip invalid words
# default: true

# validate-affixes (boolean)
#   check if affix flags are valid
# default: true

# validate-words (boolean)
#   check if words are valid
# default: true

# backup (boolean)
#   create a backup file by appending ".bak"
# default: true

# byte-offsets (boolean)
#   use byte offsets instead of character offsets
# default: false

# guess (boolean)
#   create missing root/affix combinations
# default: false

# keymapping (string)
#   keymapping for check mode: "aspell" or "ispell"
# default: aspell

# reverse (boolean)
#   reverse the order of the suggest list
# default: false

# suggest (boolean)
#   suggest possible replacements
# default: true

# time (boolean)
#   time load time and suggest time in pipe mode
# default: false


#######################################################################
#
# Filter: html
#   filter for dealing with HTML documents
#
# configured as follows:

# f-html-check (list)
#   HTML attributes to always check

# f-html-skip (list)
#   HTML tags to always skip the contents of


#######################################################################
#
# Filter: tex
#   filter for dealing with TeX/LaTeX documents
#
# configured as follows:

# f-tex-check-comments (boolean)
#   check TeX comments
# default: false

# f-tex-command (list)
#   TeX commands


#######################################################################
#
# Filter: email
#   filter for skipping quoted text in email messages
#
# configured as follows:

# f-email-quote (list)
#   email quote characters

# f-email-margin (integer)
#   num chars that can appear before the quote char
# default: 10


#######################################################################
#
# Filter: sgml
#   filter for dealing with generic SGML/XML documents
#
# configured as follows:

# f-sgml-check (list)
#   SGML attributes to always check

# f-sgml-skip (list)
#   SGML tags to always skip the contents of


#######################################################################
#
# Filter: texinfo
#   filter for dealing with Texinfo documents
#
# configured as follows:

# f-texinfo-ignore (list)
#   Texinfo commands to ignore the parameters of

# f-texinfo-ignore-env (list)
#   Texinfo environments to ignore


#######################################################################
#
# Filter: context
#   experimental filter for hiding delimited contexts
#
# configured as follows:

# f-context-delimiters (list)
#   context delimiters (separated by spaces)

# f-context-visible-first (boolean)
#   swaps visible and invisible text
# default: false

I do not want to explicitly set a default language in this file since doing so makes it impossible to check anything else in Kile. (For example, setting en_GB here, would make it impossible to check Welsh.)

Contents of ~/.enchant include the sub-directory aspell and enchant.ordering, which I've just edited in an attempt to match what's installed:

*:aspell,hunspell,ispell
cy_GB:aspell,hunspell,ispell
en_GB:aspell,hunspell,ispell
cy:aspell,hunspell,ispell
en:aspell,hunspell,ispell

~/.enchant/aspell contains

.aspell.cy.prepl  .aspell.cy.pws  .aspell.en.prepl  .aspell.en.pws  .aspell.en_GB.pws  poss-missing-welsh

In addition ~/.config/enchant contains

.directory  cy.dic  cy_GB.dic  en_GB.dic

which I assume are hunspell dictionaries, as they do not match aspell's format. (Although I'm not sure about this, since hunspell does not support Welsh as far as I know, so I don't know why there are personal Welsh dictionaries here.]

It is not just as-you-go spell-checking which is messed up. Spell-checking interactively behaves at least as bizarrely. It will quite happily suggest 'favor' as a substitute, while showing the current dictonary as en_GB-ise with accents. However, it tends not to do this as much if I switch the dictionary to Welsh. Things are not quite right in this case, but they are certainly not as confused.

It does not help that both KDE settings and Kile present a bewildering array of obscurely named dictionaries. (What is the difference between British English 'variant 0' 'variant 1' and 'large', for example? This is in addition to the aspell options, which I understand. I assume these are hunspell.)

I assume that Kile is actually writing my personal words to a generic .aspell.en.pws rather than .aspell.en_GB.pws since the access times show the latter is much older. Although this is a new Arch install, I copied over my personal spelling configuration. Hence, I can tell that, if this is wrong, it has been wrong for much longer than I've had spelling issues in Kile.

People who are good spellers tend not to think spell-checking is an important function. Possibly Kile's packager for Arch shares this view. I don't know. But for those of us who are less good spellers - or just more error-prone typists - this is close to being crucial.

Can anybody suggest a way to investigate (or fix) this? I think that Kile is probably using sonnet, but can't find out much useful about it. I also know that Kile is not storing the specific dictionary choice as far as I can tell, though KDE system settings is.

In ~/.config/kilerc:

[Spelling]
backgroundCheckerEnabled=true
checkUppercase=true
checkerEnabledByDefault=true
defaultClient=
defaultLanguage=en_GB
skipRunTogether=false

What happened to the -ise endings with accents? Which en_GB is Kile using? However, that can't be the whole problem: it might explain why 'recognize' is OK, but not 'favor' and 'color'. And if it is falling back to US English, why does it allow 'favour' and 'recognise' as well?

.config/KDE/Sonnet.conf:

[General]
autodetectLanguage=true
backgroundCheckerEnabled=true
checkUppercase=true
checkerEnabledByDefault=true
defaultClient=
defaultLanguage=en_GB-ise-w_accents
ignore_en_GB=Amarok, KAddressBook, KDevelop, KHTML, KIO, KJS, KMail, KMix, KOrganizer, Konqueror, Kontact, Nepomuk, Okular, Qt, Sonnet
ignore_en_GB-ise-w_accents=Amarok, KAddressBook, KDevelop, KHTML, KIO, KJS, KMail, KMix, KOrganizer, Konqueror, Kontact, Nepomuk, Okular, Qt, Sonnet
ignore_en_GB-variant_1=Amarok, KAddressBook, KDevelop, KHTML, KIO, KJS, KMail, KMix, KOrganizer, Konqueror, Kontact, Nepomuk, Okular, Qt, Sonnet
ignore_en_GB-w_accents=Amarok, KAddressBook, KDevelop, KHTML, KIO, KJS, KMail, KMix, KOrganizer, Konqueror, Kontact, Nepomuk, Okular, Qt, Sonnet
skipRunTogether=true

Since this shows the correct dictionary, I assume this isn't the problem and that the problem lies with Kile, but I have no idea how to get Kile to use the correct dictionary.

The expected system-wide dictionaries are installed in the usual places, as far as I can tell. /usr/share/hunspell/:

en_GB-large.aff  en_GB-large.dic

/usr/lib/aspell-0.60/

american-variant_0.alias      context-filter.info  dvorak.kbd                en_CA-wo_accents-only.rws      en_US-w_accents.multi      iso-8859-14.cset  koi8-r.cset
american-variant_1.alias      context-filter.so*   email-filter.info         en_CA-wo_accents.multi         en_US-wo_accents-only.rws  iso-8859-15.cmap  koi8-u.cmap
american-w_accents.alias      cp1250.cmap          email-filter.so*          en_CA.multi                    en_US-wo_accents.multi     iso-8859-15.cset  koi8-u.cset
american-wo_accents.alias     cp1250.cset          email.amf                 en_GB-ise-w_accents-only.rws   en_US.multi                iso-8859-16.cmap  none.amf
american.alias                cp1251.cmap          en-common.rws             en_GB-ise-w_accents.multi      en_affix.dat               iso-8859-16.cset  nroff-filter.info
british-ise-w_accents.alias   cp1251.cset          en-variant_0.multi        en_GB-ise-wo_accents-only.rws  en_phonet.dat              iso-8859-2.cmap   nroff-filter.so*
british-ise-wo_accents.alias  cp1252.cmap          en-variant_0.rws          en_GB-ise-wo_accents.multi     english-variant_0.alias    iso-8859-2.cset   nroff.amf
british-ise.alias             cp1252.cset          en-variant_1.multi        en_GB-ise.multi                english-variant_1.alias    iso-8859-3.cmap   perl.amf
british-ize-w_accents.alias   cp1253.cmap          en-variant_1.rws          en_GB-ize-w_accents-only.rws   english-variant_2.alias    iso-8859-3.cset   sgml-filter.info
british-ize-wo_accents.alias  cp1253.cset          en-variant_2.multi        en_GB-ize-w_accents.multi      english-w_accents.alias    iso-8859-4.cmap   sgml-filter.so*
british-ize.alias             cp1254.cmap          en-variant_2.rws          en_GB-ize-wo_accents-only.rws  english-wo_accents.alias   iso-8859-4.cset   sgml.amf
british-variant_0.alias       cp1254.cset          en-w_accents-only.rws     en_GB-ize-wo_accents.multi     english.alias              iso-8859-5.cmap   spell*
british-variant_1.alias       cp1255.cmap          en-w_accents.multi        en_GB-ize.multi                html-filter.info           iso-8859-5.cset   split.kbd
british-w_accents.alias       cp1255.cset          en-wo_accents-only.rws    en_GB-variant_0.multi          html.amf                   iso-8859-6.cmap   standard.kbd
british-wo_accents.alias      cp1256.cmap          en-wo_accents.multi       en_GB-variant_0.rws            iso-8859-1.cmap            iso-8859-6.cset   tex-filter.info
british.alias                 cp1256.cset          en.dat                    en_GB-variant_1.multi          iso-8859-1.cset            iso-8859-7.cmap   tex-filter.so*
canadian-variant_0.alias      cp1257.cmap          en.multi                  en_GB-variant_1.rws            iso-8859-10.cmap           iso-8859-7.cset   tex.amf
canadian-variant_1.alias      cp1257.cset          en_CA-variant_0.multi     en_GB-w_accents.multi          iso-8859-10.cset           iso-8859-8.cmap   texinfo-filter.info
canadian-w_accents.alias      cp1258.cmap          en_CA-variant_0.rws       en_GB-wo_accents.multi         iso-8859-11.cmap           iso-8859-8.cset   texinfo-filter.so*
canadian-wo_accents.alias     cp1258.cset          en_CA-variant_1.multi     en_GB.multi                    iso-8859-11.cset           iso-8859-9.cmap   texinfo.amf
canadian.alias                cy.dat               en_CA-variant_1.rws       en_US-variant_0.multi          iso-8859-13.cmap           iso-8859-9.cset   url.amf
ccpp.amf                      cy.multi             en_CA-w_accents-only.rws  en_US-variant_1.multi          iso-8859-13.cset           ispell*           welsh.alias
comment.amf                   cy.rws               en_CA-w_accents.multi     en_US-w_accents-only.rws       iso-8859-14.cmap           koi8-r.cmap

Note that my locale sets Welsh, but that British English is set for KDE, which doesn't support Welsh. (Although half the interface appears in Welsh anyway.) However, I doubt this has anything to do with locale and I've used a Welsh locale since at least 2011, probably earlier.

Last edited by cfr (2017-11-01 03:36:47)


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#2 2017-11-01 08:42:38

seth
Member
Registered: 2012-09-03
Posts: 49,986

Re: Spell-checking in Kile doesn't know its favors from its favours

Did you try hunspell directly?

echo "flavor flavour flavoring flavouring honor honour color colour recognize recognise" | hunspell
echo "flavor flavour flavoring flavouring honor honour color colour recognize recognise" | hunspell -d en_GB
echo "flavor flavour flavoring flavouring honor honour color colour recognize recognise" | hunspell -d en_US

Her Majesty seems to be ok with "flavor" and "recognize" while the colonies still won't accept the King's English at all.

Online

#3 2017-11-01 22:32:25

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,130

Re: Spell-checking in Kile doesn't know its favors from its favours

seth wrote:

Did you try hunspell directly?

echo "flavor flavour flavoring flavouring honor honour color colour recognize recognise" | hunspell
echo "flavor flavour flavoring flavouring honor honour color colour recognize recognise" | hunspell -d en_GB
echo "flavor flavour flavoring flavouring honor honour color colour recognize recognise" | hunspell -d en_US

Her Majesty seems to be ok with "flavor" and "recognize" while the colonies still won't accept the King's English at all.

I just get errors such as

Can't open affix or dictionary files for dictionary named "en_GB".

However,

echo "flavor flavour flavoring flavouring honor honour color colour recognize recognise" | aspell -l en_GB-ise-w_accents -a
@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.6.1)
*
*
& flavoring 10 15: flavouring, flavourings, favouring, flaring, flooring, slavering, flavouring's, flouring, florin, Florine
*
& honor 35 36: ho nor, ho-nor, hon or, hon-or, honour, honer, hone, Hon, hon, donor, hornier, Hanoi, honey, Horne, honours, Horn, hoing, horn, horny, nor, Ono, honers, honker, Han, Hun, hen, Hong, hoar, hoer, honk, hons, hour, hon's, honour's, honer's
*
& color 35 49: col or, col-or, colour, Colo, Coole, cool, Cole, cooler, COL, Col, col, collar, COLA, cloy, cola, coll, Cooley, Colon, colon, coolie, Cleo, Clio, coil, coley, colours, coal, cowl, Cl, cl, coo, cools, cor, coolly, colour's, cool's
*
& recognize 4 62: recognise, recogniser, recognised, recognises
*

Don't know what to say about 'flavor'. Not acceptable as far as I know. (And whatever Firefox uses for spell-checking agrees!)

But flavour aside, everything else should be identified as incorrect.

I assume the issue with hunspell is that the dictionary is called en_GB-large. I get results with the correct dictionary name. (I don't have a US dictionary installed for hunspell - I don't like hunspell and try to avoid it to keep things simple. I'd rather use a single programme for all the languages I need.)

Last edited by cfr (2017-11-01 22:40:47)


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#4 2017-11-01 22:41:59

seth
Member
Registered: 2012-09-03
Posts: 49,986

Re: Spell-checking in Kile doesn't know its favors from its favours

So hunspell is out of the game.

echo "flavor flavour flavoring flavouring honor honour color colour recognize recognise" > /tmp/aspell.test
aspell check /tmp/aspell.test
LANG=en_GB aspell check /tmp/aspell.test
LANG=en_US aspell check /tmp/aspell.test

This queen seems unhappy with "recognize", yanks still don't like king's.
You might have added variants to your local dicts?

Online

#5 2017-11-02 00:57:16

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,130

Re: Spell-checking in Kile doesn't know its favors from its favours

seth wrote:

So hunspell is out of the game.

echo "flavor flavour flavoring flavouring honor honour color colour recognize recognise" > /tmp/aspell.test
aspell check /tmp/aspell.test
LANG=en_GB aspell check /tmp/aspell.test
LANG=en_US aspell check /tmp/aspell.test

This queen seems unhappy with "recognize", yanks still don't like king's.
You might have added variants to your local dicts?

Notice that I specified en_GB-ise-w_accents. I also have en_GB set as an alias for this particular variant. One of the things the aspell dictionaries offer are different variants within a language variant. So British -> with or without accents + with -ise or -ize endings.

But the problem is that this is not working correctly in Kile.

I'm not sure what you mean about adding variants locally. I posted my ~/.aspell.conf above. Is that what you mean? The dictionaries for the different variants are all installed using packages in the main repositories, though (supplemented by personal additions, obviously). The exception to this may be Welsh. I can't remember if that's from the main repo or if I created the package. But the English stuff is certainly not a local creation.

/usr/lib/aspell-0.60/american-variant_0.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/american-variant_1.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/american-w_accents.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/american-wo_accents.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/american.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/british-ise-w_accents.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/british-ise-wo_accents.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/british-ise.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/british-ize-w_accents.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/british-ize-wo_accents.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/british-ize.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/british-variant_0.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/british-variant_1.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/british-w_accents.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/british-wo_accents.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/british.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/canadian-variant_0.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/canadian-variant_1.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/canadian-w_accents.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/canadian-wo_accents.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/canadian.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/ccpp.amf is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/comment.amf is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/context-filter.info is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/context-filter.so is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/cp1250.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/cp1250.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/cp1251.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/cp1251.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/cp1252.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/cp1252.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/cp1253.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/cp1253.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/cp1254.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/cp1254.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/cp1255.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/cp1255.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/cp1256.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/cp1256.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/cp1257.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/cp1257.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/cp1258.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/cp1258.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/cy.dat is owned by aspell-cy 0.50-1
/usr/lib/aspell-0.60/cy.multi is owned by aspell-cy 0.50-1
/usr/lib/aspell-0.60/cy.rws is owned by aspell-cy 0.50-1
/usr/lib/aspell-0.60/dvorak.kbd is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/email-filter.info is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/email-filter.so is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/email.amf is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/en-common.rws is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en-variant_0.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en-variant_0.rws is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en-variant_1.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en-variant_1.rws is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en-variant_2.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en-variant_2.rws is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en-w_accents-only.rws is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en-w_accents.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en-wo_accents-only.rws is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en-wo_accents.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en.dat is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_CA-variant_0.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_CA-variant_0.rws is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_CA-variant_1.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_CA-variant_1.rws is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_CA-w_accents-only.rws is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_CA-w_accents.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_CA-wo_accents-only.rws is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_CA-wo_accents.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_CA.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_GB-ise-w_accents-only.rws is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_GB-ise-w_accents.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_GB-ise-wo_accents-only.rws is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_GB-ise-wo_accents.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_GB-ise.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_GB-ize-w_accents-only.rws is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_GB-ize-w_accents.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_GB-ize-wo_accents-only.rws is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_GB-ize-wo_accents.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_GB-ize.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_GB-variant_0.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_GB-variant_0.rws is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_GB-variant_1.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_GB-variant_1.rws is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_GB-w_accents.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_GB-wo_accents.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_GB.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_US-variant_0.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_US-variant_1.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_US-w_accents-only.rws is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_US-w_accents.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_US-wo_accents-only.rws is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_US-wo_accents.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_US.multi is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_affix.dat is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/en_phonet.dat is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/english-variant_0.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/english-variant_1.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/english-variant_2.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/english-w_accents.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/english-wo_accents.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/english.alias is owned by aspell-en 2016.06.26-1
/usr/lib/aspell-0.60/html-filter.info is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/html.amf is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-1.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-1.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-10.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-10.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-11.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-11.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-13.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-13.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-14.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-14.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-15.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-15.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-16.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-16.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-2.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-2.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-3.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-3.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-4.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-4.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-5.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-5.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-6.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-6.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-7.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-7.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-8.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-8.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-9.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/iso-8859-9.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/ispell is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/koi8-r.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/koi8-r.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/koi8-u.cmap is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/koi8-u.cset is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/none.amf is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/nroff-filter.info is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/nroff-filter.so is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/nroff.amf is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/perl.amf is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/sgml-filter.info is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/sgml-filter.so is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/sgml.amf is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/spell is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/split.kbd is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/standard.kbd is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/tex-filter.info is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/tex-filter.so is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/tex.amf is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/texinfo-filter.info is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/texinfo-filter.so is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/texinfo.amf is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/url.amf is owned by aspell 0.60.6.1-5
/usr/lib/aspell-0.60/welsh.alias is owned by aspell-cy 0.50-1

CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#6 2017-11-02 01:01:40

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,130

Re: Spell-checking in Kile doesn't know its favors from its favours

[Apologies for the double-post - I have a tendency to not notice that I've clicked 'quote' rather than 'edit' and keep inadvertently duplicating stuff rather than adding a few lines to it. I've deleted the duplication, but I can't merge the posts and don't want to keep bothering the mods.]

echo "flavor flavour flavoring flavouring honor honour color colour recognize recognise" > /tmp/aspell.test
aspell check /tmp/aspell.test

This flags everything as misspelt, as I'd expect.

LANG=en_GB aspell check /tmp/aspell.test

Apart from the 'flavor' issue, behaves as expected: flavoring, honor, color, recognize are all wrong.

LANG=en_US aspell check /tmp/aspell.test

Also behaves as expected. flavour, flavouring, honour, colour and recognise are all wrong.

Last edited by cfr (2017-11-02 01:06:47)


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#7 2017-11-03 17:00:23

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,130

Re: Spell-checking in Kile doesn't know its favors from its favours

I just realised that I'm seeing a lot of errors of the following kind in the journal.

Tach 03 16:52:42 MyComputer kile[1318]: sonnet.core: Loading trigrams from "/usr/share/kf5/sonnet/trigrams.map"
Tach 03 16:52:42 MyComputer kile[1318]: sonnet.core: Missing trigrams for languages: QSet("he_IL", "en_GB", "en_CA")
Tach 03 16:52:42 MyComputer kile[1318]: sonnet.core: Unable to identify string with dictionaries: "=7"
Tach 03 16:52:42 MyComputer kile[1318]: sonnet.core: Unable to identify string with dictionaries: "["
Tach 03 16:52:42 MyComputer kile[1318]: sonnet.core: Unable to identify string with dictionaries: "]{"
Tach 03 16:52:42 MyComputer kile[1318]: sonnet.core: Unable to identify string with dictionaries: "}"
Tach 03 16:52:42 MyComputer kile[1318]: sonnet.core: Unable to identify string with dictionaries: "{"
Tach 03 16:52:42 MyComputer kile[1318]: sonnet.core: Unable to identify string with dictionaries: "}"
Tach 03 16:52:42 MyComputer kile[1318]: sonnet.core: Unable to identify string with dictionaries: "{"
Tach 03 16:52:42 MyComputer kile[1318]: sonnet.core: Unable to identify string with dictionaries: "}"
Tach 03 16:52:42 MyComputer kile[1318]: sonnet.core: Unable to identify string with dictionaries: "{"
Tach 03 16:52:42 MyComputer kile[1318]: sonnet.core: Unable to identify string with dictionaries: "}"
Tach 03 16:52:42 MyComputer kile[1318]: sonnet.core: Unable to identify string with dictionaries: "{"
Tach 03 16:52:42 MyComputer kile[1318]: sonnet.core: Unable to identify string with dictionaries: "}"
Tach 03 16:52:42 MyComputer kile[1318]: sonnet.core: Unable to identify string with dictionaries: "{"
Tach 03 16:52:42 MyComputer kile[1318]: sonnet.core: Unable to identify string with dictionaries: "}"
...

Is the problem a lack of trigrams (whatever they are) and, if so, where can I get some?


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#8 2017-11-05 12:36:25

seth
Member
Registered: 2012-09-03
Posts: 49,986

Re: Spell-checking in Kile doesn't know its favors from its favours

https://en.wikipedia.org/wiki/Trigram
Maybe https://en.wikipedia.org/wiki/Pseudowor … _syllables

Since you have spell correction in general, I doubt that's the cause. It'll be more sth. like sonnet is just checking every remotely English dictionary available.
That said: the en_GB dict of hunspell knows trash, bullshit, rappel, ladybug, curb, groundhog and woodchuck ... so you lost anyway tongue

Online

#9 2017-11-05 23:58:12

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,130

Re: Spell-checking in Kile doesn't know its favors from its favours

So Sonnet wants to do cryptographic analysis of my documents? Why?

Or are you saying I should buy it some Edward Lear?

Since you have spell correction in general, I doubt that's the cause. It'll be more sth. like sonnet is just checking every remotely English dictionary available.
That said: the en_GB dict of hunspell knows trash, bullshit, rappel, ladybug, curb, groundhog and woodchuck ... so you lost anyway tongue

There's a reason I don't use hunspell's dictionaries. And not just that it doesn't do Welsh. Though several of the words you list are perfectly good words in UK English. 'curb' is fine. Just a curb is not the same as a kerb. 'trash' is fine, too, To trash something creates a lot of rubbish. Not sure about all the others, but 'bullshit' is a technical term in my discipline, so I'd have to add it anyway.

I was not lost before the new version of Kile based on QT5. So unless aspell's dictionaries have simultaneously degenerated, I should not be lost now if things worked as they should. Which they don't. But I don't know why they don't, or how to find out why they don't or how to make them please stop it!

This SHOULD work. I should be able to spell check with aspell - it works on the command line, as shown above. How do I get it working in Kile again?

EDIT:

OED lists 'woodchuck', 'rappel' (4 senses), 'bullshit' and 'ladybug'. But it notes that 'ladybug' is now chiefly used in North America. It was used in 1699 in the Royal Society's Philosophical Transactions, though. However, it insists that 'groundhog' be 'ground-hog' (an aardvark, an American marmot or a slang term for workmen who are employed at ground level).

Last edited by cfr (2017-11-06 00:09:17)


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#10 2017-11-06 20:53:43

seth
Member
Registered: 2012-09-03
Posts: 49,986

Re: Spell-checking in Kile doesn't know its favors from its favours

I could rather imagine them to be used for language detection.

Brute force:
keep only /usr/lib/qt/plugins/kf5/sonnet/aspell.so
and move away /usr/lib/qt/plugins/kf5/sonnet/hspell.so, /usr/lib/qt/plugins/kf5/sonnet/hunspell.so, /usr/lib/qt/plugins/kf5/sonnet/voikko.so
?

Online

#11 2017-11-07 01:24:27

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,130

Re: Spell-checking in Kile doesn't know its favors from its favours

seth wrote:

I could rather imagine them to be used for language detection.

Brute force:
keep only /usr/lib/qt/plugins/kf5/sonnet/aspell.so
and move away /usr/lib/qt/plugins/kf5/sonnet/hspell.so, /usr/lib/qt/plugins/kf5/sonnet/hunspell.so, /usr/lib/qt/plugins/kf5/sonnet/voikko.so
?

Isn't that a bit drastic? I'm currently fairly desperate, but are things that desperate?

https://forum.kde.org/viewtopic.php?f=6 … le#p376745 is a thread about spell-checking not working. Both those users are on Arch. The suggestion there is that some required dependency may not be installed. However, I don't see any evidence produced in support of that claim. Is this likely? (I assume it would be something which needs to be listed as a dependency, but is not in Arch's packages for this to make sense.)

https://bugs.kde.org/show_bug.cgi?id=386611

Last edited by cfr (2017-11-07 02:12:04)


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#12 2017-11-07 08:05:54

seth
Member
Registered: 2012-09-03
Posts: 49,986

Re: Spell-checking in Kile doesn't know its favors from its favours

Sometimes a broadswoard allows to see things very clearly ;-)

If you prevent sonnet from using anything but aspell and that leads to the desired results, you know that the undesired invocation of other spelling plugins is the cause and can look into solutions (though I found no way to configure plugins or priority on a brief inspection of the sonnet code - hunspell is however the fallback solution)

Online

#13 2017-11-08 01:06:53

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,130

Re: Spell-checking in Kile doesn't know its favors from its favours

seth wrote:

Sometimes a broadswoard allows to see things very clearly ;-)

If you prevent sonnet from using anything but aspell and that leads to the desired results, you know that the undesired invocation of other spelling plugins is the cause and can look into solutions (though I found no way to configure plugins or priority on a brief inspection of the sonnet code - hunspell is however the fallback solution)

I see your point. I will try this if my current fix does not work. The above bug report got a reply (so quickly, I hardly believe it is Kile's bug tracker) suggesting disabling automatic language detection in Kile's settings. (I have to be honest: I had not realised that Kile offered this option, let alone enabled it by default.) So for now I wait and see ....


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#14 2017-11-12 23:32:12

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,130

Re: Spell-checking in Kile doesn't know its favors from its favours

So it seems that turning of auto-language detection solves the problem of the wrong words being recognised as misspelt. Rather, Kile underlines just the words I'd expect.

However, on-the-fly spell-checking is essentially broken. It can be triggered only by disabling and re-enabling it. At this point, the expected words are flagged as incorrect. However, any changes to those words - any changes at all - cause the flag to be removed (i.e. correcting 'xkssdf' to 'xkssdjf' gets the thumbs-up). Moreover, any newly-inputted text is processed only if spell-checking is again disabled and enabled.

So, it seems I can either have inaccurate on-the-fly spell-checking or accurate non-on-the-fly spell-checking, but accurate on-the-fly spell-checking continues to elude me.


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#15 2018-04-16 19:52:44

Gallaecio
Member
From: Vigo (Spain)
Registered: 2009-04-10
Posts: 50
Website

Re: Spell-checking in Kile doesn't know its favors from its favours

For future reference, I believe this KDE bug report covers the bug being discussed: https://bugs.kde.org/show_bug.cgi?id=386611

Offline

Board footer

Powered by FluxBB