Line data Source code
1 : /* phonetic.c - generic replacement aglogithms for phonetic transformation
2 : Copyright (C) 2000 Bjoern Jacke
3 :
4 : This library is free software; you can redistribute it and/or
5 : modify it under the terms of the GNU Lesser General Public
6 : License version 2.1 as published by the Free Software Foundation;
7 :
8 : This library is distributed in the hope that it will be useful,
9 : but WITHOUT ANY WARRANTY; without even the implied warranty of
10 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 : Lesser General Public License for more details.
12 :
13 : You should have received a copy of the GNU Lesser General Public
14 : License along with this library; If not, see
15 : <http://www.gnu.org/licenses/>.
16 :
17 : Changelog:
18 :
19 : 2000-01-05 Bjoern Jacke <bjoern at j3e.de>
20 : Initial Release insprired by the article about phonetic
21 : transformations out of c't 25/1999
22 :
23 : 2007-07-26 Bjoern Jacke <bjoern at j3e.de>
24 : Released under MPL/GPL/LGPL tri-license for Hunspell
25 :
26 : 2007-08-23 Laszlo Nemeth <nemeth at OOo>
27 : Porting from Aspell to Hunspell using C-like structs
28 : */
29 :
30 : #ifndef PHONET_HXX_
31 : #define PHONET_HXX_
32 :
33 : #define HASHSIZE 256
34 : #define MAXPHONETLEN 256
35 : #define MAXPHONETUTF8LEN (MAXPHONETLEN * 4)
36 :
37 : #include "hunvisapi.h"
38 :
39 0 : struct phonetable {
40 : char utf8;
41 : std::vector<std::string> rules;
42 : int hash[HASHSIZE];
43 : };
44 :
45 : LIBHUNSPELL_DLL_EXPORTED void init_phonet_hash(phonetable& parms);
46 :
47 : LIBHUNSPELL_DLL_EXPORTED std::string phonet(const std::string& inword,
48 : phonetable& phone);
49 :
50 : #endif
|