Bug#730242: iceweasel: Does not properly set the spell checker language

Andrew Ayer agwa at andrewayer.name
Sat Nov 23 05:40:24 UTC 2013


Package: iceweasel
Version: 17.0.10esr-1~deb7u1
Severity: normal

Dear Maintainer,

Iceweasel does not properly set the spell checker language.
This manifests in two ways:

1. If the HTML document specifies a language using the lang attribute,
no language is selected by default and spell checking is effectively
disabled, even if the necessary dictionary packages to support the
specified language are installed (I was testing with myspell-fr,
myspell-en-us, and myspell-en-gb).

Test cases:
  http://www.cloudmutt.com/s/iceweasel_language_bug/lang=en.html
  http://www.cloudmutt.com/s/iceweasel_language_bug/lang=en-GB.html

2. If the HTML document does not specify the language, some language
besides my preferred language is selected by default, and spell checking
occurs in that language.  (My preferred language is English, but French
is selected by default, probably because French is the first language
in the Languages menu.)

Test case: http://www.cloudmutt.com/s/iceweasel_language_bug/no-lang.html

** Be sure to visit each test case using a clean Iceweasel profile. The
act of visiting one test case can set a site-specific preference that
affects the other test cases. **

If I manually select the language by right-clicking on the textarea and
using the Languages menu, Iceweasel remembers the selection for that
site.  This is not an acceptable solution because I want the default
language to be correct on all sites I visit.

This problem is specific to Iceweasel.  I tested using Firefox 17 ESR
from Mozilla and everything worked correctly.

I tracked this bug down to the fact that dictionaries in Debian
are installed with filenames containing underscores instead of
hyphens (i.e. "en_US.dic" instead of "en-US.dic").  Although most
applications expect underscores, Mozilla applications expect hyphens.
If I create symlinks in /usr/share/hunspell from e.g. "en-US.{aff|dic}"
to "en_US.{aff|dic}" this problem goes away (although each language now
appears twice in the menu to select a language).

As it turns out, Debian used to create these symlinks for compatibility
with Mozilla, but in 2009 they were removed (see bug #557604) because of
an erroneous belief that Mozilla now supported dictionary filenames with
underscores (see https://bugzilla.mozilla.org/show_bug.cgi?id=514151).
However, the only thing that changed in Mozilla to support underscores
was the code to translate a language code to a human-readable
string.  The code that actually *sets* the dictionary was never
changed to support underscores.  (I believe the relevant file is
editor/composer/src/nsEditorSpellCheck.cpp - a quick reading of the
source[1] indicates that it requires language codes to contain hyphens.)

I therefore propose one of the following:

1. Patch the Mozilla source to support underscores.

2. Bring back the symlinks (although this would mean languages
appear twice in the menu). This presumably requires a change in the
dictionaries-common package.

Thanks,
Andrew

[1] http://hg.mozilla.org/mozilla-central/file/tip/editor/composer/src/nsEditorSpellCheck.cpp


-- Package-specific info:

-- Extensions information

-- Plugins information

-- Addons package information
ii  iceweasel      17.0.10esr-1 amd64        Web browser based on Firefox

-- System Information:
Debian Release: 7.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.2.0-4-amd64 (SMP w/8 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash

Versions of packages iceweasel depends on:
ii  debianutils         4.3.2
ii  fontconfig          2.9.0-7.1
ii  libc6               2.13-38
ii  libgdk-pixbuf2.0-0  2.26.1-1
ii  libglib2.0-0        2.33.12+really2.32.4-5
ii  libgtk2.0-0         2.24.10-2
ii  libnspr4            2:4.9.2-1
ii  libsqlite3-0        3.7.13-1+deb7u1
ii  libstdc++6          4.7.2-5
ii  procps              1:3.3.3-3
ii  xulrunner-17.0      17.0.10esr-1~deb7u1

iceweasel recommends no packages.

Versions of packages iceweasel suggests:
pn  fonts-stix | otf-stix  <none>
ii  libgssapi-krb5-2       1.10.1+dfsg-5+deb7u1
pn  mozplugger             <none>

Versions of packages xulrunner-17.0 depends on:
ii  libasound2                1.0.25-4
ii  libatk1.0-0               2.4.0-2
ii  libbz2-1.0                1.0.6-4
ii  libc6                     2.13-38
ii  libcairo2                 1.12.2-3
ii  libdbus-1-3               1.6.8-1+deb7u1
ii  libdbus-glib-1-2          0.100.2-1
ii  libevent-2.0-5            2.0.19-stable-3
ii  libfontconfig1            2.9.0-7.1
ii  libfreetype6              2.4.9-1.1
ii  libgcc1                   1:4.7.2-5
ii  libgdk-pixbuf2.0-0        2.26.1-1
ii  libglib2.0-0              2.33.12+really2.32.4-5
ii  libgtk2.0-0               2.24.10-2
ii  libhunspell-1.3-0         1.3.2-4
ii  libjpeg8                  8d-1
ii  libmozjs17d               17.0.10esr-1~deb7u1
ii  libnspr4                  2:4.9.2-1
ii  libnss3                   2:3.14.4-1
ii  libnss3-1d                2:3.14.4-1
ii  libpango1.0-0             1.30.0-1
ii  libpixman-1-0             0.26.0-4
ii  libsqlite3-0              3.7.13-1+deb7u1
ii  libstartup-notification0  0.12-1
ii  libstdc++6                4.7.2-5
ii  libvpx1                   1.1.0-1
ii  libx11-6                  2:1.5.0-1+deb7u1
ii  libxext6                  2:1.3.1-2+deb7u1
ii  libxrender1               1:0.9.7-1+deb7u1
ii  libxt6                    1:1.1.3-1+deb7u1
ii  zlib1g                    1:1.2.7.dfsg-13

Versions of packages xulrunner-17.0 suggests:
pn  libcanberra0  <none>
pn  libgnomeui-0  <none>

-- Configuration Files:

-- no debconf information



More information about the pkg-mozilla-maintainers mailing list