tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

phonet.hxx (1611B)


      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