28-Aug-2007
The Greek-, Cyrillic-, and Fraktur classifiers are extended by the Latin character set. The classifier
Numplus.rec is extended by the Arabic and Farsi numbers (formerly called Arabic Indian numbers). To control
recognition of such mixed cases (Latin+Arabic for instance), a new parameter font has been introduced. The
macros from ALC_HAND to ALC_MACHINE have been removed and replaced by macros FONT_HAND, FONT_MACHINE, FONT_LATIN
to FONT_THAI, and FONT_OCRA to FONT_BRAILLE as values for the new parameter font . This means a splitting of the
old parameter alc in two parameters alc and font and the introduction of new fonts FONT_LATIN to FONT_THAI.
The name ARABIC_INDIAN has been changed into the more usual name FARSI. The classifier numplusa.rec is renamed
into numpluseu.rec and numplusa.rec is renamed into numplusus.rec. For Unicode support to all KADMOS functions
with file name parameters new functions with wide character file name parameters are introduced. This new
functions are rec_winit(), rel_winit(), rep_winit(), respell_winit(), re_wreadparm2(), re_wwriteparm2(),
re_wopenimagefile(), re_wreadimage(), re_wwriteimage() and re_collect_winit(). The functions rec_filetitle(),
rel_filetitle(), rep_filetitle() and respell_filetitle() return the file name as wide characters
wchar_t when the initialisation had been is made with one of the functions re*_winit(). To support programms
under Unicode, the KADMOS error handling also has been extended to handle Unicode. Beside the structure
re_ErrorText a new structure re_wErrorText has been introduced, which handles error texts as Unicode strings.
The related new functions to handle this are re_wGetErrorText(), re_wSetErrorText(), re_wDisplayErrorText(),
re_wSetErrorHandler(), and re_wGetErrorHandler(). Accordingly, there is an additional definition of
re_wErrorHandler. Under Windows, with missing drive and directory specification, the functions re_?readparm?()
and re_?writeparm?() not longer read or write from or into the Windows directory, but instead they work in the
current working directory (as they already do under Linux). So, when functions like GetPrivateProfileString() or
WritePrivateProfileString() are used simultaneously, the name of the arameter file has first to be completed
by a call to _fullpath(). The data structure ReSpellData has been extended by new elements rel_repeat,
rep_repeat, and repr_rect. rel_repeat can be set to the address of the initialized data structure RelData which
had been used for recognition of the text line before the call to respell_do(). In this case for all words that
were not found in the dictionary respell_do() tries a new recognition with slightly different parameters. The
same holds for rep_repeat, when rep_do() had been called called before the calls to respell_do(). In this case
before every respell_do() call additionally repr has to be set to the address of the RepResult data structure
which holds the recognition result of the related text line. Generally the performance of ReSpell has been
considerably improved. Beyond that, a new interface has been provided to use private or OEM spellcheckers
directly with KADMOS. Therfore the data structure ReSpellData has been extended by the new elements
oem_spell_lookup, oem_codepage, oem_wordchars, and oem_reject_char. How to do this is demonstrated in the new
sample program OEMSpellDemo.
With a new interface ReSpell has the possibility to connect a private spellchecker to KADMOS. For it in the
structure ReSpellData are the new elements oem_spell_lookup, oem_codepage, oem_wordchars and oem_reject_char.
The new program HashMaker provides the possibility to extract word lists and affix files from iSpell
dictionaries, to extend word lists, to combine word lists, and to integrate them into iSpell dictionaries. It
is now quite easy to create iSpell dictionaries from private word lists, given as simple text files.