summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog1813
1 files changed, 1813 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..b26991f
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,1813 @@
+2011-02-16 Németh László <nemeth at numbertext dot org>:
+ * src/*/Makefile.am: fix library versioning, the probem reported by
+ Rene Engerhald and Simon Brouwer.
+
+ * man/hunspell.4: new version based on the revised version of Ruud Baars
+
+2011-02-02 Németh László <nemeth at OOo>:
+ * suggestngr.cxx: fix ngram PHONE suggestion for input words with
+ diacritics using UTF-8 encoded dictionaries (add byte length to the
+ 8-bit phonet() argument instead of character length)
+
+ * suggestmgr.cxx: fix missing csconv problem with UTF-8 encoding
+ dictionares, when the input contains non-BMP characters
+ - tests/utf8_nonbmp.sug: test file
+
+ * suggestmgr.cxx: mixed and keyboard based character suggestions
+ don't forbid ngram suggestion search (optimized tests/suggestiontest)
+
+ * affixmgr.cxx: fix hun#2999225: interfering compounding mechanisms,
+ tested on Dutch word list and reported by Ruud Baars
+
+ * affixmgr.cxx: allomorph fix for hun#2970240 (Hungarian
+ compound "vadász+gép" was analyzed as vad+ász+gép, and rejected
+ by the ss->s rep rule (verb "vadássz"), but the analysis
+ didn't continue for the longer word parts (vadász+gép).
+
+ * csutil.cxx: add lang code "az_AZ", "hu_HU", "tr_TR" for back
+ compatibility (fixing Azeri and Turkish casing conversion, also
+ Hungarian compound handling)
+
+ * affixmgr.cxx: fix morphological analysis
+
+2011-01-26 Németh László <nemeth at OOo>:
+ * affixmgr.cxx: fix for moz#626195 (memcheck problem with FULLSTRIP).
+
+ * affixmgr.*, suggestmgr.cxx: FORBIDWARN parameter (see manual)
+
+2011-01-24 Németh László <nemeth at OOo>:
+ * suffixmgr.cxx: fix bad suggestion of forbidden compound words, eg.
+ "termijndoel" with the Dutch dictionary. Reported by Ruud Baars.
+
+ * latexparser.cxx: fix double apostrophe TeX quoation mark tokenization
+ (hun#3119776), reported by Wybodekker at SF.net.
+
+ * tests/suggestiontest/*: multilanguage and single Hunspell version, see README
+ * tests/suggestiontest/prepare2: for make -f Makefile.orig single
+
+2011-01-22 Németh László <nemeth at OOo>:
+ * affixmgr.*, suggestmgr.*: new features
+ ONLYMAXDIFF: remove all bad ngram suggestions (default mode keeps one)
+ NONGRAMSUGGEST: similar to NOSUGGEST, but it forbids to use the word
+ in ngram based (more, than 1-character distance) suggestions.
+
+2011-01-21 Németh László <nemeth at OOo>:
+ * suggestmgr.*: limit wild suggestions (hun#2970237 by Ruud Baars)
+ - limited compound word suggestions
+ - improved and limited ngram based suggestions
+ * tests/*.sug: modified test files
+ - feature MAXCPDSUGS:
+ MAXCPDSUGS 0 : no compound suggestion, suggested by
+ Finn Gruwier Larsen in hunfeat#2836033
+ MAXCPDSUGS n : max. ~n compound suggestions
+ - feature MAXDIFF: differency limit for ngram suggestions: 0-10
+ eg. MAXDIFF 5: normal (default) limit
+ MAXDIFF 0: only one ngram suggestion
+ MAXDIFF 10: ~maxngramsugs ngram suggestions
+
+ * affixmgr.*, hunspell.*: add flag FORCEUCASE (hun#2999228), force
+ capitalization of compound words, see Hunspell 4 manual),
+ suggested by Ruud Baars
+ test/forceucase.*: test files
+
+ * affixmgr.*, hunspell.*: add flag WARN (hun#1808861), optional warning feature
+ for rare words, suggested by Ruud Baars
+ tests/warn: test files
+ * tools/hunspell.cxx: add option -r for optional filtering of rare words
+
+ * affixmgr.cxx: fix hun#3161359 (gcc warnings) reported by Ryan VanderMeulen.
+
+2011-01-17 Németh László <nemeth at OOo>:
+ * suggestmgr.cxx: fix hun#3158994 and hun#3159027 (missing csconv table
+ using awkward 8bit capitalization of UTF-8 encoded dictionary words with PHONE
+ suggestion, reported by benjarobin and dicollecte at SF.net).
+
+2011-01-13 Németh László <nemeth at OOo>:
+ * affixmgr.cxx: ONLYINCOMPOUND fix for hun#2999224 (fogemorphene
+ was allowed in end position of compoundings). Reported by Ruud Baars.
+ * tests/onlyincompound2.*: test files
+
+2011-01-10 Ingo H. de Boer <idb_winshell at SF.net>:
+ * win_api/{hunspell,libhunspell, testparser}.vcproj: updated project
+ files for the library and the executables. Compiling problem
+ also reported by Don Walker.
+
+2011-01-06 Németh László <nemeth at OOo>:
+ * affixmgr.cxx: fix freedesktop#32850 (program halt during Hungarian
+ spell checking of the word "6csillagocska6", reported by András Tímár)
+
+ * tools/hunspell.cxx: add Mac OS X Hunspell dictionary paths, asked by
+ Vidar Gundersen in hunfeat#3142010
+
+2011-01-05 Caolán McNamara <cmc at OOo>:
+ * moz#620626 NS_UNICHARUTIL_CID doesn't support
+ case conversion
+
+2011-01-03 Németh László <nemeth at OOo>:
+ * NEWS and THANKS: update for release 1.2.13
+
+2010-12-20 Németh László <nemeth at OOo>:
+ * affixmgr.cxx: hun#3140784
+
+2010-12-16 Németh László <nemeth at OOo>:
+ * affixmgr.cxx:
+ - improved fix of hun#2970242 (supporting
+ zero affixes, reported by Ruud Baars
+ - tests/opentaal_cpdpat{,2}: test files
+
+ - switching off default BREAK parameters by BREAK 0,
+ reported by Ruud Baars
+
+ - hun#2999225: interfering compounding mechanisms, reported by Ruud Baars
+
+2010-12-11 Németh László <nemeth at OOo>:
+ * affixmgr.cxx: fix hun#2970242 (CHECKCOMPOUNDPATTERN only with flags),
+ the bug reported by Ruud Baars
+ * tests/2970242.*: test files
+
+ * tests/2970240.*: test files for CHECKCOMPOUNDPATTERN fix (check all
+ boundaries in compound words, fixed by the previous CHECKCOMPOUNDREP
+ fix), the bug reported by Ruud Baars
+
+ * win_api/Makefile.cygwin: update
+
+2010-12-09 Caolán McNamara <cmc at OOo>:
+ * moz#617953 fix leak
+
+2010-11-08 Caolán McNamara <cmc at OOo>:
+ * rhbz#650503 crash in arabic dictionary
+
+2010-11-05 Caolán McNamara <cmc at OOo>:
+ * rhbz#648740 don't warn on empty flagvector
+
+2010-11-03 Caolán McNamara <cmc at OOo>:
+ * logically we shouldn't need a csconv table in utf-8 mode
+
+2010-10-27 Németh László <nemeth at OOo>:
+ * hun#3000055 (requested by Ruud Baars) add REP boundary specifiation:
+ REP ^word$ xxxx
+ REP ^wordstarting xxxx
+ REP wordending$ xxxx
+
+ * hun#3008434 (requested by Adrián Chaves Fernández) and
+ hun#3018929 (requested by Ruud Baars): REP with more than 2 words:
+ REP morethantwo more_than_two
+
+ * suggestmgr.cxx: fix incomplete suggestion list for capitalized words,
+ eg. missing Machtstrijd->Machtsstrijd in the Dutch dictionary
+ (reported by Ruud Bars)
+
+ * tests, man: related updates
+
+2010-10-12 Caolán McNamara <cmc at OOo>:
+ * moz#603311 HashMgr::load_tables leaks dict when decode_flags fails
+ * fix mem leak found with new tests
+ * hun#3084340 allow underscores in html entity names
+
+2010-10-07 Németh László <nemeth at OOo>:
+ * affixmgr.cxx:
+ - hun#2970239 fix bad suggestion of forbidden compound words
+ - hun#2999224 fix keepcase feature on compound words (only partial
+ fix for COMPOUNDRULE based compounding)
+ - fix checkcompoundrep feature in compound words (check all boundaries,
+ not only the last one)
+ Problems reported by Ruud Baars.
+
+ * tests/opentaal_forbiddenword[12]*, tests/opentaal_keepcase*:
+ new test files for the previous fixes
+ * tests/checkcompoundrep: extended test file.
+
+2010-09-05 Caolán McNamara <cmc at OOo>:
+ * moz#583582 fix double buffer gcc fortify issue
+
+2010-08-13 Caolán McNamara <cmc at OOo>:
+ * moz#586671 AffixMgr::parse_convtable leaks pattern/pattern2 if it
+ can't create both
+ * moz#586686 tidy up get_xml_list and friends
+
+2010-08-10 Caolán McNamara <cmc at OOo>:
+ * hun#3022860 fix remove duplicate code
+
+2010-07-17 Caolán McNamara <cmc at OOo>:
+ * remove ununsed get_default_enc and avoid potential misrecognition of
+ three letter language ids
+ * normalize encoding names before lookup
+
+2010-07-05 Caolán McNamara <cmc at OOo>:
+ * hun#2286060 add Hangul syllables to unicode tables
+
+2010-06-26 Caolán McNamara <cmc at OOo>:
+ * moz#571728 keep new[]/delete[] wrappers in sync for embedded in moz
+ case
+
+2010-06-13 Caolán McNamara <cmc at OOo>:
+ * moz#571728 keep new[]/delete[] wrappers in sync for embedded in moz
+ case
+
+2010-06-02 Caolán McNamara <cmc at OOo>:
+ * moz#569611 compile cleanly under win64
+
+2010-05-22 Caolán McNamara <cmc at OOo>:
+ * moz#525581 apply mozilla's current preferred get_current_cs impl
+
+2010-05-17 Németh László <nemeth at OOo>:
+ * affixmgr.cxx: fix bad limitation of parenthesized flags at
+ COMPOUNDRULEs. Windows crash reported by Ruud Baars and Simon Brouwer.
+
+2010-05-05 Caolán McNamara <cmc at OOo>:
+ * rhbz#589326 malloc of int that should have been of char**
+ * hun#2997388 fix ironic misspellings
+
+2010-04-28 Caolán McNamara <cmc at OOo>:
+ * moz#550942 get_xml_list doesn't handle failure from get_xml_par
+
+2010-04-27 Caolán McNamara <cmc at OOo>:
+ * moz#465612 mozilla-specific code leaks
+ * moz#430900 phone is dereferenced before oom check
+ * moz#418348 ckey_utf alloc is used unchecked in SuggestMgr::badcharkey_utf
+ * CID#1487 pointer "rl" dereferenced before NULL check
+ * CID#1464 Returned without freeing storage "ptr"
+ * CID#1459 Avoid duplicate strchr
+ * CID#1443 Avoid any chance of dereferencing *slst
+ * CID#1442 Unsafe to have a null morph
+ * CID#1440 Avoid null filenames
+ * CID#1302 Dereferencing NULL value "apostrophe"
+ * CID#1441 Avoid deferencing null ppfx
+
+2010-04-16 Caolán McNamara <cmc at OOo>:
+ * hun#2344123 fix U)ncap in utf-8 locale
+ * fix up hunspell text UI and lines wider than terminal
+
+2010-04-15 Caolán McNamara <cmc at OOo>:
+ * hun#2613701 fix small leak in FileMgr::FileMgr
+ * fix small leak in tools/hunspell
+ * hun#2871300 avoid crash if def and words are NULL
+ * hun#2904479 fix length of hzip file
+ * hun#2986756 mingw build fix
+ * hun#2986756 fix double-free
+ * hun#2059896 fix crash in interactive mode without nls
+ * hun#2917914 add some extra words to the latexparser
+ * make some structs static
+ * C-api has duped symbol names
+ * regenerate gettext/intl with recent version
+ * hun#2796772 build a .dll under MinGW
+ * rhbz#502387 allow cross-compiling for MinGW target
+ * hun#2467643 update .vcproj files to include replist.?xx
+ * unify visiblity/dll_export support across platforms
+ * hun#2831289 sizeof(short) typo
+ * hun#2986756 add -u3 gcc style output
+
+2010-04-14 Caolán McNamara <cmc at OOo>:
+ * hun#2813804 fix segfault on hu_HU stemming
+
+2010-04-13 Caolán McNamara <cmc at OOo>:
+ * hun#2806689 fix ironic misspellings
+ * hun#2836240 add Italian translations
+
+2010-04-09 Caolán McNamara <cmc at OOo>:
+ * fix titchy possible leak in command-line spellchecker
+
+2010-04-07 Caolán McNamara <cmc at OOo>:
+ * hun#2973827 apply win64 patch
+ * hun#2005643 fix broken mystrdup
+
+2010-03-04 Caolán McNamara <cmc at OOo>:
+ * ooo#107768 fix crash in long strings in spellml mode
+ * hun#1999737 add some malloc checks
+ * hun#1999769 drop old buffer on realloc failure
+ * hun#2005643 tidy string functions
+ * hun#2005643 micro-opt
+ * hun#2006077 free strings on failed dict parse
+ * hun#2110783 ispell-alike verbose mode implementation
+
+2010-03-03 Németh László <nemeth at OOo>:
+ * hunspell/(affixmgr, suggestmgr).cxx: add character sequence
+ support for MAP suggestion, using parenthesized character groups
+ in the syntax, eg. MAP ß(ss).
+ * man/hunspell.4, tests/map*: documentation and test files
+
+2010-02-25 Németh László <nemeth at OOo>:
+ * hunspell/hunspell.cxx: add recursion limit for BREAK (fix OOo Issue 106267)
+
+ * hunspell/hunspell.cxx: fix crash in morphological analysis of
+ capitalized words with ending dashes
+
+ * affixmgr.cxx: fix morphological analysis of long numbers combined with dash,
+ eg. 45-00000045 (reported by a@freeblog.hu).
+
+2010-02-23 Caolán McNamara <cmc at OOo>:
+ * hun#2314461 improve ispell-alike mode
+ * hun#2784983 improve default language detection
+ * hun#2812045 fix some compiler warnings
+ * hun#2910695 survive missing HOME dir
+ * hun#2934195 fix suggestmgr crash
+ * hun#2921129 remove unused variables
+ * hun#2826164 make sure make check uses the in-tree libhunspell
+ * bump toolchain to support --disable-rpath
+ * hun#2843984 fix coverity warning
+ * hun#2843986 fix coverity warning
+ * hun#2077630 add iconv lib
+ * make gcc strict-aliasing warning free
+ * make cppcheck warning free
+
+2008-11-01 Németh László <nemeth at OOo>:
+ * replist.*, hunspell.cxx, affixmgr.cxx: new input and output
+ conversion support, see ICONV and OCONV keywords in the Hunspell(4)
+ manual page and the test examples. The input/output conversion
+ problem of syllabic languages reported by Daniel Yacob and
+ Shewangizaw Gulilat.
+ - tests/{iconv,oconv}.*: test examples
+
+ * tools/wordforms: word generation script for dictionary developers
+ (Hunspell version of the unmunch program)
+
+ * hunspell/hunspell.cxx: extended BREAK feature: ^ and $ mean in break
+ patterns the beginning and end of the word.
+ - tests/BREAK.*: modified examples.
+
+ * hunspell/hunspell.cxx: set default break at hyphen characters.
+ The associated problem reported by S Page in Hunspell Bug 2174061.
+ See Mozilla Bug ID 355178 and OOo Issue 64400, too.
+ - tests/breakdefault.*: test data
+ The following definition is equivalent of the default word break:
+
+ BREAK 3
+ BREAK -
+ BREAK ^-
+ BREAK -$
+
+ * affixmgr.cxx: SIMPLIFIEDTRIPLE is a new affix file keyword to allow
+ simplified forms of the compound words with triple repeating letters.
+ It is useful for Swedish and Norwegian languages.
+
+ * affixmgr.cxx: extend CHECKCOMPOUNDPATTERN to support
+ alternations of compound words for example by sandhi
+ feature of Indian and other languages. The problem reported
+ by Kiran Chittella associated with Telugu writing system
+ (see Telugu example in tests/checkcompoundpattern4.test).
+ The new optional field of CHECKCOMPOUNDPATTERN definition is the
+ replacement of the compound boundary defined by the previous fields:
+ CHECKCOMPOUNDPATTERN ff f ff
+ means ff|f compound boundary has been replaced by "ff", like in
+ the (prereform) German Schiffahrt (Schiff+fahrt).
+ - CHECKCOMPOUNDPATTERN supports also optional flag conditions now:
+ CHECKCOMPOUNDPATTERN ff/A f/B ff
+ means that the first word of the compound needs flag "A" and
+ the second word of the compound needs flag "B" to the operation.
+
+ * tools/hunspell.cxx: add empty lines as separators to the output of
+ the stemming and morphological analysis.
+
+ * affixmgr.cxx: fix condition checking algorithm. Bad suggestion
+ generation reported by Mehmet Akin in SF.net Bug 2124186 with help of
+ Eleonora Goldman.
+
+ * affixmgr,cxx: fix COMPOUNDWORDMAX feature. The problem and its
+ code details reported by Göran Andersson under SF.net Bug ID 2138001.
+
+ * csutil.cxx: fix bad conditional code for Mozilla compilation.
+ Patch by Serge Gautherie. The problem reported by Ryan VanderMeulen.
+
+ * hunspell/hunspell.cxx: add missing ngram suggestion for HUHINITCAP
+ (capitalized mixed case) words.
+
+ * w_char.hxx: use GCC conditions for GCC related code. Patch by
+ Ryan VanderMeulen.
+
+ * affixmgr.cxx: check morphological description in morphgen()
+ (fix potential program fault by incomplete morphological
+ description of affix rules)
+
+ * src/win_api: config.h: switch on warning messages on Windows
+
+ * tools/affixcompress: extended help for -h (use LC_ALL=C sort
+ for input word list)
+
+ * man/hunspell.4: updated manual:
+ - new and modified features (SIMPLIFIEDTRIPLE, ICONV, OCONV,
+ BREAK, CHECKCOMPOUNDPATTERN).
+ - note about costs of zero affixes, suggested by Olivier Ronez.
+
+ * hunspell/hunspell.cxx: remove deprecated word breaking codes.
+
+2008-08-15 Németh László <nemeth at OOo>:
+ * affentry.cxx: add FULLSTRIP option. With FULLSTRIP, affix rules can
+ strip full words, not only one less characters. Suggested by
+ Davide Prina and other developers in OOo Issue 80145.
+ * tests/fullstrip.*: Test data based on Davide Prina's example.
+ * tools/unmunch.cxx: modified for FULLSTRIP.
+
+ * affixmgr.cxx: COMPOUNDRULE now works with long and numerical flag
+ types by parenthesized flags. Syntax: (flag)*, (flag)(flag)?(flag)*.
+ * tests/compoundrule[78].*: tests with parenthesized COMPOUNDRULE
+ definitions.
+
+ * suggestmgr.cxx: modified badchar*(), forgotchar*() and extrachar*()
+ 1-character distance suggestion algorithms: search a TRY character
+ in all position instead of all TRY characters in a character position
+ (it can give more readable suggestion order, also better suggestions
+ in the first positions, when TRY characters are sorted by frequency.)
+ For example, suggestions for "moze":
+ ooze, doze, Roze, maze, more etc. (Hunspell 1.2.6),
+ maze, more, mote, ooze, mole etc. (Hunspell 1.2.7).
+
+ * suggestmgr.cxx: extended compound word checking for better COMPOUNDRULE
+ related suggestions, for example English ordinal numbers: 121323th ->
+ 121323rd (it needs also a th->rd REP definition).
+
+ * phonet.cxx: cast unsigned char parameter of isdigit() and fix
+ isalpha by myisalpha() (potential problems in Windows environment).
+ Reported by Thomas Lange in OOo Issue 92736.
+
+ * hunspell/csutil.*,hunspell/{affentry,affixmgr,hunspell,suggestmgr}.cxx:
+ fix potential buffer overloading under morphological analysis by the
+ new mystrcat() function. Reported by Molnár Andor (dolhpy at true
+ dot hu) in SF.net Bug 2026203.
+
+ * affixmgr.cxx: add recursion limit to defcpd(). Fix OOo Issue 76067:
+ crash-like deceleration by checking hexadecimal numbers with long FFF
+ sequence (combinatory explosion by the en_US words "f" and "ff").
+ Missing fix reported by Mathias Bauer.
+
+ * affixmgr.cxx: fix the difference in the Unicode and non-Unicode
+ parts of cpdcase_check(). Bug report by Brett Wilson.
+
+ * filemgr.*, affixmgr.cxx, csutil.*, hashmgr.*: warning messages now
+ contain line numbers (use --with-warnings configure option for
+ warning messages).
+
+ * hunspell.cxx: analyze(): fix case conversion of stemming and
+ morphological analysis of UTF-8 encoded input. Reported by Ferenc Godó.
+
+ * tools/hunspell.cxx: fix LaTeX Unicode support in filter mode.
+ Reported by Jan Seeger in SF.net Bug 2039990.
+
+ * affixmgr.hxx: 0.5 or in 64 bit environment, 1 MB (virtual) memory
+ saving using only the requested size for sFlag and pFlag arrays.
+ Bug report by Brett Wilson.
+
+ * affixmgr.cxx,tools/hunspell.cxx: get_version() returns with full
+ VERSION affix parameter instead of its first word. Fixes for
+ Hunspell's header. Some problems with Hunspell header reported in
+ SF.net Bug 2043080.
+
+2008-07-15 Németh László <nemeth at OOo>:
+ * affentry.cxx: fixes of the affix rule matching algorithm (affected
+ only the sk_SK dictionary from all OpenOffice.org dictionaries):
+ - fix dot pattern + accented letters matching (in non Unicode encoding)
+ - word-length conditions work again
+ * tests/condition.*: extended test for the fix.
+
+ * hashmgr.cxx: load multiword expressions: spaces may be parts
+ of the dictionary words again (but spaces also work as morphological
+ field separators: word word2 -> "word word2", word po:noun -> "word").
+ * man/hunspell.4: updated manual
+
+ * tools/hunspell.cxx: add iconv character conversion support to
+ stemming and morphological analysis
+
+ * tools/hunspell.cxx: add /usr/share/myspell/dicts search path for
+ Ubuntu support
+
+2008-07-09 Németh László <nemeth at OOo>:
+ * affentry.cxx: fixes of the affix rule matching algorithm:
+ - right ASCII character handling in bracket expression;
+ - fault-tolerant nextchar() for bad rules.
+ Problem with the en_GB dictionary and nextchar() with a detailed
+ code analysis reported by John Winters in SF.net Bug ID 2012753.
+ * tests/condition.*: extended test for the fix.
+
+ * hunspell/hunspell.*, parsers/*, tools/hunspell.cxx: fix compiler
+ warnings (deprecated const-free char consts)
+
+ * win_api/hunspelldll.*: add hunspell_free_list(), the problem
+ reported by Laurier Mercer.
+
+2008-06-30 Török László <torok_laszlo at users dot SF dot net>:
+ * tests/affixmgr.cxx: fix morphological analysis: strcat() on
+ an uninitialized char array in suffix_check_morph().
+
+2008-06-18 Németh László <nemeth at OOo>:
+ * src/hunspell/affixmgr.cxx: fix GCC compiler warnings
+ (comparisons with string literal results in unspecified behaviour).
+ The problem reported by Ladislav Michnovič.
+
+2008-06-17 Németh László <nemeth at OOo>:
+ * src/hunspell/{hunspell.cxx,hunspell.h}: add free_list() to the C and
+ C++ interface to deallocate suggestion lists. The problem
+ reported by Laurie Mercer and Christophe Paris.
+ * csutil.cxx: fix freelist() to deallocate non-NULL list, when n = 0.
+ * tools/{analyze,example,chmorph,hunspell}.cxx: use free_list().
+
+ * tools/hunspell.cxx: fix only --with-readline compiling problem.
+ Reported by Volkov Peter in SF.net Bug 1995842.
+
+ * man/hunspell.3,hunspell.hxx: fix analyze and generate examples in
+ the manual and comments (using char*** parameter instead of char**).
+
+ * tools/example.cxx: fix suggestion example.
+
+2008-06-17 Németh László <nemeth at OOo>:
+ * affentry.cxx: fix the new affix rule matching algorithm of
+ Hunspell 1.2. Arabic dictionary problem reported by Khaled Hosny
+ in SF.net Bug ID 1975530. Mohamed Kebdani also sent a
+ prepared test data.
+ * tests/{1975530,condition*}: tests for the fix
+
+2008-06-13 Ingo H. de Boer <idb_winshell at SF.net>:
+ * src/hunspell/{affixmgr.cxx,hunspell.cxx}: add missing type
+ cast to strstr() calls for VC8 compatibility.
+
+2008-06-13 Németh László <nemeth at OOo>:
+ * suggestmgr.cxx: add also part1-part2 suggestion with dash
+ for bad part1part2 word forms, suggested by Ruud Baars.
+ For example, now suggestion of "parttime": "part time"
+ and "part-time".
+ NOTE: this feature will work only when the TRY definition
+ contains "-" or the letter "a".
+
+ * hunspell.cxx: new XML API in spell() and suggest() (see hunspell(3)).
+
+ * src/hunspell/*: fixes for OpenOffice.org build environment.
+
+ * man/{hunspell.3,hzip.1,hunzip.1}: add new manual pages for
+ Hunspell programming API and dictionary compression and
+ encryption utilities.
+
+ * src/hunspell/*: handle failed mystrdup() calls and other potential
+ insufficient memory problems. The problem reported by Elio Voci
+ in OpenOffice.org Issue 90604 and others.
+
+ * src/tools/affixmgr.cxx: restore original behaviour of get_wordchars
+ without conditional code. Problem reported by Ingo H. de Boer
+ in SF.net Bug 1763105.
+
+ * win_api/hunspelldll.h: put_word() renamed to add() in the (old)
+ Windows DLL API bug reported in SF.net Bug 1943236. Also reported
+ by Bartkó Zoltán.
+
+ * tools/hunspell.cxx: fix chench() for environments without
+ native language support (ENABLE_NLS 0 in config.h),
+ PHP system_exec() bug reported by Michel Weimerskirch in
+ SF.net Bug 1951087.
+
+ * hunspell.cxx, affixmgr.cxx: remove "result" from the
+ (result && *result) conditions, when "result" is a static variable.
+ The problem and a possible solution reported by Ladislav Michnovič.
+
+ * affixmgr.cxx: parse_affix(): print line instead of NULL in
+ the warning message, when affix class header is bad.
+ The problem reported by Ladislav Michnovič.
+
+2008-06-01 Christian Lohmaier <cloph at OOo>
+ * configure.ac: patch to fix --with-readline, --with-ui logic.
+ Reported in the SF.net Bug 981395.
+
+2008-05-04: Volkov Peter <volkov_peter at users sourceforge net>
+ * configure.ac: fix LibTool 2.22 incompatibility by removing
+ unused LT_* macros. Report and patch in SF.net Bug 1957383.
+ The problem reported and fixed by Ladislav Michnovič, too.
+
+2008-04-23: Ladislav Michnovič <lmichnovic at suse cz>
+ * hunspell.pc.in: fix wrongly set directories.
+
+2008-04-12 Németh László <nemeth at OOo>:
+ * src/tools/hunspell.cxx:
+ - Multilingual spell checking and special dictionary support with -d.
+ Multilingual spell checking suggested by Khaled Hosny (SF.net
+ Bug 1834280). Example for the new syntax:
+
+ -d en_US,en_geo,en_med,de_DE,de_med
+
+ en_US and de_DE are base dictionaries, and en_geo, en_med, de_med
+ are special dictionaries (dictionaries without affix file).
+ Special dictionaries are optional extension of the base dictionaries.
+ There is no explicit naming convention for special dictionaries,
+ only the ".dic" extension: dictionaries without affix file will
+ be an extension of the preceding base dictionary. First dictionary
+ in -d parameter must have an affix file (it must be a base
+ dictionary).
+
+ - new options for debugging, morphological analysis and stemming:
+ -m: morphological analysis or flag debug mode (without affix
+ rule data it signs the flag of the affix rules)
+ -s: stemming mode
+ -D: show also available dictionaries and search path
+ (suggested by Aaron Digulla in SF.net Bug 1902133)
+
+ - add missing refresh() to print bad words before the slower suggestion
+ search in UI (better user experience)
+
+ - fix tabulator problems (reported by ugli-kid-joe AT sf DOT net)
+
+ - fix different encoding of dic and input, and suggestions
+
+ - add per mille sign to LANG hu_HU section.
+
+ - rewrite program messages. Concatenating multiple printfs for
+ easier translation suggested by András Tímár and Gábor Kelemen.
+
+ * src/hunspell/csutil.cxx: set static encds variable. Patch by
+ Rene Engerhald. SF.net Bug 1896207 and 1939988.
+
+ * src/hunspell/w_char.hxx,csutil.hxx: reorganizing
+ w_char typedef and HENTRY_DATA, HENTRY_FIND consts
+
+ * src/hunspell/hunzip.cxx: fopen(): using rb options instead of r (fix
+ for Windows)
+
+ * src/tools/affixmgr.cxx: restore original behaviour of get_wordchars
+ in an #ifdef WINSHELL section. Problem reported by Ingo H. de Boer
+ in SF.net Bug 1763105.
+
+ * src/tools/chmorph.cxx: remove the experimental modifications
+
+ * src/tools/hzip.c: fopen(): using wb options instead of w (fix
+ for Windows)
+
+ * src/tools/hunzip.cxx: add missing MOZILLA_CLIENT. Reported
+ by Ryan VanderMeulen.
+
+ * man/*, man/hu/*: updated manual
+
+ * man/hunspell.4: fix formatting problem (missing header)
+
+ * tools/makealias: now works with the extra data fields.
+
+ * phonet.cxx: use HASHSIZE const
+
+ * tests/rep.aff: fix REP count
+
+ * src/win_api/Makefile.cygwin, README: native Windows compilation
+ in Cygwin environment without cygwin1.dll dependency (see README
+ for compiling instructions).
+
+2008-04-08 Roland Smith <rsmith AT xs4all DOT nl>:
+ * src/parsers/latexparser.cxx: fix PATTERN_LEN for AMD64 and
+ other platforms with different struct padding (SF.net Bug 1937995).
+
+2008-04-03 Kelemen Gábor <kelemeng AT gnome DOT hu>:
+ * po/POTFILES.in: fix path of the source file
+
+ * po/Makevars: add --from-code=UTF-8 gettext option
+
+ * hunspell.cxx: add comments for shortkey translation
+
+2008-02-04 Flemming Frandsen <flfr AT stibo DOT com>
+ * src/hunspell.h: fix Windows DLL support
+ - this patch also reported by Zoltán Bartkó.
+
+2008-01-30 Mark McClain <marc_mcclain AT users DOT sf DOT net>
+ * src/hunspell.cxx: stem(): fix function call side effect
+ for PPC platform (SF.net Bug 1882105).
+
+2008-01-30 Németh László <nemeth at OOo>:
+ * hunspell.cxx, csutil.cxx, hunspelldll.c: fix
+ SF.et Bug 1851246, patch also by Ingo H. de Boer.
+
+ * hunspell.h: fix SF.net Bug 1856572 (C prototype problem),
+ patch by Mark de Does.
+
+ * hunspell.pc.in: fix SF.net Bug 1857450 wrong prefix, reported
+ by Mark de Does.
+
+ * hunspell.pc.in: reset numbering scheme: libhunspell-1.2.
+ Fix SF.net Bug 1857512 reported by Mark de Does,
+ also by Rene Engelhard.
+
+ * csutil.cxx: patches for ARM platform, signed_chars.dpatch
+ by Rene Engelhard and arm_structure_alignment.dpatch by
+ Steinar H. Gunderson <sesse@debian.org>
+
+ * hunzip.*, hzip.c: new hzip compression format
+
+ * tools/affixcompressor: affix compressor utility (similar to
+ munch, but it generates affix table automatically), works
+ with million-words dictionaries of agglutinative languages.
+
+ * README: fix problems reported by Pham Ngoc Khanh.
+
+ * csutil.cxx, suggestmgr: Warning-free in OOo builds.
+
+ * hashmgr.*, csutil.*: fix protected memory problems with
+ stored pointers on several not x86 platforms by
+ store_pointer(), get_stored_pointer().
+
+ * src/tools/hunspell.cxx: fix iconv support on Solaris platform.
+
+ * tests/IJ.good: add missing test file
+
+ * csutil.cxx: fix const char* related errors. Compiling bug
+ with Visual C++ reported by Ryan VanderMeulen and Ingo H. de Boer.
+
+2008-01-03 Caolan McNamara <cmc at OO.o>:
+ * csutil.cxx: SF.net Bug 1863239, notrailingcomma patch and
+ optimization of get_currect_cs().
+
+2007-11-01 Németh László <nemeth at OOo>:
+ * hunspell/*: new feature: morphological generation,
+ also fix experimental morphological analysis and stemming.
+ - new API functions and improved API:
+ - analyze(word): (instead of morph()) morphological analysis
+ - stem(word): stemming
+ - stem(list): stemming based on the result of an analysis
+ - generate(word, word2): morphological generation
+ - generate(word, list): morphological generation
+ - add(word): add word to the run-time dictionary (renamed put_word())
+ - add_with_affix(word, word2): (renamed put_word_pattern()):
+ add word to the run-time dictionary with affix flags of the
+ second parameter: all affixed forms of the user words will be
+ recognised by the spell checker. Especially useful for
+ agglutinative languages.
+ - remove(word): remove word from the run-time dictionary (not
+ implemented)
+ - see manual and hunspell/hunspell.hxx header and tests/morph.*
+ * tests/morph.*: test data, example for morphological analysis,
+ stemming and generation
+
+ * tools/analyze, tools/chmorph: extended and new demo applications:
+ - analyze (originally hunmorph): analyses and stems input words,
+ generates word forms from input word pairs.
+ - chmorph: morphological transformation filter
+
+ * configure.ac, hunspell/makefile.am: set library version number.
+ Bug reported by Rene Engelhard.
+
+ * affentry.cxx, affixmgr.cxx: new pattern matching algorithm in
+ condition checking of affix rules instead of the Dömölki-algorithm:
+ - Unlimited condition length (instead of max. 8 characters).
+ - Less memory consumption, especially useful for affix rich languages:
+ 5,4 MB memory savings with hu_HU dictionary.
+ - Speed change depends from dictionaries and CPU caches: English spell
+ checking is 4% faster on Linux words with en_US dictionary, Hungarian
+ spell checking is 25% slower on most frequent words of Hungarian
+ Webcorpus.
+
+ * tests/sug.*, sugutf.*: updated test data (use "a" and "lot"
+ dictionary items instead of "a lot".)
+
+ * src/hunspell/hunspell.cxx: free(csconv) instead of delete csconv.
+ Report and patch by Sylvain Paschein in Mozilla Issue 398268.
+
+ * suggestmgr.cxx, tools/hunspell.cxx: bad spelling of "misspelled".
+ Ubuntu Bug #134792, patch by Malcolm Parsons.
+
+ * tests/base_utf.*: use Unicode apostrophe instead of 8-bit one.
+
+ * hunspell.cxx, hashmgr.cxx: add(): use HashMgr::add()
+
+2007-10-25 Pavel Janík <pjanik at OOo>:
+ * hunspell/csutil.cxx: Fix type cast warnings on 64bit Linux in
+ printing of character positions in u8_u16(). OOo issue 82984.
+
+2007-09-05 Németh László <nemeth at OOo>:
+ * win_api/Hunspell.vproj, parsers/testparser.cxx,textparser.hxx:
+ warning fixes and removing unnecessary Windows project file.
+ Reported by Ingo H. de Boer.
+
+ * hashmgr.*, {affixmgr,suggestmgr}.cxx: optimized data structure
+ for variable-count fields (only "ph" transliteration field in
+ this version, see next item). Also less memory consumption:
+ -13% (0.75 MB) with en_US dictionary, -6% (1 MB) with hu_HU.
+
+ * suggestmgr.cxx: dictionary based phonetic suggestion for special
+ or foreign pronounciation (see also rule-based PHONE in manual).
+ Usage: tab separated field in dictionary lines, started with "ph:".
+ The field contains a phonetic transliteration of the word:
+
+Marseille ph:maarsayl
+ * tests/phone.*: test data for dictionary and rule based phonetic
+ suggestion.
+
+ * hunspell.cxx: fix potential bad memory access in allcap word
+ capitalization in suggest() (bug of previous version).
+
+ * hunspell.cxx, atypes.hxx: set correct limit for UTF-8 encoded
+ input words (256 byte).
+
+ * suggestmgr.cxx: improved REP suggestions with spaces: it works
+ without dictionary modification.
+ OOo issue 80147, reported by Davide Prina.
+ * tests/rep.*: new test data: higher priority for "alot" -> "a lot",
+ and Italian suggestion "un'alunno" -> "un alunno".
+
+ * affixmgr.cxx: fix Unicode ngram suggestions in expand_rootword().
+ (Suggestions with bad affixes.)
+ Bug reported by Vitaly Piryatinksy <piv dot v dot vitaly at gmail>.
+ * tests/ngram_utf_fix.*: test based on Vitaly Piryatinksy's data.
+
+ * suggestmgr.cxx: fix twowords() for last UTF-8 multibyte character.
+ (conditional jump or move depended on uninitialised value).
+
+2007-08-29 Ingo H. de Boer <idb_winshell at SF.net>:
+ * win_api/{hunspell,libhunspell, testparser}.vcproj: new project
+ files for the library and the executables.
+
+ * Hunspell.rc, Hunspell.sln, config.h: updated versions.
+ Version number problem also reported by András Tímár.
+
+2007-08-27 Németh László <nemeth at OOo>:
+ * suggestmgr.hxx: put fixed version. Bug report by Ingo H. de Boer.
+
+ * suggestmgr.cxx: remove variable-length local character array
+ reported by Ingo H. de Boer.
+
+2007-08-27 Németh László <nemeth at OOo>:
+ * suggestmgr.hxx: change bad time_t to clock_t in header, too.
+ Bug reports or patches by Ingo H. de Boer under SF.net
+ Bug ID 1781951, János Mohácsi and Gábor Zahemszky, András Tímár,
+ OMax3 at SF.net under SF.net Bug ID 1781592.
+
+ * phonet.*: change variable-length local character array to
+ portable fixed size character array. Problem reported by
+ Ingo H. de Boer under SF.net Bug ID 1781951 and
+ Ryan VanderMeulen.
+
+ * suggestmgr.cxx: remove debug message (also by
+ Ingo H. de Boer).
+
+2007-08-26 Ingo H. de Boer <idb_winshell at SF.net>:
+ * win_api/Hunspell.vcproj: updated version (with phonet.*)
+
+2007-08-23 Németh László <nemeth at OOo>:
+ * phonet.{c,h}xx, suggestmgr.cxx: PHONE parameter:
+ pronounciation based suggestion using Björn Jacke's original Aspell
+ phonetic transcription algorithm (http://aspell.net), relicensed
+ under GPL/LGPL/MPL tri-license with the permission of the author.
+ Usage: see manual.
+
+ * affixmgr,suggestmgr.cxx: add KEY parameter for keyboard and
+ input method error related suggestions.
+ Example: KEY qwertyuiop|asdfghjkl|zxcvbnm
+
+ * man/hunspell.4: description about PHONE and KEY suggestion parameters.
+
+ * suggestmgr.cxx: enhancements for better suggestions:
+ - Set ngram suggestions for badchar-type errors
+ and only two word and compound word suggestions, too.
+ - Separate not compound and compound word
+ suggestions for MAP suggestion, too.
+ - Double swap suggestions for short words.
+ For example: ahev -> have, hwihc -> which.
+ - Better time limits using clock() instead of time()
+ (tenths of a second resolution instead of second ones).
+ - leftcommonsubstring() weigth function.
+
+ * htype.hxx, hashmgr.cxx: blen (byte length) and clen (character
+ length) fields instead of wlen
+
+ * affixmgr.cxx: fix get_syllable() for bad Unicode inputs.
+
+ * tests/suggestiontest/*: test environment for suggestions
+
+2007-08-07 Martijn Wargers:
+ * csutil.cxx: fix Mingw build error associated with ToUpper() call.
+ Report and patch in Mozilla Issue 391447.
+
+2007-08-07 Robert Longson:
+ * atypes.cxx: use empty inline function HUNSPELL_WARNING instead of
+ variadic macros to switch of Hunspell warnings.
+ Reported by Gavin Sharp in Mozilla Issue 391147.
+
+2007-08-05 Ginn Chen:
+ * hashmgr.cxx: Hunspell failed to compile on OpenSolaris (use stdio
+ instead of csdio). Report and patch in Mozilla Issue 391040.
+
+2007-07-25 Németh László <nemeth at OOo>:
+ * parsers/*.cxx: Hunspell executable recognises and accepts URLs,
+ e-mail addresses, directory paths, reported by Jeppe Bundsgaard.
+ * src/tools/hunspell.cxx: --check-url: new option of Hunspell program.
+ Use --check-url, if you want check URLs, e-mail addresses and paths.
+
+ * parsers/textparser.cxx: strip colon at end of words for Finnish
+ and Swedish (colon may be in words in Finnish and Swedish).
+ Problem reported by Lars Aronsson.
+ * tests/colons_in_words.*: test data
+
+ * tests/digits_in_words.*: example for using digits in words
+ (eg. 1-jährig, 112-jährig etc. in German), reported by Lars Aronsson.
+
+ * hashmgr.cxx: Hunspell accepts allcaps forms of mixed case
+ words of personal dictionaries (+allcaps custom dictionary words with
+ allcaps affixes).
+ Sf.net Bug ID 1755272, reported by Ellis Miller.
+
+ * hashmgr.cxx: fix small memory leaks with alias compressed
+ dictionaries (free flag vectors of affixed personal dictionary words
+ and flag vectors of hidden capitalized forms of mixed case and
+ allcaps words).
+
+ * affixmgr.cxx: fix COMPOUNDRULE checking with affixed compounds.
+ Sf.net Bug ID 1706659, reported by Björn Jacke. Also fixing for
+ OOo Issue 76067 (crash-like deceleration for hexadecimal numbers
+ with long FFFFFF sequence using en_US dictionary).
+
+ * tools/hunspell.cxx: add missing return to save_privdic().
+
+ * man/hunspell.4: add information about affixation of personal words:
+ "Personal dictionaries are simple word lists, but with optional
+ word patterns for affixation, separated by a slash:
+
+ foo
+ Foo/Simpson
+
+ In this example, "foo" and "Foo" are personal words, plus Foo
+ will be recognised with affixes of Simpson (Foo's etc.)."
+
+2007-07-18 Németh László <nemeth at OOo>:
+ * src/win_api/: add missing resource files, reported by Ingo H. de Boer.
+
+2007-07-16 Németh László <nemeth at OOo>:
+ * hunspell.cxx: fix dot removing from UTF-8 encoded words in cleanword2()
+ (Capitalised words with dots, as "Something." were not recognised
+ using Unicode encoded dictionaries.)
+ * tests/{base.*,base_utf.*}: extended and new test files for
+ dot removing and Unicode support.
+
+ * tools/hunspell.cxx: fix Cygwin, OS X compatibility using platform
+ specifics iconv() header by ICONV_CONST macro of Autoconf.
+ Sf.net Bug ID 1746030, reported by Mike Tian-Jian Jiang.
+ Sf.net Bug ID 1753939, reported by Jean-Christophe Helary.
+
+ * tools/hunspell.cxx: fix missing global path setting with -d option.
+
+ * tests/test.sh: fix broken Valgrind checking (missing warnings
+ with VALGRIND=memcheck make check).
+
+ * csutil.cxx: fix condition in u8_u16() to avoid invalid read
+ of not null-terminated character arrays (detected by Valgrind
+ in Hunspell executable: associated with 8-bit character table
+ conversion in tools/hunspell.cxx).
+
+ * csutil.cxx: free_utf_tbl(): use utf_tbl_count-- instead of utf_tbl--.
+ Memory leak in Hunspell executable detected by Valgrind.
+
+ * hashmgr.cxx: add missing free_utf_tbl(), memory leak in Hunspell
+ executable detected by Valgrind.
+
+ * hashmgr.cxx: load_tables(): fix memory error in spec. capitalization.
+ Use sizeof(unsigned short) instead of bad sizeof(unsigned short*).
+ Invalid memory read detected by Valgrind.
+
+ * hashmgr.cxx: add_word(): fix memory error in spec. capitalization.
+ Update also affix array length of capitalized homonyms. Invalid
+ memory read detected by Valgrind.
+
+ * hunspell.cxx: suggest(): fix invalid memory write and leak.
+ Bad realloc() and missing free() detected by Valgrind associated
+ with suggestions for "something.The" type spelling errors.
+
+ * {dictmgr,csutil,hashmgr,suggestmgr}.cxx: check memory allocation.
+ Sf.net Bug ID 1747507, based on the patch by Jose da Silva.
+
+2007-07-13 Ingo H. de Boer <idb_winshell at SF.net>:
+ * atypes.cxx: fix Visual C compatibility: Using
+ "HUNSPELL_WARNING(a,b,...} {}" macro instead of empty "X(a,b...)".
+
+ * hunspell.cxx: changes for Windows API.
+ * win_api/Hunspell.*: new resource files
+ * win_api/hunspelldll.*: set optional Hunspell and Borland spec. codes
+ Sf.net Bug ID 1753802, patch by Ingo H. de Boer.
+ See also Sf.net Bug ID 1751406, patch by Mike Tian-Jian Jiang.
+
+2007-07-09 Caolan McNamara <cmc at OO.o>:
+ * {hunspell,hashmgr,affentry}.cxx: fix warnings of Coverity program
+ analyzer. Sf.net Bug ID, 1750219.
+
+2007-07-06 Németh László <nemeth at OOo>:
+ * atypes.cxx: warning-free swallowing of conditional warning messages
+ and their parameters using empty HUNSPELL_WARNING(a,b...) macro.
+ * {affixmgr,atypes,csutil}.cxx: fix unused variable warnings
+ using WARNVAR macro for conditionally named variables.
+ * hashmgr.cxx: fix unused variable warning in add_word() by cond. name
+ * hunspell.cxx: fix shadowed declaration of captype var. in suggest()
+
+2006-06-29 Caolan McNamara <cmc at OO.o>:
+ * hunspell.cxx: patch to fix possible memory leak in analyze() of
+ experimental morphological analyzer code. Sf.net Bug ID 1745263.
+
+2007-06-29 Németh László <nemeth at OOo>:
+improvements:
+ * src/hunspell/hunspell.cxx: check bad capitalisation of Dutch letter IJ.
+ - Sf.net Feature Request ID 1640985, reported by Frank Fesevur.
+ - Solution: FORBIDDENWORD for capitalised word forms (need
+ an improved Dutch dictionary with forbidden words: Ijs/*, etc.).
+ * tests/IJ.*: test data and example.
+
+ * hashmgr.cxx, hunspell.cxx: check capitalization of special word forms
+ - words with mixed capitalisation: OpenOffice.org - OPENOFFICE.ORG
+ Sf.net Bug ID 1398550, reported by Dmitri Gabinski.
+ - allcap words and suffixes: UNICEF's - UNICEF'S
+ - prefixes with apostrophe and proper names: Sant'Elia - SANT'ELIA
+ For Catalan, French and Italian languages.
+ Reported by Davide Prina in OOo Issue 68568.
+ * tests/allcaps*: tests for OPENOFFICE.ORG, UNICEF'S capitalization.
+ * tests/i68568*: tests for SANT'ELIA capitalization.
+
+ * hunspell/hunspell.cxx: suggestion for missing sentence spacing:
+ something.The -> something. The
+
+ * tools/hunspell.cxx: multiple character encoding support
+ - -i option: custom input encoding
+ Sf.net Bug ID 1610866, reported by Thobias Schlemmer.
+ Sf.net Bug ID 1633413, reported by Dan Kenigsberg.
+ See also hunspell-1.1.5-encoding.patch of Fedora from Caolan Mc'Namara.
+ * tests/*.test: add input encodings
+
+ * tools/hunspell.cxx: use locale data for default dictionary names.
+ Sf.net Bug ID 1731630, report and patch from Bernhard Rosenkraenzer,
+ See also hunspell-1.1.4-defaultdictfromlang.patch of Fedora Linux
+ from Caolan McNamara.
+
+ * tools/hunspell.cxx: fix 8-bit tokenization (letters without
+ casing, like ß or Hebrew characters now are handled well)
+
+ * tools/hunspell.cxx: dictionary search path
+ - DICPATH environmental variable
+ - -D option: show directory path of loaded dictionary
+ - automatic detection of OpenOffice.org directories
+
+fixes:
+ * affixmgr.cxx: fault-tolerant patch for REP and other affix
+ table data problems. Problem with Hunspell and en_GB dictionary
+ reported by Thomas Lange in OOo Issue 76098 and
+ Stephan Bergmann in OOo Issue 76100.
+ Sf.net Bug ID 1698240, reported by Ingo H. de Boer.
+
+ * csutil.cxx: fix mkallcap_utf() for allcaps suggestion in UTF-8.
+
+ * suggestmgr.cxx: fix bad movechar_utf() (missing strlen()).
+
+ * hunspell.cxx: fix bad degree sign detection in Unicode
+ hu_HU environment.
+
+ * hunspell/hunspell.cxx: free allocated memory of csconv in
+ ported Mozilla code.
+ - Mozilla Bugzilla Bug 383564, report and Mozilla MySpell patch
+ by Andrew Geul. Reported by Ryan VanderMeulen for Hunspell.
+
+ * suggestmgr.cxx: fix minor difference in Unicode suggestion
+ (ngram suggestion of allcaps words in Unicode).
+
+ * hashmgr.cxx: close file handle after errors.
+ Sf.net Bug ID 1736286, reported by John Nisly.
+
+ * configure.ac: syntax error (shell variable with spaces).
+ Sf.net Bug ID 1731625, reported by Bernhard Rosenkraenzer.
+
+ * hunspell.cxx: check_word(): fix bad usage of info pointer.
+
+ * hashmgr.cxx: fix de_DE related bug (accept words with leading dash).
+ Sf.net Bug ID 1696134, reported by Björn Jacke.
+
+ * suggestmgr.cxx, tests/1695964.*: fix NEEDAFFIX homonym suggestion.
+ Sf.net Bug ID 1695964, reported by Björn Jacke.
+
+ * tests/1463589*: capitalized ngram suggestion test data for
+ Sf.net Bug ID 1463589, reported by Frederik Fouvry.
+
+ * csutil.cxx, affixmgr.cxx: fix possible heap error with
+ multiple instances of utf_tbl.
+ Sf.net Bug ID 1693875, reported by Ingo H. de Boer.
+
+ * affixmgr.cxx, suggestmgr.cxx, license.hunspell: convert to ASCII.
+ Locale dependent compiling problems. Sf.net Bug ID 1694379, reported
+ by Mike Tian-Jian Jiang. OOo Issue 78018 reported by Thomas Lange.
+
+ * tests/test.sh: compatibility issues
+ - fix Valgrind support (check shared library instead of shell wrapper)
+ - remove deprecated "tail +2" syntax
+ - set 8-bit locale for testing (LC_ALL=C)
+
+ * hunspell.hxx: remove license.* and config.h dependencies.
+ - hunspell-1.1.5-badheader.patch from Caolan McNamara <cmc at OO.o>
+
+2007-03-21 Németh László <nemeth at OOo>:
+ * tools/Makefile.am, munch.h, unmunch.h: add missing munch.h and unmunch.h
+ Reported by Björn Jacke and Khaled Hosny (sf.net Bug ID 1684144)
+ * hunspell/hunspell.cxx, hunspell.hxx: fix --with-ui compliling error (add get_csconv())
+ Reported by Khaled Hosny (sf.net Bug ID 1685010)
+
+2007-03-19 Németh László <nemeth at OOo>:
+ * csutil.cxx, hunspell/hunspell.cxx: Unicode non BMP area (>65K character range) support
+ (except conditional patterns and strip characters of affix rules)
+ * tests/utf8_nonbmp*: test data
+
+ * src/hunspell/*: add Mozilla patches from David Einstein
+ - run-time generated 8-bit character tables
+ - other Mozilla related changes (see Mozilla Bugzilla Bug 319778)
+
+ * csutil.cxx, affixmgr.cxx, hashmgr.cxx: optimized version of IGNORE feature
+ - IGNORE works with affixes (except strip characters and affix conditions)
+ * tests/ignore*: test data with latin characters
+ * tests/ignoreutf*: Unicode test data with Arabic diacritics (Harakat)
+
+ * src/hunspell/suggestmgr.cxx: new edit distance suggestion methods
+ - capitalization: nasa -> NASA
+ - long swap: permenant -> permanent
+ - long mov.: Ghandi -> Gandhi
+ - double two characters: vacacation -> vacation
+ * tests/sug.*: test data
+
+ * src/hunspell/affixmgr.cxx: space in REP strings (alot -> a lot)
+ Note: Underline character signs the space in REP strings: REP alot a_lot, and
+ put the expression with space ("a lot") into the dic file (see tests/sug).
+
+ * hashmgr.cxx, affixmgr.cxx: ignore Unicode byte order mark (BOM sequence)
+ * tests/utf8_bom*: test data
+
+ * hunspell/*.cxx: OOo Issue 68903 - Make lingucomponent warning-free on wntmsci10
+ - fix Hunspell related warning messages on Windows platform (except some assignment
+ within conditional expressions). Reported and started by Stephan Bergmann.
+
+ * hunspell/affixmgr.cxx: fix OOo Issue 66683 - hunspell dmake debug=x fails
+ - Reported by Stephan Bergmann.
+
+ * src/hunspell/hunspell.[ch]xx: thread safe API for Hunspell executable
+ (removing prev*() functions, new spell(word, info, root) function)
+
+ * configure.ac, src/hunspell/*: HUNSPELL_EXPERIMENTAL code
+ --with-experimental configure option (conditional compiling of morphological analyser
+ and stemmer tools)
+
+ * configure.ac, src/hunspell/*: conditional Hunspell warning messages
+ --with-warnings configure option
+
+ * affixmgr.cxx: new, optimized parsing functions
+
+ * affixmgr.cxx: fix homonym handling for German dictionary project,
+ reported by Björn Jacke (sf.net Bug ID 1592880).
+ * tests/1592880.*: test data by Björn Jacke
+
+ * src/hunspell/affixmgr.cxx: fix CIRCUMFIX suggestion
+ Bug reported by Erdal Ronahi.
+
+ * hunspell.cxx: reverse root word output (complex prefixes)
+ Bug reported by Munzir Taha.
+
+ * tools/hunspell.cxx: fix Emacs compatibility, patch by marot at sf.net
+ - no % command in PIPE mode (SourceForge BugTracker 1595607)
+ - fix HUNSPELL_VERSION string
+
+ * suggestmgr.[hc]xx: rename check() functions to checkword() (OOo Issue 68296)
+ adopt MySpell patch by Bryan Petty (tierra at ooo) for Hunspell source
+
+ * csutil.cxx, munch.c, unmunch.c: adopt relevant parts of the MinGW patch
+ (OOo Issue 42504) by tonal at ooo
+
+ * affigmgr.cxx: remove double candidate_check() call, reported by Bram Moolenaar
+
+ * tests/test.sh: add LC_ALL="C" environment. Locale dependency of make check
+ reported by Gentoo project.
+
+ * src/tools/hunspell.cxx: UTF-8 highlighting fix for console UI
+ (not solved: breaking long UTF-8 lines)
+
+ * src/tools/unmunch.c: fix bad generation if strip is shorter than condition,
+ reported by Davide Prina
+ * src/tools/unmunch.h: increase 5000 -> 500000
+
+ * src/tools/hunspell.cxx: fix memory error in suggestion (uninitialized parameter),
+ Bug also reported by Björn Jacke in SourceForge Bug 1469957
+
+ * csutil.cxx, affixmgr.cxx: fix Caolan McNamara's patch for non OOo environment
+
+2006-11-11 Caolan McNamara <cmc at OO.o>:
+ * csutil.cxx, affixmgr.cxx: UTF-8 table patch (OOo Issue 71449)
+ Description: memory optimization (OOo doesn't use the large UTF-8 table).
+
+ * Makefile.am: shared library patch (Sourceforge ID 1610756)
+
+ * hunspell.h, hunspell.cxx: C API patch (Sourceforge ID 1616353)
+
+ * hunspell.pc: pkgconfig patch (Sourceforge ID 1639128)
+
+2006-10-17 Ryan Jones <at Mozilla Bugzilla>:
+ * affixmgr.cxx: missing fclose(affixlst) calls
+ Reported by <gavins at ooo> in OOo Issue 70408
+
+2007-07-11 Taha Zerrouki <taha at gawab>:
+ * affixmgr.cxx, hunspell.cxx, hashmgr.cxx, csutil.cxx: IGNORE feature to remove
+ optional Arabic and other characters from input and dictionary words.
+ * src/hunspell/langnum.hxx: add Arabic language number, lang_ar=96
+ * tests/ignore.*: test data
+
+2006-05-28 Miha Vrhovnik <mvrhov at users.sourceforge>:
+ * src/win_api/*: C API for Windows DLLs
+ - also Delphi text editor example (see on Hunspell Sourceforge page)
+
+2006-05-18 Kevin F. Quinn <kevquinn at gentoo>:
+ * utf_info.cxx: struct -> static struct
+ Shared library patch also developed by Gentoo developers (Hanno Meyer-Thurow,
+ Diego Pettenò, Kevin F. Quinn)
+
+2006-02-02 Németh László <nemethl@gyorsposta.hu>:
+ * src/hunspell/hunspell.cxx: suggest(): replace "fooBar" -> "foo bar" suggestions
+ with "fooBar" ->"foo Bar" (missing spaces are typical OCR bugs).
+ Bug reported by stowrob at OOo in Issue 58202.
+ * src/hunspell/suggestmgr.cxx: twowords(): permit 1-character words.
+ (restore MySpell's original behavior). Here: "aNew" -> "a New".
+ * tests/i58202.*: test data
+
+ * src/parsers/textparser.cxx: fix Unicode tokenization in is_wordchar()
+ (extra word characters (WORDCHARS) didn't work on big-endian platforms).
+
+ * src/hunspell/{csutil,affixmgr}.cxx: inline isSubset(), isRevSubset():
+ little speed optimalization for languages with rich morphology.
+
+ * src/tools/hunspell.cxx: fix bad --with-ui and --with-readline compiling
+ when (N)curses is missing. Reported by Daniel Naber.
+
+2006-01-19 Tor Lillqvist <tml@novell.com>
+ * src/hunspell/csutil.cxx: mystrsep(): fix locale-dependent isspace() tokenization
+
+2006-01-06 András Tímár <timar@fsf.hu>
+ * src/hunspell/{hashmgr.hxx,hunspell.cxx}: fix Visual C++ compiling errors
+
+2006-01-05 Németh László <nemethl@gyorsposta.hu>:
+ * COPYING: set GPL/LGPL/MPL tri-license for Mozilla integration.
+ Rationale: Mozilla source code contains an old MySpell version
+ with GPL/LGPL/MPL tri-license. (MPL license is a copyleft license, similar
+ to the LGPL, but it acts on file level.)
+ * COPYING.LGPL: GNU Lesser General Public License 2.1 (LGPL)
+ * COPYING.MPL: Mozilla Public License 1.1 (MPL)
+ * license.hunspell, src/hunspell/license.hunspell: GPL/LGPL/MPL tri-license
+
+ * src/hunspell/{affixmgr,hashmgr}.*: AF, AM alias definitions in affix file:
+ compression of flag sets and morphological descriptions (see manual,
+ and tests/alias* test files).
+ Rationale: Alias compression is also good for loading time and memory
+ efficiency, not only smaller resources.
+ * src/tools/makealias: alias compression utility
+ (usage: ./makealias file.dic file.aff)
+ * tests/alias{,2,3}: AF, AM tests
+ * man/hunspell.4: add AF, AM documentation
+ * src/hunspell/affentry.cxx, atypes.hxx: add new opts bits (aeALIASM, aeALIASF)
+
+ * tools/hunspell, src/parser/*, src/hunspell/*: Hunspell program
+ tokenizes Unicode texts (only with UTF-8 encoded dictionaries).
+ Missing Unicode tokenization reported by Björn Jacke, Egmont Koblinger,
+ Jess Body and others.
+ Note: Curses interactive interface hasn't worked perfectly yet.
+ * tests/*.tests: remove -1 parameters of Hunspell
+ * tests/*.{good,wrong}: remove tabulators
+
+ * src/hunspell/{hunspell,affixmgr}.cxx: BREAK option: break words at
+ specified break points and checking word parts separately (see manual).
+ Note: COMPOUNDRULE is better (or will be better) for handling dashes and
+ other compound joining characters or character strings. Use BREAK, if you
+ want check words with dashes or other joining characters and there is no time
+ or possibility to describe precise compound rules with COMPOUNDRULE.
+ * tests/break.*: BREAK example.
+
+ * src/hunspell/{affixmgr,hunspell}.cxx: add CHECKSHARPS declaration instead
+ of LANG de_DE definitions to handle German sharp s in both spelling and
+ suggestion.
+ * src/hunspell/hunspell.cxx: With CHECKSHARPS, uppercase words are valid
+ with both lower sharp s (it's is optional for names in German legal texts)
+ and SS (MÜßIG, MÜSSIG). Missing lower sharp s form reported by Björn Jacke.
+ * src/hunspell/hunspell.cxx: KEEPCASE flag on a sharp s word has a special
+ meaning with CHECKSHARPS declaration: KEEPCASE permits capitalisation and SS upper
+ casing of a sharp s word (Müßig and MÜSSIG), but forbids the upper cased form
+ with lower sharp s character(s): *MÜßIG.
+ * tests/germancompounding*: add CHECKSHARPS, remove LANG
+ * tests/checksharps*: add CHECKSHARPS and KEEPCASE, remove LANG
+
+ * src/hunspell/hunspell.cxx: improved suggestions:
+ - suggestions for pressed Caps Lock problems: macARONI -> macaroni
+ - suggestions for long shift problems: MAcaroni -> Macaroni, macaroni
+ - suggestions for KEEPCASE words: KG -> kg
+ * src/hunspell/csutil.cxx: fix mystrrep() function:
+ - suggestions for lower sharp s in uppercased words: MÜßIG -> MÜSSIG
+ * tests/checksharps{,utf}.sug: add tests for mystrrep() fix
+
+ * src/hunspell/hashmgr.cxx: Now dictionary words can contain slashes
+ with the "\/" syntax. Problem reported by Frederik Fouvry.
+
+ * src/hunspell/hunspell.cxx: fix bad duplicate filter in suggest().
+ (Suggesting some capitalised compound words caused program crash
+ with Hungarian dictionary, OOo Issue 59055).
+
+ * src/hunspell/affixmgr.cxx: fix bad defcpd_check() call in compound_check().
+ (Overlapping new COMPOUNDRULE and old compounding methods caused program
+ crash at suggestion.)
+
+ * src/hunspell/affixmgr.{cxx,hxx}: check affix flag duplication at affix classes.
+ Suggested by Daniel Naber.
+
+ * src/hunspell/affentry.cxx: remove unused variable declarations (OOo i58338).
+ Compiler warnings reported by András Tímár and Martin Hollmichel.
+
+ * src/hunspell/hunspell.cxx: morph(): not analyse bad mixed uppercased forms
+ (fix Arabic morphological analysis with Buckwalter's Arabic transliteration)
+
+ * src/hunspell/affentry.{cxx,hxx}, atypes.hxx: little memory optimization
+ in affentry:
+ - using unsigned char fields instead of short (stripl, appndl, numconds)
+ - rename xpflg field to opts
+ - removing utf8 field, use aeUTF8 bit of opts field
+
+ * configure.ac: set tests/maputf.test to XFAILED on ARM platform.
+ Fail reported by Rene Engelhard.
+
+ * configure.ac: link Ncursesw library, if exists.
+
+ * BUGS: add BUGS file
+
+ * tests/complexprefixes2.*: test for morphological analysis with COMPLEXPREFIXES
+
+ * src/hunspell/affixmgr.cxx: use "COMPOUNDRULE" instead of
+ "COMPOUND". The new name suggested by Bram Moolenaar.
+ * tests/compoundrule*: modified and renamed compound.* test files
+
+ * man/hunspell.4: AF, AM, BREAK, CHECKSHARPS, COMPOUNDRULE, KEEPCASE.
+ - also new addition to the documentation:
+ Header of the dictionary file define approximate dictionary size:
+ ``A dictionary file (*.dic) contains a list of words, one per line.
+ The first line of the dictionaries (except personal dictionaries)
+ contains the _approximate_ word count (for optimal hash memory size).''
+ Asked by Frederik Foudry.
+
+ One-character replacements in REP definitions: ``It's very useful to
+ define replacements for the most typical one-character mistakes, too:
+ with REP you can add higher priority to a subset of the TRY suggestions
+ (suggestion list begins with the REP suggestions).''
+
+2005-11-11 Németh László <nemethl@gyorsposta.hu>:
+ * src/hunspell/affixmgr.*: fix Unicode MAP errors (sorted only n-1
+ characters instead of n ones in UTF-16 MAP character lists).
+ Bug reported by Rene Engelhard.
+
+ * src/hunspell/affixmgr.*: fix infinite COMPOUND matching (default char
+ type is unsigned on PowerPC, s390 and ARM platforms and it will never
+ be negative). Bug reported by Rene Engelhard.
+
+ * src/hunspell/{affixmgr,suggestmgr}.cxx: fix bad ONLYINCOMPOUND
+ word suggestions.
+ * tests/onlyincompound.sug: empty test file to check this fix.
+ Bug reported by Björn Jacke.
+
+ * src/hunspell/affixmgr.cxx: fix backtracking in COMPOUND pattern matching.
+ * tests/compound6.*: test files to check this fix.
+
+ * csutil.cxx: set bigger range types in flag_qsort() and flag_bsearch().
+
+ * affixmgr.hxx: set better type for cont_classes[] Boolean data (short -> char)
+
+ * configure.ac, tests/automake.am: set platform specific XFAIL test
+ (flagutf8.test on ARM platform)
+
+2005-11-09 Németh László <nemethl@gyorsposta.hu>:
+improvements:
+ * src/hunspell/affixmgr.*: new and improved affix file parameters:
+
+ - COMPOUND definitions: compound patterns with regexp-like matching.
+ See manual and test files: tests/compound*.*
+ Suggested by Bram Moolenaar.
+ Also useful for simple word-level lexical scanning, for example
+ analysing numbers or words with numbers (OOo Issue #53643):
+ http://qa.openoffice.org/issues/show_bug.cgi?id=53643
+ Examples: tests/compound{4,5}.*.
+
+ - NOSUGGEST flag: words signed with NOSUGGEST flag are not suggested.
+ Proposed flag for vulgar and obscene words (OOo Issue #55498).
+ Example: tests/nosuggest.*.
+ Problem reported by bobharvey at OOo:
+ http://qa.openoffice.org/issues/show_bug.cgi?id=55498
+
+ - KEEPCASE flag: Forbid capitalized and uppercased forms of words
+ signed with KEEPCASE flags. Useful for special ortographies
+ (measurements and currency often keep their case in uppercased
+ texts) and other writing systems (eg. keeping lower case of IPA
+ characters).
+
+ - CHECKCOMPOUNDCASE: Forbid upper case characters at word bound in compounds.
+ Examples: tests/checkcompoundcase* and tests/germancompounding.*
+
+ - FLAG UTF-8: New flag type: Unicode character encoded with UTF-8.
+ Example: tests/flagutf8.*.
+ Rationale: Unicode character type can be more readable
+ (in a Unicode text editor) than `long' or `num' flag type.
+
+bug fixes:
+ * src/hunspell/hunspell.cxx: accept numbers and numbers with separators (i53643)
+ Bug reported by skelet at OOo:
+ http://qa.openoffice.org/issues/show_bug.cgi?id=53643
+
+ * src/hunspell/csutil.cxx: fix casing data in ISO 8859-13 character table.
+
+ * src/hunspell/csutil.cxx: add ISO-8859-15 character encoding (i54980)
+ Rationale: ISO-8859-15 is the default encoding of the French OpenOffice.org
+ dictionary. ISO-8859-15 is a modified version of ISO-8859-1
+ (latin-1) character encoding with French œ ligatures and euro
+ symbol. Problem reported by cbrunet at OOo in OOo Issue 54980:
+ http://qa.openoffice.org/issues/show_bug.cgi?id=54980
+
+ * src/hunspell/affixmgr.cxx: fix zero-byte malloc after a bad affix header.
+ Patch by Harri Pitkänen.
+
+ * src/hunspell/suggestmgr.cxx: fix bad NEEDAFFIX word suggestion
+ in ngram suggestions. Reported by Daniel Naber and Friedel Wolff.
+
+ * src/hunspell/hashmgr.cxx: fix bad white space checking in affix files.
+ src/hunspell/{csutil,affixmgr}.cxx: add other white space separators.
+ Problems with tabulators reported by Frederik Fouvry.
+
+ * src/hunspell/*: replace system-dependent <license.*> #include
+ parameters with quoted ones. Problem reported by Dafydd Jones.
+
+ * src/hunspell/hunspell.cxx: fix missing morphological analysis of dot(s)
+ Reported by Trón Viktor.
+
+changes:
+ * src/hunspell/affixmgr.cxx: rename PSEUDOROOT to NEEDAFFIX.
+ Suggested by Bram Moolenaar.
+
+ * src/hunspell/suggestmgr.hxx: Increase default maximum of
+ ngram suggestions (3->5). Suggested by Kevin Hendricks.
+
+ * src/hunspell/htypes.hxx: Increase MAXDELEN for long affix flags.
+
+ * src/hunspell/suggestmgr.cxx: modify (perhaps fix) Unicode map suggestion.
+ tests/maputf test fail on ARM platform reported by Rene Engelhard.
+
+ * src/hunspell/{affentry.cxx,atypes.hxx}: remove [PREFIX] and
+ MISSING_DESCRIPTION messages from morphological analysis.
+ Problems reported by Trón Viktor.
+
+ * tests/germancompounding.{aff,good}: Add "Computer-Arbeit" test word.
+ Suggested by Daniel Naber.
+
+ * doc/man/hunspell.4: Proof-reading patch by Goldman Eleonóra.
+
+ * doc/man/hunspell.4: Fix bad affix example (replace `move' with `work').
+ Bug reported by Frederik Fouvry.
+
+ * tests/*: new test files:
+ affixes.*: simple affix compression example from Hunspell 4 manual page
+ checkcompoundcase.*, checkcompoundcase2.*, checkcompoundcaseutf.*
+ compound.*, compound2.*, compound3.*, compound4.*, compound5.*
+ compoundflag.* (former compound.*)
+ flagutf8.*: test for FLAG UTF-8
+ germancompounding.*: simplification with CHECKCOMPOUNDCASE.
+ germancompoundingold.* (former germancompounding.*)
+ i53643.*: check numbers with separators
+ i54980.*: ISO8859-15 test
+ keepcase.*: test for KEEPCASE
+ needaffix*.* (former pseudoroot*.* tests)
+ nosuggest.*: test for NOSUGGEST
+
+2005-09-19 Németh László <nemethl@gyorsposta.hu>:
+ * src/hunspell/suggestmgr.cxx: improved ngram suggestion:
+ - detect not neighboring swap characters (pernament -> permanent)
+ Rationale: ngram method has a significant error with not neighboring
+ swap characters, especially when swap is in the middle of the word.
+ - suggest uppercase forms (unesco -> UNESCO, siggraph's -> SIGGRAPH's)
+ - suggest only ngram swap character and uppercase form, if they exist.
+ Rationale: swap character and casing equivalence give mutch better
+ suggestions as any other (weighted) ngram suggestions.
+ - add uppercase suggestion (PERMENANT -> PERMANENT)
+
+ * src/hunspell/*: complete comparison with MySpell 3.2 (in OOo beta 2):
+ - affixmgr.cxx: add missing numrep initialization
+ - hashmgr.cxx: add_word(): don't allocate temporary records
+ - hunspell.cxx: in suggest():
+ - check capitalized words first (better sug. order for proper names),
+ - check pSMgr->suggest() return value
+ - set pSMgr->suggest() call to not optional in HUHCAP
+ - csutil.cxx: fix bad KOI8-U -> koi8r_tbl reference in enc_entry encds
+ - csutil.cxx: fix casing data in ISO 8859-2, Windows 1251 and KOI8-U
+ encoding tables. Bug reported by Dmitri Gabinski.
+
+ * src/hunspell/affixmgr.*: improved compound word and other features
+ - generalize hu_HU specific compound word features with new affix file
+ parameters, suggested by Bram Moolenaar:
+ - CHECKCOMPOUNDDUP: forbid word duplication in compounds (eg. foo|foo)
+ - CHECKCOMPOUNDTRIPLE: forbid triple letters in compounds (eg. foo|obar)
+ - CHECKCOMPOUNDPATTERN: forbid patterns at word bounds in compounds
+ - CHECKCOMPOUNDREP: using REP replacement table, forbid presumably bad
+ compounds (useful for languages with unlimited number of compounds)
+ - ONLYINCOMPOUND flag works also with words (see tests/onlyincompound.*)
+ Suggested by Daniel Naber, Björn Jacke, Trón Viktor & Bram Moolenaar.
+ - PSEUDOROOT works also with prefixes and prefix + suffix combinations
+ (see tests/pseudoroot5.*). Suggested by Trón Viktor.
+ - man/hunspell.4: updated man page
+
+ * src/hunspell/affixmgr.*: fix incomplete prefix handling with twofold
+ suffixes (delete unnecessary contclasses[] conditions in
+ prefix_check_twosfx() and prefix_check_twosfx_morph()).
+ Bug reported by Trón Viktor.
+
+ * src/hunspell/affixmgr.*: complete also *_morph() functions with
+ conditions of new Hunspell features (circumfix, pseudoroot etc.).
+
+ * src/hunspell/suggestmgr.cxx:
+ - fix missing suggestions for words with crossed prefix and suffix
+ - fix redundant non compound word checking
+ - fix losing suggestions problem. Bug reported by Dmitri Gabinski.
+
+ * src/hunspell/dictmgr.*:
+ - add new dictionary manager for Hunspell UNO modul
+ Problems with eo_ANY Esperanto locale reported by Dmitri Gabinski.
+
+ * src/hunspell/*: use precise constant sizes for 8-bit and 16-bit character
+ arrays with MAXWORDUTF8LEN and MAXSWUTF8L macros.
+
+ * src/hunspell/affixmgr.cxx: fix bad MAXNGRAMSUGS parameter handling
+
+ * src/hunspell/affixmgr.cxx, src/tools/{un}munch.*: fix GCC 4.0 warnings
+ on fgets(), reported by Dvornik László
+
+ * po/hu.po: improved translation by Dvornik László
+
+ * tests/test.sh: improved test environment
+ - add suggestion testing (see tests/*.sug)
+ - add memory debugging environment, based on the excellent Valgrind debugger.
+ Usage on Linux and experimental platforms of Valgrind:
+ VALGRIND=memcheck make check
+ - rename test_hunmorph to test.sh
+
+ * tests/*: new tests:
+ - base.*: base example based on MySpell's checkme.lst.
+ - map{,utf}.*, rep{,utf}: MAP and REP suggestion examples
+ - tests on new CHECKCOMPOUND, ONLYINCOMPOUND and PSEUDOROOT features
+ - i54633.*: capitalized suggestion test for Issue 54633 from OOo's Issuezilla
+ - i35725.*: improved ngram suggestion test for Issue 35725
+
+2005-08-26 Németh László <nemethl@gyorsposta.hu>:
+improvements:
+
+ * src/hunspell/suggestmgr.cxx:
+ Unicode support in related character map suggestion
+
+ * src/hunspell/suggestmgr.cxx: Unicode support in ngram suggestion
+
+ * src/hunspell/{suggestmgr,affixmgr,hunspell}.cxx: improve ngram suggestion.
+ Fix http://qa.openoffice.org/issues/show_bug.cgi?id=35725. See release
+ notes for examples. This problem reported by beccablain at OOo.
+ - ngram suggestions now are case insensitive (see `Permenant' bug in Issuezilla)
+ - weight ngram suggestions (with the longest common subsequent algorithm,
+ also considering lengths of bad word and suggestion, identical first
+ letters and almost completely identical character positions)
+ - set strict affix congruency in expand_rootword(). Now ngram suggestions
+ are good for languages with rich morphology and also better for English.
+ Rationale: affixed forms of the first ngram suggestion
+ very often suppress the second and subsequent root word suggestions. But
+ faults in affixes are more uncommon, and can be fix without suggestions.
+ We must prefer the more informative second and subsequent root word
+ suggestions instead of the suggestions for bad affixes.
+ - a better suggestion may not be substring of a less good suggestion
+ Rationale: Suggesting affixed forms of a root word is
+ unnecessary, when root word has got better weighted ngram value.
+ (Checking substrings is a good approximation for this refinement.)
+ - lesser ngram suggestions (default 3 maximum instead of 10)
+ Rationale: For users need a big extra effort to check a lot of bad ngram
+ suggestions, nine times out of ten unnecessarily. It is very
+ distracting, because ngram suggestions could be very different.
+ Usually Myspell and Hunspell suggest one or two suggestions with
+ the old suggestion algorithms (maximum is 15), with ngram algorithm
+ often gives maximum number suggestions. With strict affix congruency
+ and other refinements, the good suggestion there is usually among the
+ first three elements.
+ - new affix parameter: MAXNGRAMSUG
+
+ * src/hunspell/*: support agglutinative languages with rich prefix
+ morphology or with right-to-left writing system (for example, Turkic
+ and Austronesian languages with (modified) Arabic scripts).
+ - new affix parameter: COMPLEXPREFIXES
+ Set twofold prefix stripping (but single suffix stripping)
+ * src/hunspell/affixmgr.cxx:
+ - speed up prefix loading with tree sorting algorithm.
+ * tests/complexprefixes.*, tests/complexprefixesutf.*:
+ Coptic example posted by Moheb Mekhaiel
+
+ * src/hunspell/hashmgr.cxx: check size attribute in dic file
+ suggested by Daniel Naber
+ Rationale: With missing size attribute Hunspell allocates too small and
+ more slower hash memory, and Hunspell can lose first dictionary word.
+
+ * src/hunspell/affixmgr.cxx: check stripping characters and condition
+ compatibility in affix rules (bugs detected in cs_CZ, es_ES, es_NEW,
+ es_MX, lt_LT, nn_NO, pt_PT, ro_RO and sk_SK dictionaries). See release
+ notes of Hunspell 1.0.9 in NEWS.
+
+ * src/hunspell/affixmgr.cxx: check unnecessary fields in affix rules
+ (bugs detected in ro_RO and sv_SE dictionaries). See release notes.
+
+ * src/hunspell/affixmgr.cxx: remove redundant condition checking
+ in affix rules with stripping characters (redundancy in OpenOffice.org
+ dictionaries reported by Eleonóra Goldman)
+ Rationale: this is a little optimization, but it was excellent for
+ detect the bad ngram affixation with bad or weak affix conditions.
+
+ * tests/germancompounding.aff: improve compound definition
+ - use dash prefix instead of language specific tokenizer
+ Rationale: Using uniform approach is the right way to check and analyze
+ compound words. Language specific word breaking is deprecated, need
+ a sophisticated grammar checking for word-like word pairs
+ (for example in Hungarian there is a substandard, but accepted
+ syntax with dash for word pairs: cats, dogs -> kutyák-macskák (like
+ cats/dogs in English).
+
+ * test Hunspell with 54 OpenOffice.org dictionaries: see release notes
+
+bug fixes:
+
+ * src/hunspell/suggestmgr.*: add time limit to exponential
+ algorithm of the related character map suggestion
+ Rationale: a long word in agglutinative languages or a special pattern
+ (for example a horizontal rule) made of map characters can `crash' the
+ spell checker.
+
+ * src/hunspell/affentry.cxx: add() functions: fix bad word generation
+ checking stripping characters (see similar bug in unmunch)
+
+ * src/hunspell/affixmgr.cxx: parse_file(): fix unconditional getNext()
+ call for ~AffixMgr() when affix file is corrupt.
+
+ * src/hunspell/affixmgr.*: AffixMgr(), parse_cpdsyllable(): fix missing
+ string duplications for ~AffixMgr() when affix file is corrupt.
+
+ * src/hunspell/affixmgr.*: parse_affix(): fix fprintf() call when affix
+ file is corrupt. Bug reported by Daniel Naber.
+
+ * suggestmgr.cxx: replace single usage of 'strdup' with 'mystrdup'
+ patch by Chris Halls (debian.org)
+
+ * src/hunspell/makefile.mk: add makefile.mk for compiling in OpenOffice.org
+ See README in Hunspell UNO modul.
+ Problems with separated compiling reported by Rene Engelhard
+
+ * src/hunspell/hunspell.cxx: fix pseudoroot support
+ - search a not pseudoroot homonym in check()
+ * tests/pseudoroot4.*: test this fix
+
+ * src/tools/unmunch.c: fix bad word generation when conditions
+ are shorter or incompatible with stripping characters in affix rules
+
+ * src/tools/unmunch.c: fix mychomp() for de_AT.dic and other dic files
+ without last new line character.
+
+other changes:
+ * src/hunspell/suggestmgr.*: erase ACCENT suggestion
+ Rationale: ACCENT suggestion was the same as Kevin Hendrick's map
+ suggestion algorithm, but with a less good interface in affix file.
+
+ * src/hunspell/suggestmgr.*: combine cycle number limit
+ in badchar(), and forgotchar() with a time limit.
+
+ * src/hunspell/affixmgr.*: remove NOMAPSUGS affix parameter
+
+ * src/hunspell/{suggestmgr,hunspell}.*: strip periods from
+ suggestions (restore MySpell's original behaviour)
+ Rationale: OpenOffice.org has an automatic period handling mechanism
+ and suggestions look better without periods.
+ - new affix file parameter: SUGSWITHDOTS
+ Add period(s) to suggestions, if input word terminates in period(s).
+ (No need for OpenOffice.org dictionaries.)
+
+ * tests/germancompounding.aff: improve bad german affix in affix example
+ (computeren->computern). Suggested by Daniel Naber.
+
+ * src/tools/example.cxx: add Myspell's example
+
+ * src/tools/munch.cxx: add Myspell's munch
+
+ * man{,/hu}/hunspell.4: refresh manual pages
+
+2005-08-01 Németh László <nemethl@gyorsposta.hu>:
+ * add missing MySpell files and features:
+ - add MySpell license.readme, README and CONTRIBUTORS ({license,README,AUTHORS}.myspell)
+ - add MySpell unmunch program (src/tools/unmunch.c)
+ - add licenses to source (src/hunspell/license.{myspell,hunspell})
+ - port MAP suggestion (with imperfect UTF-8 support)
+ - add NOSPLITSUGS affix parameter
+ - add NOMAPSUGS affix parameter
+
+ * src/man/man.4: MAP, COMPOUNDPERMITFLAG, NOSPLITSUGS, NOMAPSUGS
+
+ * src/hunspell/aff{entry,ixmgr}.cxx:
+ - improve compound word support
+ - new affix parameter: COMPOUNDPERMITFLAG (see manual)
+ * src/tests/compoundaffix{,2}.*: examples for COMPOUNDPERMITFLAG
+ * src/tests/germancompounding.*: new solution for German compounding
+ Problems with German compounding reported by Daniel Naber
+
+ * src/hunspell/hunspell.cxx: fix German uppercase word spelling
+ with the spellsharps() recursive algorithm.
+ Default recursive depth is 5 (MAXSHARPS).
+ * src/tests/germansharps*: extended German sharp s tests
+
+ * src/tools/hunspell.cxx: fix fatal memory bug in non-interactive
+ subshells without HOME environmental variable
+ Bug detected with PHP by András Izsók.
+
+2005-07-22 Németh László <nemethl@gyorsposta.hu>:
+ * src/hunspell/csutil.hxx: utf16_u8()
+ - fix 3-byte UTF-8 character conversion
+
+2005-07-21 Németh László <nemethl@gyorsposta.hu>:
+ * src/hunspell/csutil.hxx: hunspell_version() for OOo UNO modul
+
+2005-07-19 Németh László <nemethl@gyorsposta.hu>:
+ * renaming:
+ - src/morphbase -> src/hunspell
+ - src/hunspell, src/hunmorph -> src/tools
+ - src/huntokens -> src/parsers
+
+ * src/tools/hunstem.cxx: add stemmer example
+
+2005-07-18 Németh László <nemethl@gyorsposta.hu>:
+ * configure.ac: --with-ui, --with-readline configure options
+ * src/hunspell/hunspell.cxx: fix conditional compiling
+
+ * src/hunspell/hunspell.cxx: set HunSPELL.bak temporaly file
+ in the same dictionary with the checked file.
+
+ * src/morphbase/morphbase.cxx:
+
+ - handling German sharp s (ß)
+
+ - fix (temporaly) analyize()
+
+ * tests: a lot of new tests
+
+ * po/, intl/, m4/: add gettext from GNU hello
+
+ * po/hu.po: add Hungarian translation
+
+ * doc/, man/: rename doc to man
+
+2005-07-04 Németh László <nemethl@gyorsposta.hu>:
+ * src/morphbase/hashmgr.cxx: set FLAG attributum instead of FLAG_NUM and FLAG_LONG
+
+ * doc/hunspell.4: manual in English
+
+2005-06-30 Németh László <nemethl@gyorsposta.hu>:
+ * src/morphbase/csutil.cxx: add character tables from csutil.cxx of OOo 1.1.4
+
+ * src/morphbase/affentry.cxx: fix Unicode condition checking
+
+ * tests/{,utf}compound.*: tests compounding
+
+2005-06-27 Németh László <nemethl@gyorsposta.hu>:
+ * src/morphbase/*: fix Unicode compound handling
+
+2005-06-23 Halácsy Péter:
+ * src/hunmorph/hunmorph.cxx: delete spelling error message and suggest_auto() call
+
+2005-06-21 Németh László <nemethl@gyorsposta.hu>:
+ * src/morphbase: Unicode support
+ * tests/utf8.*: SET UTF-8 test
+
+ * src/morphbase: checking and fixing with Valgrind
+ Memory handling error reported by Ferenc Szidarovszky
+
+2005-05-26 Németh László <nemethl@gyorsposta.hu>:
+ * suggestmgr.cxx: fix stemming
+ * AUTHORS, COPYING, ChangeLog: set CC-LGPL free software license
+
+2004-05-25 Varga Dániel <daniel@all.hu>
+ * src/stemtool: new subproject
+
+2005-05-25 Halácsy Péter <peter@halacsy.com>
+ * AUTHORS, COPYING: set CC Attribution license
+
+2004-05-23 Varga Dániel <daniel@all.hu>
+ * src: - modifications for compiling with Visual C++
+
+ * src/hunmorph/csutil.cxx: correcting header of flag_qsort(),
+ * src/hunmorph/*: correct csutil include
+
+2005-05-19 Németh László <nemethl@gyorsposta.hu>
+ * csutil.cxx: fix loop condition in lineuniq()
+ bug reported by Viktor Nagy (nagyv nyelvtud hu).
+
+ * morphbase.cxx: handle PSEUDOROOT with zero affixes
+ bug reported by Viktor Nagy (nagyv nyelvtud hu).
+ * tests/zeroaffix.*: add zeroaffix tests
+
+2005-04-09 Németh László <nemethl@gyorsposta.hu>
+ * config.h.in: reset with autoheader
+
+ * src/hunspell/hunspell.cxx: set version
+
+2005-04-06 Németh László <nemethl@gyorsposta.hu>
+ * tests: tests
+
+ * src/morphbase:
+ New optional parameters in affix file:
+ - PSEUDOROOT: for forbidding root with not forbidden suffixed forms.
+ - COMPOUNDWORDMAX: max. words in compounds (default is no limit)
+ - COMPOUNDROOT: signs compounds in dictionary for handling special compound rules
+ - remove COMPOUNDWORD, ONLYROOT
+
+2005-03-21 Németh László <nemethl@gyorsposta.hu>
+ * src/morphbase/*:
+ - 2-byte flags, FLAG_NUM, FLAG_LONG
+ - CIRCUMFIX: signed suffixes and prefixes can only occur together
+ - ONLYINCOMPOUND for fogemorpheme (Swedish, Danish) or Flute-elements (German)
+ - COMPOUNDBEGIN: allow signed roots, and roots with signed suffix in begin of compounds
+ - COMPOUNDMIDDLE: like before, but middle of compounds
+ - COMPOUNDEND: like before, but end of compounds
+ - remove COMPOUNDFIRST, COMPOUNDLAST