diff options
author | Huang Peng <shawn.p.huang@gmail.com> | 2009-01-14 10:21:41 +0800 |
---|---|---|
committer | Huang Peng <shawn.p.huang@gmail.com> | 2009-01-14 10:21:41 +0800 |
commit | 5d7b535d5b6ccbe129c2c76b038b4c9016c9b7ea (patch) | |
tree | 3a348d524a2a44f9e862bfa29d7457dfb155553b | |
parent | 5950579d59e2a04776fab64d5d05bf0e05706505 (diff) | |
parent | 7d7382e1172a9eea4c62589ea4f2d2a19a3c4a28 (diff) | |
download | ibus-anthy-5d7b535d5b6ccbe129c2c76b038b4c9016c9b7ea.tar.gz |
Merge commit 'matsuu/master'
-rw-r--r-- | engine/engine.py | 9 | ||||
-rw-r--r-- | engine/romaji.py | 11 | ||||
-rw-r--r-- | engine/tables.py | 11 |
3 files changed, 26 insertions, 5 deletions
diff --git a/engine/engine.py b/engine/engine.py index 5eefd22..271e280 100644 --- a/engine/engine.py +++ b/engine/engine.py @@ -568,6 +568,15 @@ class Engine(ibus.EngineBase): return True def __on_key_space(self): + if self.__input_mode == INPUT_MODE_WIDE_LATIN: + # Input Wide Latin chars + char = unichr(keysyms.space) + wide_char = symbol_rule.get(char, None) + if wide_char == None: + wide_char = ibus.unichar_half_to_full(char) + self.__commit_string(wide_char) + return True + if self.__preedit_ja_string.is_empty(): return False diff --git a/engine/romaji.py b/engine/romaji.py index 90437f1..34a1dde 100644 --- a/engine/romaji.py +++ b/engine/romaji.py @@ -56,6 +56,12 @@ class RomajiSegment(segment.Segment): self._jachars = jachars return [RomajiSegment(c)] + jachars, c = romaji_correction_rule.get(text, (None, None)) + if jachars: + self._enchars = text[0] + self._jachars = jachars + return [RomajiSegment(c)] + for i in range(-min(4, len(text)), 0): enchars = text[i:] @@ -107,6 +113,11 @@ class RomajiSegment(segment.Segment): self._enchars = c return [RomajiSegment(text[0], jachars)] + jachars, c = romaji_correction_rule.get(text, (None, None)) + if jachars: + self._enchars = c + return [RomajiSegment(text[0], jachars)] + for i in range(min(4, len(text)), 0, -1): enchars = text[:i] diff --git a/engine/tables.py b/engine/tables.py index 7ef0699..6a19979 100644 --- a/engine/tables.py +++ b/engine/tables.py @@ -228,6 +228,7 @@ romaji_typing_rule = { symbol_rule = { # symbols + u" " : u" ", u"," : u"、", u"." : u"。", u"!" : u"!", @@ -570,22 +571,22 @@ hiragana_katakana_table = { u"%" : (u"%", u"%"), u"&" : (u"&", u"&"), u"’" : (u"’", u"'"), - u"(" : (u"(", u""), + u"(" : (u"(", u"("), u")" : (u")", u")"), u"〜" : (u"〜", u"~"), u"=" : (u"=", u"="), - u"^" : (u"^", u"u"), + u"^" : (u"^", u"^"), u"\" : (u"\", u"\\"), u"|" : (u"|", u"|"), u"‘" : (u"‘", u"`"), u"@" : (u"@", u"@"), - u"{" : (u"{", u""), + u"{" : (u"{", u"{"), u"「" : (u"「", u"「"), u"+" : (u"+", u"+"), u";" : (u";", u";"), u"*" : (u"*", u"*"), - u":" : (u":", u" : u"), - u"}" : (u"}", u")"), + u":" : (u":", u":"), + u"}" : (u"}", u"}"), u"」" : (u"」", u"」"), u"<" : (u"<", u"<"), u">" : (u">", u">"), |