LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
CharChart.h
Go to the documentation of this file.
1// Copyright 2002-2013 CEA LIST
2// SPDX-FileCopyrightText: 2022 CEA LIST <gael.de-chalendar@cea.fr>
3//
4// SPDX-License-Identifier: MIT
5
6#ifndef LIMA_LINGUISTICPROCESSING_FLATTOKENIZER_CHARCHART_H
7#define LIMA_LINGUISTICPROCESSING_FLATTOKENIZER_CHARCHART_H
8
11
13
14#ifdef WIN32
15#undef min
16#undef max
17#endif
18
19namespace Lima
20{
21namespace LinguisticProcessing
22{
23namespace FlatTokenizer
24{
25
26class Char;
27class CharClass;
28
29#define FLATTOKENIZERCHARCHART_CLASSID "FlatTokenizerCharChart"
30
32{
33 Q_OBJECT
34
35public:
36 explicit CharChart();
37 virtual ~CharChart();
38
40 Manager*) override;
41
42 const std::vector<CharClass*>& classes() const {return m_classes;}
43 const std::vector<Char*>& chars() const {return m_chars;}
44 std::vector<CharClass*>& classes() {return m_classes;}
45 std::vector<Char*>& chars() {return m_chars;}
46
50 const CharClass* charClass(const Lima::LimaChar& c) const;
51 const CharClass* charClass (const LimaChar& c1, const LimaChar& c2) const;
52
56 Lima::LimaChar maj(const Lima::LimaChar& c) const;
57
61 Lima::LimaChar min(const Lima::LimaChar& c) const;
62
63 LimaString unmarkWithMapping(const LimaString& str,std::vector<unsigned char>& mapping) const;
64
71 Lima::LimaChar unmark(const Lima::LimaChar& c) const;
72
73 LimaString unmark(const LimaString& str) const;
74
79 Lima::LimaString unmarkByString (const Lima::LimaChar& c) const;
80
82 Lima::LimaString toLower(const Lima::LimaString& src) const;
83
84 const CharClass* classNamed(const Lima::LimaString& name) const;
85
86 bool loadFromFile(const std::string& fileName);
87
88 inline const std::map< LimaChar, std::map< LimaChar, Char* > >& surrogates() const {return m_surrogates;}
89 inline std::map< LimaChar, std::map< LimaChar, Char* > >& surrogates() {return m_surrogates;}
90
91private:
93
96 Char* lazyGetChar(const LimaChar& code);
97
98 std::vector<CharClass*> m_classes;
99 std::vector<Char*> m_chars;
100
101 std::map< LimaChar, std::map< LimaChar, Char* > > m_surrogates;
102
104 QVector<QString> m_unicodeCategories;
105
109 QMap<QString,QString> m_unicodeCategories2LimaClasses;
110};
111
112} // Tokenizer
113} // LinguisticProcessing
114} // Lima
115
116#endif // LIMA_LINGUISTICPROCESSING_TOKENIZER_CHARCHART_H
#define LIMA_FLATTOKENIZER_EXPORT
Manage initialization of InitializableObjects using configuration module and parameters.
const std::map< LimaChar, std::map< LimaChar, Char * > > & surrogates() const
Definition CharChart.h:88
std::map< LimaChar, std::map< LimaChar, Char * > > & surrogates()
Definition CharChart.h:89
const std::vector< Char * > & chars() const
Definition CharChart.h:43
const std::vector< CharClass * > & classes() const
Definition CharChart.h:42
NAUTITIA.
QChar LimaChar
Definition LimaString.h:30
QString LimaString
Definition LimaString.h:33