lotem / rimeime

Legacy codebase of Rime, automatically exported from code.google.com/p/rimeime
49 stars 23 forks source link

Support n-key auto committing for table translation #76

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
請寫下能夠重現此狀況的操作步驟:
1. Use table based IME such as Wubi;
2. Strike over 4 non-space keystrokes such as thnnr.

所得的結果是這個樣:
The input cannot be translated. For example, thnnr input yields raw output 
thnnr.

預期結果該是那個樣:
The first 4 keys translates to the first word and the rest to candidates for 
selection, e.g. showing 自己的.

請提供以下信息,幫我們定位問題。

1. 輸入法的款式:鼠鬚管
   輸入法版本號:0.9.2.1

2. 操作系統類型:Mac
   操作系統版本:10.7.3

3. 輸入方案名稱:五笔86

還想再說幾句:
Attached is my quick and dirty hack by specifying fixed value of "autocommit" 
in speller config, which impacts the abc segmentor after patching.

However, it might be desirable implement the auto committing feature in table 
translation rather than segmentation stage, as one may want to auto commit 
based on the availability of table lookup result rather than preset fixed 
value, so that Wubi may have 3-key auto commit, or even 5-key for some 
characters in certain Wubi variants, while the major auto commit key length is 
4.

Original issue reported on code.google.com by yindian@gmail.com on 15 Mar 2012 at 5:01

Attachments:

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
This is a frequently requested feature, that I am not yet determined to add to 
Rime, probably because it's not cool.
Rime would not copy all the features from an input method framework that 
belongs to the past century. Auto-committing was used because interesting 
results could not be provided, given an input string longer than the `fixed' 
length. What if we make them available?
However, not being cool won't disqualify this feature from being supported as 
an option.
At large, I'll vote for the change; but I believe we can provide a better 
solution later.

`auto commit based on the availability of table lookup result':
It could be done (with non-trivial effort), but it is in my opinion not a good 
idea: no one could memorize the entire table, in order to `predict' whether 
auto-committing will happen at the next moment while he's typing, or a space 
key should be used instead. Presumably this will lower down typing speed; for 
beginners it might result in more errors and more difficulties in correcting 
them.

Original comment by chen....@gmail.com on 15 Mar 2012 at 7:27

GoogleCodeExporter commented 9 years ago
Thanks for your comments and acceptance. I agree that `auto commit based on the 
availability of table lookup result' is not trivial and maybe not suitable for 
everyone, which needs careful consideration and balance. Fixed-length 
auto-committing should suffice for most needs. Anyway, thanks for taking this 
feature into consideration and I do believe RIME could provide a nice solution.

I preferred Yong IME (小小输入法) when working under Windows and Linux. 
After switching to Mac I didn't find a suitable IME until I came across RIME. 
Woooow, it supports all major desktop platforms, bearing an interesting 
romanization engine besides support for traditional tables, fully customizable, 
and most importantly, FREE & OPEN SOURCE! Nice job you guys have done. Keep up 
with the good work! I feel exciting waiting for the upcoming 1.0 release :-)

Original comment by yindian@gmail.com on 15 Mar 2012 at 11:50

GoogleCodeExporter commented 9 years ago
Issue 81 has been merged into this issue.

Original comment by chen....@gmail.com on 16 Mar 2012 at 2:05

GoogleCodeExporter commented 9 years ago
I really appreciate you taking time in viewing all the issues.

However, as a Wubi user, autocommit is a crucially important feature in typing 
at very high speed. I find myself constantly typing at extremely troublesome 
conditions where I need to make a lot of deletions and re-types back and forth 
without autocommit. 

I have 5 years of Wubi experience, and I type character by character. 

I may give up this awesome IME merely because it lacks autocommit. 

Sincerely.

Original comment by shinw...@gmail.com on 16 Mar 2012 at 2:16

GoogleCodeExporter commented 9 years ago
Good point.

But...
@yidian: Errr, honestly there is no plan for `1.0 release'.
I guess the next version will be 0.9.10 for Weasel, and 0.9.3 for Squirrel :-)

Original comment by chen....@gmail.com on 16 Mar 2012 at 2:59

GoogleCodeExporter commented 9 years ago
I see... It is a long way off for 1.0 release. Much remains to be done for a 
feature complete version, such as support for dynamic or on-the-fly 
user-defined word registration with rule-based table code deduction, like the 
add_word hotkey config in Yong IME. It is nice to see the development proceeds 
steadily, along with the improvement of documentations and increased user 
feedback. I also hope (fixed-length) auto committing could be supported in the 
next version.

It is rather nice to have a novel IME candidate for Mac users. For what it is 
worth, it's free and open, and keeps evolving. Cool.

Original comment by yindian@gmail.com on 16 Mar 2012 at 4:20

GoogleCodeExporter commented 9 years ago
Fixed, based on yidian's patch;
The config item has been renamed "speller/max_code_length" since the concept 
"autocommit" has already been used in Rime for other purpose.
Also added support for delimiters: q'j'rs'ggttr
Escape key's behavior has changed: to clear the current segment (when part of 
the composition is being highlighted) instead of the entire composition.
Updated schema cangjie5, wubi86 to reflect the change.

Original comment by chen....@gmail.com on 18 Mar 2012 at 7:02

GoogleCodeExporter commented 9 years ago
Reimplemented auto-committing with `speller' instead of with `abc_segmentor'.

Original comment by chen....@gmail.com on 20 Mar 2012 at 4:57