LMInstantiator // + setSymbolEnabled & symbolEnabled.

This commit is contained in:
ShikiSuen 2022-03-06 22:14:10 +08:00
parent 202db20f2d
commit eff8345035
2 changed files with 18 additions and 1 deletions

View File

@ -111,6 +111,11 @@ public:
/// If phrase replacement is enabled or not. /// If phrase replacement is enabled or not.
bool phraseReplacementEnabled(); bool phraseReplacementEnabled();
/// Enables or disables symbol input.
void setSymbolEnabled(bool enabled);
/// If symbol input is enabled or not.
bool symbolEnabled();
/// Enables or disables CNS11643 input. /// Enables or disables CNS11643 input.
void setCNSEnabled(bool enabled); void setCNSEnabled(bool enabled);
/// If CNS11643 input is enabled or not. /// If CNS11643 input is enabled or not.
@ -149,6 +154,7 @@ protected:
AssociatedPhrases m_associatedPhrases; AssociatedPhrases m_associatedPhrases;
bool m_phraseReplacementEnabled; bool m_phraseReplacementEnabled;
bool m_cnsEnabled; bool m_cnsEnabled;
bool m_symbolEnabled;
bool m_externalConverterEnabled; bool m_externalConverterEnabled;
std::function<std::string(std::string)> m_externalConverter; std::function<std::string(std::string)> m_externalConverter;
}; };

View File

@ -170,7 +170,7 @@ const std::vector<Gramambular::Unigram> LMInstantiator::unigramsForKey(const std
miscUnigrams = filterAndTransformUnigrams(rawMiscUnigrams, excludedValues, insertedValues); miscUnigrams = filterAndTransformUnigrams(rawMiscUnigrams, excludedValues, insertedValues);
} }
if (m_symbolModel.hasUnigramsForKey(key)) { if (m_symbolModel.hasUnigramsForKey(key) && m_symbolEnabled) {
std::vector<Gramambular::Unigram> rawSymbolUnigrams = m_symbolModel.unigramsForKey(key); std::vector<Gramambular::Unigram> rawSymbolUnigrams = m_symbolModel.unigramsForKey(key);
symbolUnigrams = filterAndTransformUnigrams(rawSymbolUnigrams, excludedValues, insertedValues); symbolUnigrams = filterAndTransformUnigrams(rawSymbolUnigrams, excludedValues, insertedValues);
} }
@ -214,11 +214,22 @@ void LMInstantiator::setCNSEnabled(bool enabled)
{ {
m_cnsEnabled = enabled; m_cnsEnabled = enabled;
} }
bool LMInstantiator::cnsEnabled() bool LMInstantiator::cnsEnabled()
{ {
return m_cnsEnabled; return m_cnsEnabled;
} }
void LMInstantiator::setSymbolEnabled(bool enabled)
{
m_symbolEnabled = enabled;
}
bool LMInstantiator::symbolEnabled()
{
return m_symbolEnabled;
}
void LMInstantiator::setExternalConverterEnabled(bool enabled) void LMInstantiator::setExternalConverterEnabled(bool enabled)
{ {
m_externalConverterEnabled = enabled; m_externalConverterEnabled = enabled;