]> git.lyx.org Git - features.git/blob - 3rdparty/hunspell/1.7.0/src/hunspell/phonet.hxx
Update the in-source hunspell to version 1.7.0
[features.git] / 3rdparty / hunspell / 1.7.0 / src / hunspell / phonet.hxx
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 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