From eff8345035128b76f113f716889d9b0a0f98629a Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Sun, 6 Mar 2022 22:14:10 +0800 Subject: [PATCH] LMInstantiator // + setSymbolEnabled & symbolEnabled. --- Source/Modules/LangModelRelated/LMInstantiator.h | 6 ++++++ Source/Modules/LangModelRelated/LMInstantiator.mm | 13 ++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Source/Modules/LangModelRelated/LMInstantiator.h b/Source/Modules/LangModelRelated/LMInstantiator.h index 34507abc..0357a464 100644 --- a/Source/Modules/LangModelRelated/LMInstantiator.h +++ b/Source/Modules/LangModelRelated/LMInstantiator.h @@ -111,6 +111,11 @@ public: /// If phrase replacement is enabled or not. 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. void setCNSEnabled(bool enabled); /// If CNS11643 input is enabled or not. @@ -149,6 +154,7 @@ protected: AssociatedPhrases m_associatedPhrases; bool m_phraseReplacementEnabled; bool m_cnsEnabled; + bool m_symbolEnabled; bool m_externalConverterEnabled; std::function m_externalConverter; }; diff --git a/Source/Modules/LangModelRelated/LMInstantiator.mm b/Source/Modules/LangModelRelated/LMInstantiator.mm index f9b0eb39..948f9aff 100644 --- a/Source/Modules/LangModelRelated/LMInstantiator.mm +++ b/Source/Modules/LangModelRelated/LMInstantiator.mm @@ -170,7 +170,7 @@ const std::vector LMInstantiator::unigramsForKey(const std miscUnigrams = filterAndTransformUnigrams(rawMiscUnigrams, excludedValues, insertedValues); } - if (m_symbolModel.hasUnigramsForKey(key)) { + if (m_symbolModel.hasUnigramsForKey(key) && m_symbolEnabled) { std::vector rawSymbolUnigrams = m_symbolModel.unigramsForKey(key); symbolUnigrams = filterAndTransformUnigrams(rawSymbolUnigrams, excludedValues, insertedValues); } @@ -214,11 +214,22 @@ void LMInstantiator::setCNSEnabled(bool enabled) { m_cnsEnabled = enabled; } + bool LMInstantiator::cnsEnabled() { return m_cnsEnabled; } +void LMInstantiator::setSymbolEnabled(bool enabled) +{ + m_symbolEnabled = enabled; +} + +bool LMInstantiator::symbolEnabled() +{ + return m_symbolEnabled; +} + void LMInstantiator::setExternalConverterEnabled(bool enabled) { m_externalConverterEnabled = enabled;