"Fossies" - the Fresh Open Source Software Archive

Member "yudit-3.0.7/stoolkit/syntax/SHunspellPattern.h" (2 Jun 2020, 2251 Bytes) of package /linux/misc/yudit-3.0.7.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "SHunspellPattern.h" see the Fossies "Dox" file reference documentation and the latest Fossies "Diffs" side-by-side code changes report: 3.0.5_vs_3.0.7.

    1 /** 
    2  *  Yudit Unicode Editor Source File
    3  *
    4  *  GNU Copyright (C) 1997-2006  Gaspar Sinai <gaspar@yudit.org>  
    5  *
    6  *  This program is free software; you can redistribute it and/or modify
    7  *  it under the terms of the GNU General Public License, version 2,
    8  *  dated June 1991. See file COPYYING for details.
    9  *
   10  *  This program is distributed in the hope that it will be useful,
   11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
   12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   13  *  GNU General Public License for more details.
   14  *
   15  *  You should have received a copy of the GNU General Public License
   16  *  along with this program; if not, write to the Free Software
   17  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
   18  */
   19  
   20 #ifndef SHunspellPattern_h
   21 #define SHunspellPattern_h
   22 
   23 #include "stoolkit/syntax/SPattern.h"
   24 #include "stoolkit/SString.h"
   25 #include "stoolkit/SStringVector.h"
   26 #include "stoolkit/SEncoder.h"
   27 
   28 extern "C"
   29 {
   30 typedef struct _HunspellFunctions_
   31 {
   32   void* (*create)(const char * affpath, const char * dpath);
   33   int (*spell)(void* hunspell, const char *word);
   34   int (*destroy)(void* hunspell);
   35   char* (*get_dic_encoding)(void* hunspell);
   36 } HunspellFunctions;
   37 }
   38 
   39 /**
   40  * A regular expression pattern.
   41  * @author Gaspar Sinai
   42  * @version 2007-11-27
   43  */
   44 class SHunspellPattern : public SPattern
   45 {
   46 public:
   47   SHunspellPattern (const SString& name, const SStringVector& path);
   48   virtual ~SHunspellPattern ();
   49   // This method updates matchBegin and matchEnd (exclusive)
   50   // variables in case of a match, in case of no match, this
   51   // will not be touched. Action will contain that action string.
   52   virtual bool   checkMatch ();
   53   static SString getFolderFor (const SString& name, const SStringVector& path);
   54   static SString getMissingFile (const SString& name, const SStringVector& path);
   55 private:
   56   static SString loadLibrary (const SStringVector& path);
   57   bool isSeparator (SS_UCS4 chr) const;
   58   bool isNumber (SS_UCS4 chr) const;
   59   bool isOther (SS_UCS4 chr) const;
   60   bool isJapanese (SS_UCS4 chr) const;
   61   SString  name;
   62   SString  dicFile;
   63   SString  affFile;
   64   void*             hunspell;
   65   HunspellFunctions functions;
   66   SEncoder*         entryEncoder;
   67 };
   68 
   69 #endif /* SHunspellPattern_h */