6 #ifndef _FCITX_LIBIME_PINYIN_PINYINIME_H_ 7 #define _FCITX_LIBIME_PINYIN_PINYINIME_H_ 12 #include <fcitx-utils/connectableobject.h> 13 #include <fcitx-utils/macros.h> 14 #include <libime/pinyin/libimepinyin_export.h> 15 #include <libime/pinyin/pinyincorrectionprofile.h> 16 #include <libime/pinyin/pinyinencoder.h> 20 class PinyinIMEPrivate;
22 class PinyinDictionary;
23 class UserLanguageModel;
25 enum class PinyinPreeditMode { RawText, Pinyin };
28 class LIBIMEPINYIN_EXPORT
PinyinIME :
public fcitx::ConnectableObject {
30 PinyinIME(std::unique_ptr<PinyinDictionary> dict,
31 std::unique_ptr<UserLanguageModel> model);
34 PinyinFuzzyFlags fuzzyFlags()
const;
35 void setFuzzyFlags(PinyinFuzzyFlags flags);
37 void setNBest(
size_t n);
38 size_t beamSize()
const;
39 void setBeamSize(
size_t n);
40 size_t frameSize()
const;
41 void setFrameSize(
size_t n);
42 size_t partialLongWordLimit()
const;
43 void setPartialLongWordLimit(
size_t n);
54 size_t wordCandidateLimit()
const;
59 void setWordCandidateLimit(
size_t n);
60 void setScoreFilter(
float maxDistance = std::numeric_limits<float>::max(),
61 float minPath = -std::numeric_limits<float>::max());
62 void setShuangpinProfile(std::shared_ptr<const ShuangpinProfile> profile);
63 std::shared_ptr<const ShuangpinProfile> shuangpinProfile()
const;
64 void setPreeditMode(PinyinPreeditMode mode);
65 PinyinPreeditMode preeditMode()
const;
67 void setCorrectionProfile(
68 std::shared_ptr<const PinyinCorrectionProfile> profile);
69 std::shared_ptr<const PinyinCorrectionProfile> correctionProfile()
const;
71 float maxDistance()
const;
72 float minPath()
const;
80 FCITX_DECLARE_SIGNAL(
PinyinIME, optionChanged,
void());
83 std::unique_ptr<PinyinIMEPrivate> d_ptr;
88 #endif // _FCITX_LIBIME_PINYIN_PINYINIME_H_ PinyinDictionary is a set of dictionaries for Pinyin.
Provides shared data for PinyinContext.