先日紹介した梅花--携帯電話パッド式・中国語簡体字入力方であるが、 使えば使うほど惚れ込んでしまう!
名づけてAsukalの梅ちゃんキー(勝手にAsukalって付けるなよ!)
ずっとこの様な携帯電話式の中国語入力を待ちかねていたと言う事も有るが本当に良く出来た入力方で有ることが、 使えば使うほど分かってきた。
例えば一つのキーに5つの文字・
記号が割り当てられている。これを使い分ける方法としてドラッグ方向認識方(?)と言えば良いのか、
呼び方は分からぬが要するにその打ち込みたい文字がある位置に向かってキー上をドラッグすればその文字/記号が指定できる。
JKLのキーを例にあげると @=上の方向にドラッグすれば上に位置する記号 : が、A=右へドラッグすれば右に位置する L が,C=左は J、 D=下は 5 真ん中をタップすれば K である。 通常は意識しなくても良いが記号や特定の文字を選びたいときに使う。
この機能はかなり昔にAsukalも購入した事のあるJetkeyと言うソフトにも搭載されている機能である。
←キーを選びその入力したい文字の方向にドラッグするとその文字が選択できるJETKEY、 Asukalも使ってみたくて買ってしまったが使わずじまい。英語入力のみ。そのキーのサイズは画面を狭くする!
お金を払わないとDL出来なかったのである!
さてそんな梅ちゃんだが・・・
この機能を使わず特定のキーを選ぶ事なく通常のT9(風) 機能を使う場合はJKLキーを押せば辞書はJKLの3つの文字を候補として選んでくれるのだ。
例えば日本人=ri-ben-ren を入力する場合に携帯キーの場合は
数字の7keyを3回;PQRS 4keyを3回;GHI 2keyを2回;ABC 3keyを2回;DEF
6keyを2回;MNO 7keyを2回;PQRS 3keyを2回;DEF 6keyqp2回;MNO
合計18回キーをたたく必要が有る。 しかしT9(風)の梅ちゃんはなんと!
何も考えず数字キー7-4-2-3-6-7-3-6と無造作に数字キーを6回たたけば良いので有る。実際は4回目で日本人と候補が出てくるのだ!
中国の携帯電話では当たり前であるがこれがPPCで可能になったのだ!
さて今このソフトの開発元と連絡を取り、
日本語入力を完璧なものにしようと話し合いを進めている。
出来れば使い慣れたComPOBOX系の辞書を登録できればかなりのタップ数を省略して片手で入力が可能になるのである。
この画像はインチキ画像である。実際はABCのアルファベットキーから呼び出す。
さてその為に現在、ComPOBOXの辞書をTXT形式で呼び出し、 入力されるべき文字列をローマ字化しているのである。
簡単かと思ったが、実はすごい量であった・・・
う〜〜〜でも作りたい!でも面倒くさい!う〜〜〜
誰か協力してくれ!
画像はローマ字呼び出しに対応させる為に辞書をローマ字化している作業・・・・・
あ行だけでいやになったAsukalであった!
http://kakasi.namazu.org/index.html.ja
Linux とかでちょっとしたシェルスクリプトが書ければすぐできそうです。
ただ、結果のチェックが大変かもしれないですが。
実行に、Linux か FreeBSD システムが必要ですが…。
先ほどWindowsで動く便利なソフトを見つけました。
Rtok by 福太郎と言うローマ字/カナの相互変換ソフトです。
呼び出したtxt形式の辞書をCSVに変換して読みの部分だけローマ字変換しています。
便利ですよ!
Rtok 福太郎
福太郎
http://www.vector.co.jp/soft/win95/util/se287403.html
変換パターンを自分で調整できる方法もありますよ。(変換ロジックは他人のフンドシですが)
http://www.d-project.com/hebonconv/
から hebonconv.zip を落として解凍、hebonconv.js をエディタで開いて2、255、257行目の先頭に//を入力して保存。
同じフォルダに以下の内容をテキストファイルとして保存して、拡張子を .wsf に変更しクリックして実行。
ここから
<job>
<script language="JavaScript" src="hebonconv.js"/>
<script language="VBScript">
Set objFso = CreateObject("Scripting.FileSystemObject")
inFileName = "in_word.txt"
outFileName = "out_word.txt"
If objFso.FileExists(inFileName) = True Then
Set objTxIn = objFso.OpenTextFile(inFileName)
Set objTxOut = objFso.CreateTextFile(outFileName)
Do Until objTxIn.AtEndOfStream = True
txLine = objTxIn.ReadLine()
s = Split(txLine," ")
ret_s = toHebon(s(0))
objTxOut.Write(ret_s & " " & s(1) & vbCr)
Loop
objTxIn.Close()
objTxOut.Close()
MsgBox "変換完了しました。", 0, "Completed!"
Else
MsgBox "変換対象ファイル " & Chr(34) & inFileName & Chr(34) & " が見つかりません。", 0, "Error!"
End If
Set objFso = Nothing
</script>
</job>
ここまで
s = Split(txLine," ")の" "の中が区切り文字になります。とりあえず行の先頭がひらがな読みで、半角スペースを挟んで次に単語、改行というケースを想定しています。
Windowsで実行可能です。
変換に微調整必要な際にご利用くださいませ。
先頭の//を消してテキストファイルとして保存してください。
//<job>
//<script language="JavaScript" src="hebonconv.js"/>
//<script language="VBScript">
//Set objFso = CreateObject("Scripting.FileSystemObject")
//
//inFileName = "in_word.txt"
//outFileName = "out_word.txt"
//
//If objFso.FileExists(inFileName) = True Then
//
// Set objTxIn = objFso.OpenTextFile(inFileName)
// Set objTxOut = objFso.CreateTextFile(outFileName)
//
// Do Until objTxIn.AtEndOfStream = True
//
// txLine = objTxIn.ReadLine()
// s = Split(txLine," ")
//
// ret_s = toHebon(s(0))
//
// objTxOut.Write(ret_s & " " & s(1) & vbCr)
//
// Loop
//
// objTxIn.Close()
// objTxOut.Close()
// MsgBox "変換完了しました。", 0, "Completed!"
//Else
// MsgBox "変換対象ファイル " & Chr(34) & inFileName & Chr(34) & " が見つかりません。", 0, "Error!"
//End If
//Set objFso = Nothing
//</script>
//</job>
プログラムのソースコードは書き込めないですね。
(セキュリティ上当たり前ですね)
私のコメントは削除ください。
いえ問題ありませんよ。有難うございます。せっかくの情報ですので消すのはもったいない様な気がします。あす見てみますね。
とりあえずmuni62さんの書き込みを見る前に変換は一段落してしまいましたでも修正等に3時間もかかってしまった(*^。^*)