InteractiveEngine
Generates Japanese characters from key cordinates or Qwerty key chars with T-Code
InteractiveEngine provides batched conversion into Japanese. Prefix key strokes should be included in the input key strokes. In the following example, "fj" indicates entering Mixed Conversion mode (as "△", internally). In this mode, user can feed kanji and hiragana mixed input and generates conversion candidates through convert() function.
scala> import io.github.nicheapplab.tcodeengine._
scala> val engine = new InteractiveEngine with QwertyLayout
scala> "fjyijstt".foreach(ie.put(_))
scala> ie.inflexRight()
scala> ie.convert()
scala> ie.selectCandidate(0)
scala> ie.commit()
val res0: String = "記者"
To use kanji composition, type the prefix "jf" to enter Composition mode (as "▲", internally). Composition mode can be nested as well as inside of Mixed Conversion mode. In the following example, after typing "fjjfpw", its internal buffer will be "△▲木". Followed by ".v" (corresponds to "目"), "▲木" will be popped and composition consumes them, generating "相". The internal buffer will be "△相". Then typing ".d" ("つ") and "dt"("ぐ") will make the internal buffer to "△相つぐ". InteractiveEngine.inflexLeft() makes it to "△相つ|ぐ", which indicates "ぐ" is the inflex for the conversion. InteractiveEngine.convert() will clear the buffer and put the candidates into InteractiveEngine.candidates buffer. The user then can choose the desired candidate with its index of the buffer, such as ie.selectCandidates(3). This will clear the candidates buffer and put the converted text "相次ぐ" into outputBuffer. To extract text from outputBuffer, call InteractiveEngine.commit().
scala> val ie = new InteractiveEngine with QwertyLayout
scala> "fjjfpw.v.ddt".foreach(ie.put(_))
scala> ie.inflexLeft()
scala> ie.convert()
scala> ie.selectCandidates(0)
scala> "fjjeux".foreach(ie.put(_))
scala> ie.inflexRight()
scala> ie.convert()
scala> ie.selectCandidate(3)
scala> "kgjwjc".foreach(ie.put(_))
scala> ie.commit()
val res0: String = "相次ぐ火事により"
Alternatively, a predefined DvorakLayout can be specified.
Attributes
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type