単漢字変換モジュール

Super Card を愛するすべての人に、このプログラムを捧げます。
DSLua を愛するすべての人に、このプログラムを捧げます。
自分の手でプログラミングする事を愉しむすべての人に、 このプログラムを捧げます。

これは、単漢字変換で日本語の一行入力を行うDSLuaプログラムです。

ダウンロード

kinput.zip

内容:

他に必要なもの

putfont.lua (scfont.fon も)

※メモリカートリッジなどのハードウェア拡張は必要ありません。

インストール

1. 前準備

漢字を表示するモジュール をインストールします。

2. モジュールの格納

microSDカードの putfont.lua と同じディレクトリに以下のファイルを置きます。
 kinput.lua、 kbd_x64.raw、 kbd_x64.pal、 tankanji.dic

3. 動作確認

サンプルプログラム kinput_sample.lua をDSLuaのファイラから指定して実行します。
なお kinput_sample.lua を kinput.lua と異なる場所に置いた場合は、

dofile('kinput.lua' )

引数 を変更して下さい(フルパスにするなど)。

DSの画面に次のように表示されればOKです。

下画面のEnterをタッチペンで押すと終了します。

関数の仕様

呼び出し方:

dofile('kinput.lua')
 …
string1 = kinput(BGBot8Bit, palnum, string0)

引数:

BG8Bit 8-Bit Backgrounds のオブジェクト。
Screen.Load8BitBG() で生成しておき、Screen.Initialize() によって下画面として 初期化しておく事。
本モジュールでは下画面全域を使用し、終了時にクリアされる。
palnum パレット番号 (Sprites and Backgrounds で “palette number” と説明されている値)。
本モジュールはキーボードの表示にスプライトを使用しており、 スプライトの処理で使用するパレット番号を palnum で指定する。
palnum の指定値によって本モジュールの機能が変化する事は無い。
呼び出し元プログラムで他にスプライトを使用していなければ、palnum は 0 でよい。
string0 文字列入力部に表示する初期(デフォルト)文字列(UTF-8)。
不要であれば '' (空文字列) を指定すればよい。

返り値:

string1 入力された文字列(UTF-8)。

操作法

画面構成を以下に示します。

1. キーの説明

通常キー・特殊キー・変換候補 をタッチペンで押して文字を入力します。 入力された文字列は「文字列入力部」に表示されます。

通常キー
文字を入力します。左上の何も書いていないキーはスペースです。
特殊キー
半角モード
以後通常キーから入力される文字が半角になります。
全角モード
以後通常キーから入力される文字が全角になります。
無変換→ひらがな
(全角モード時のみ有効) 未確定文字列をひらがなに確定します。
無変換→カタカナ
(全角モード時のみ有効) 未確定文字列をカタカナに確定します。
変換/次候補
(全角モード時のみ有効) 未確定文字列を単漢字変換します。
BackSpace
カーソルの直前の文字を削除します。
Enter
入力を終了し、文字列入力部の内容を kinput() 呼び出し元に返却します。

特殊キーは、有効(操作可能)なキーは明るい黄色に、 無効なキーはグレーになります。

2. 漢字変換例

(1) 読みによる入力

「美しい」と入力します。

 全角モード の順に押します。

 変換/次候補 を押します。

候補は、入力に一致する読みが長い漢字から並びます。
この例では、「うつく」と読む字 →「うつ」と読む字 →「う」と読む字、の順に並んでいます。

  を押します。

候補が表示されている状態で更に 変換/次候補 を押すと次の候補が出ます。 BackSpace を押すと前の候補に戻ります。

もし候補が全く表示されない場合は、tankanji.dic が kinput.lua と同じディレクトリに置かれているか確認して下さい。

なお、読みに対応する候補が一つの場合は、 候補は表示されずにすぐに確定されます。

(2) Unicodeでの入力

「⊥」と入力します。

 全角モード 2 2 A 5 と押します。

 変換/次候補 を押します。

16進4桁のUnicodeは対応する全角文字に変換されます。

入力出来る最大文字数

半角42文字、全角21文字まで入力可能です。

辞書の収録内容

単漢字変換辞書(tankanji.dic) には、 (1)常用漢字、(2)人名用漢字、(3)非漢字 の読みを収録しています。

(1)、(2) は、 「大修館書店 漢字文化資料館」内「漢字文化アーカイブ」に掲載されているテキストデータを使わせて頂きました。
なお1981年答申(初版)分であり、2010年改訂は反映していません。_o_

(3)については、字の選定は私の独断と偏見です。(^_^;)
また、すべての非漢字を収録しているわけでもありません。

読みで変換出来ない文字は、ご面倒でもUnicodeで入力して下さい。

辞書を自作するには

PC上で動く tankanji.dic ↔ テキストファイル相互変換Perlスクリプト を御使用下さい。

更新履歴

070417版 初版

参考サイト

大修館書店 漢字文化資料館 ( 2014年時点 )