diff options
-rw-r--r-- | src/PYEnglishEditor.h | 2 | ||||
-rw-r--r-- | src/PYPPinyinEngine.cc | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/PYEnglishEditor.h b/src/PYEnglishEditor.h index 5d2de51..780c8c7 100644 --- a/src/PYEnglishEditor.h +++ b/src/PYEnglishEditor.h @@ -29,7 +29,7 @@ namespace PY { class EnglishDatabase; -static const std::string EnglishSymbols = "`~!@*()+[]{}\\|':\"/<>?"; +static const std::string EnglishSymbols = "`~!@*()+[]{}\\|:\"/<>?"; class EnglishEditor : public Editor { private: diff --git a/src/PYPPinyinEngine.cc b/src/PYPPinyinEngine.cc index 6385772..e0c043c 100644 --- a/src/PYPPinyinEngine.cc +++ b/src/PYPPinyinEngine.cc @@ -370,6 +370,9 @@ PinyinEngine::processKeyEvent (guint keyval, guint keycode, guint modifiers) if (keyval <= std::numeric_limits<char>::max() && g_unichar_ispunct (keyval) && (EnglishSymbols.find(keyval) != std::string::npos || + /* For full pinyin, "'" is used. */ + (PinyinConfig::instance ().doublePinyin () && + IBUS_apostrophe == keyval) || /* For double pinyin, ";" is used. */ (!PinyinConfig::instance ().doublePinyin () && IBUS_semicolon == keyval)) && |