summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/PYEnglishEditor.h2
-rw-r--r--src/PYPPinyinEngine.cc3
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)) &&