chromium/third_party/hunspell/README.chromium

Name: hunspell
URL: http://hunspell.sourceforge.net/
Version: 1.6.0
CPEPrefix: cpe:/a:hunspell_project:hunspell:1.6.0
License: MPL 1.1/GPL 2.0/LGPL 2.1
License File: COPYING.MPL
Security Critical: yes
Shipped: yes

Description:
This is a partial copy of Hunspell 1.6.0 with the following changes:
* Move README.md onto the README symlink.
* Change src/hunspell/filemgr.hxx and src/hunspell/filemgr.cxx to use
  LineIterator.
* Add ScopedHashEntry, which creates temporary hentry objects, to
  src/hunspell/suggestmgr.cxx
* Change the input params of the constructors to receive a BDICTReader instead
  of a file path.
* Merge http://hunspell.cvs.sourceforge.net/viewvc/hunspell/hunspell/src/hunspell/affixmgr.cxx?r1=1.40&r2=1.41
The patch is in google.patch.
* Add a pointer to the bdict_reader into the "SuggestMgr" so that it can use the
  replacement table from the bdict file for the secondary suggestion mechanism.
* Avoid crash in SuggestMgr::forgotchar_utf() and SuggestMgr::forgotchar() on
  Windows by using a one-character larger buffer.
* calloc buffers in SuggestMgr::lcs to avoid reads from uninintialized buffers.
* Fix string OOB write in reverse_condition in src/hunspell/affixmgr.cxx
  Upstream issue: https://github.com/hunspell/hunspell/issues/714
* Improve performance of HashMgr::InitHashEntry when BDICT file is used.

Chromium-specific changes are in google.patch. To update the patch, follow these
steps, or simply run update_google_patch.sh from the commandline.
1) Checkout hunspell:
   $ git clone https://github.com/hunspell/hunspell.git
   $ cd hunspell
   $ git checkout v1.6.0
2) Apply the existing patch:
   $ patch -p1 -i ~/src/third_party/hunspell/google.patch
3) Make your new changes inside the git hunspell directory.
4) Generate the updated patch:
   $ git diff > ~/src/third_party/hunspell/google.patch

All dictionaries used by Chromium has been checked in to the
'third_party/hunspell_dictionaries' directory. They have several additions over
the default myspell/hunspell dictionaries.
(See 'third_party/hunspell_dictionaries/README.chromium' for their details.)