T-Code-Engine

主な機能 T-Code-Engine では, ユーザー入力をまとめて変換する BatchEngine と, ユーザーによる入力と選択をインタラクティブに実行できる InteractiveEngine があります. BatchEngine の実行例 scala> import io.github.nicheapplab.tcodeengine._ scala> val engine = new BatchEngine with QwertyLayout scala> engine.convert("hgjdkdhgjdhgjgjd;gjdkd;gjdja;g") val res0: String = "で、ので、では、を、のを、とを" with QwertyLayout の代わりに with DvorakLayout を指定することで, Dvorak キーボードで入力した文字列を日本語に変換することができます. また, 交ぜ書き変換や部首合成にも対応しています. 交ぜ書きは prefix を使用せずに, BatchEngine.convert で変換した結果に対して, BatchEngine.mixed.convert を適用します. 2 つ目の引数は活用の指定です. scala> engine.mixed.convert("くわえ","る") val res0: Array[String] = Array("加える") scala> engine.mixed.convert("記しゃ") val res1: Array[String] = Array("記者") 部首合成では, 基本となる二字の合成のほか, “jf” による再帰的合成にも対応しています. scala> engine.combi.composite('上','七') val res0: Option[Char] = Some('虍') scala> engine.convert("jfjfibhtpd") val res1: String = "劇" InteractiveEngine の実行例 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 = "記者" この例では, “fj"で交ぜ書き変換モードに入り, “記しゃ"を"記者"に変換しています. 例では短縮のために foreach を利用していますが, 実際に使用するときには各字を,ie.put('f') のように 1 字ずつ入力することが想定されています. InteractiveEngine.inflexRight() や InteractiveEngine.inflexLeft() を実行することで活用の位置を指定しています. ...

April 8, 2026 · 1 min · 187 words · Kazuhiro F