BlackBerry対応のKKJConvを公開します(ブラックベリーで日本語し隊専用?)。

オリジナルのKKJConvをBlackBerry用にパッケージしなおしたものです(オリジナルのKKJConvにもBlackBerry用のコードが含まれています)。

[ BlackBerryでのユニークな操作 ]
- Symキーにて記号入力パネルを開きます。
- 記号入力パネルでの選択動作はダイヤルの回転およびAlt + ダイヤルの回転で行い Enterで決定です。キャンセルはエスケープキーです。
- 漢字入力モードでのショートカットはAlt+Oが追加、Alt+Pが新規コピーです。
- 漢字入力モードでの文字種選択はエスケープキーです。また、左シフトを押してエスケープを押すと、いつでも漢字モードに移ります。

導入は以下のURL(E61用プログラムというタイトルで何なのですが、、、)からkkjcbb083.zipをダウンロードしてください。
http://www.nkozawa.com/html/E61MyProgList.html

BlackBerry7290では少々辞書のサーチが遅いです。これのチューンが今後の課題です。

細かい修正とP990i向けの修正とメニューのショートカット搭載を行ったKKJCovn v0.83です。

- 「メール」など長音を含む外来語を半角カナに変換すると長音は全角のまま残ってしまう。長音を半角のハイフンに変換するようにした。
- P990iのジョグの上下動作と押し込み(M600iとキーコードが違うんです)をM600iと同様に働くようにした。

[ メニューのショートカット ]

Ctlキーが効く機種にて漢字入力モードのメニュー操作にショートカットを作りました。これで、わざわざオプションメニューを開かなくとも、さくっとコピペ画面に移行できます。

- Ctrl + A : Append = 追加
- Ctrl + C : Copy = 新規追加
- Ctrl + I : Insert = 挿入
- Ctrl + K : 漢字モード
- Ctrl + X : 文字種 (本当は Ctrl + M にするつもり、、、次のバージョンで変更するかも)

以下のurlからkkjconv083.zipをダウンロードしbin下のKKJConv.jarを導入してください。
http://www.nkozawa.com/html/E61MyProgList.html

BlackBerry来る

blackberry.jpg似たようなデバイスが2台並んでいます。右側は言わずと知れた有名ビジネスツールです。最近は、中国の国内線の空港などでも使っている人を良く見かけるようになった(ほとんど西洋人ですが)BlackBerryです。そのBlackBerry 7290がやってきました。KKJConvがとりあえずBlackBerryで動いているのは山根さんReveilさんが紹介されていますが、それをもっと完璧なものにすべくRevielさんが貸してくれたものです。

最初7290でKKJConvの立ち上げ中にエラーが出て使えなかったのですが、デバイスのフゥームウェアを更新したら、あっさり動くようになりました。使用感はまずまず良い感じです。KKJConvに限らずMIDPプログラムの起動はとても速いです。ただKKJConvの辞書読みの時間がE61に比べると遅いです。このあたりチューンする必要があるかもしれません。

操作性とかの検証のためには使いこまなければなりません。そこでBlackBerryに普段使っている上海移動のSIMカードを入れて携帯電話として通話とSMS用のデバイスとして使っています。私も最近まで知らなかったのですが、BlackBerryとしての契約が無くても普通の電話として使えるところが面白いです。電話帳とかもIntellisyncで色々ところから持ってこられるので初期設定も全く不自由なく終わりました。さすが世間に認められたビジネスツールです。

細かな変更をいくつか行いました。
- 起動と終了時の処理を見直してスピードアップ
- E61以外のデバイスでの記号入力パネル操作に対する考慮
- SonyEricssonのデバイスでの文字種キー等の変更
等です。詳細は以下をご覧ください。
導入は何時もの通りです。以下のURLからkkjconv081.zipをダウンロードしbinディレクトリー下のKKJConv.jarを導入してください。
http://www.nkozawa.com/html/E61MyProgList.html

追記)
- 最初、コメント、トラバ不可になっていました。何故だろう、、、
- キャッシュを保管する形式が変わりました。以前のバージョンからはキャッシュ内容を引き継ぎますが、v0.81から以前のバージョンに戻す時はキャッシュは失われます。

Read the rest of this entry

KKJConvSpeChr.jpgお待たせいたしました。KKJConv v0.80を公開します。

もともとNOKIAのデバイスに搭載されているような記号入力パネルを作りました。E61での記号入力が目的ですが、他のデバイスでも使用できるようにしています。
- “/” で記号入力パネルが起動します。E61ではスペースバーの右横のキーで起動すると思います。
- 記号入力パネルは、今のところ三枚用意されています。”/”を押す度に三枚のパネルが切り替わります。
- 記号入力パネルで記号を選択するのは上下左右の矢印キーもしくは数字の2, 4, 6, 8を使用します。
- 記号の入力は矢印キーの中央にあるボタン、エンター、もしくは数字の5を押します。
- 記号を入力せずに終了するにはキャンセルを押します。

全角2のパネルの記号は暫定的なものです。使用頻度等を考えて入れ替えるつもりです。記号入力パネルそのものはE61の中文版では、うまく表示できていますが他のデバイスでの表示は未知数です。不都合があれば教えてください。実際のところ画面からはみ出してしまうような場合等の対処は、まだ考えていません。

今後、数字入力も同様の方法にして、なるべく漢字モードから離れずに入力できるのも良いかと考えています。これはE61以外では必要ないかもしれないので、そろそろ設定画面を作らないといけないかも知れませんね。

導入は何時ものように以下のurlからkkjconv.08.zipをダウンロードしbinディレクトリーのKKJConv.jarを導入してください。
http://www.nkozawa.com/html/E61MyProgList.html

Nokia Shop先週のことになりますが香港と台北に出張していました。台北では自由に歩き回る時間が無かったので、このブログに書くようなネタはほとんど無いです。が、香港と言えば大陸モバイラーにとっては聖地とも言える場所です。訪問した証として何かブログに書いておかない訳には行きません。

旺角の電脳街は、すでに語りつくされた感があります。そこで、今回紹介するのは山根博士お勧めの新しいNokiaショップです。場所はCauseway BayのTimes Squareの正面です。何がすごいかというと、店に並んでいるのは全部本物の携帯電話です。触りまくれます。ヘッドセットが接続されていて音楽を試聴できるようになっているものもあります。
二階に上がるとVertu(Nokiaの超高級ブランド)のショウルームがあります。なんか高級宝石店の別室の雰囲気で、恐れ多くて足を踏み入れることが出来なかったです。

Nokiaファンの皆様、香港を訪れる機会がありましたら、ぜひとも行ってみて下さい。圧倒されるほどのデモ機に涙を流すこと請け合いです(ちと、オーバーかな^^)。

末筆で失礼しますが、おなじみの華南の名声高いモバイラーの方々に時間をいただき歓談させて頂きました。とても楽しい時を過ごすことが出来ました。華南の皆様、ありがとうございました。

山根さんとこで紹介されているようにKKJConvをBlackBerryで稼動することが出来ました。
これはMIDPのプログラムをBlackBerry用にパッケージしなおしただけのものです。ソースとかは一切必要が無いので、手持ちのMIDPプログラムをBlackBerry用に変換するのは難しくはありません。もっとも、山根さんの記事にあるようにKKJConvが不可解な落ち方をしているのでBlackBerry特有の不具合みたいなものは発生するかもしれません。

[ 必要なツール ]
BlackBerry Developers -> DownloadsにあるJDE Component Package
これはパッケージ作成に必要なツールだけが含まれています。フル開発パッケージであるBlackBerry JDEでも当然OKでしょう。

[ パッケージの作成方法 ]
変換したいMIDPのjarファイルとjadファイルを用意します。jadについてはjarに含まれているMANIFEST.MFから何とか作ることも出来るでしょう(ここでは詳細は省きます)。

jarを元にcodという拡張子のパッケージを作ります。
- スタート->Research In Motion->BlackBerry JDE Component Package->JDE Components Command Promptを開きます。
- 以下のコマンドを実行。
rapc import=.\lib\net_rim_api.jar codename=KKJConv -midlet jad=y:KKJConv.jad y:KKJConv.jar

これはCommand Promptを開いた状態のままでyドライブにjarとjadがある場合の例です。
これにてカレントディレクトリーにKKJConv.codが出来上がればOKです。

KKJConv.alxファイルの作成。
BlackBerryにcodを導入するにはalxファイルが必要です。alxの中身はテキストでjadと似ています。以下にKKJConv用にでっち上げたalxファイルを書いておきますのでjadと見比べて適当に作成すれば良いと思います。

<loader version="1.0">
<application id="KKJConv">
<name>KKJConv</name>
<description>KKJConv</description>
<version>0.72</version>
<vendor>Kozak N'sLAB</vendor>
<copyright>Copyright (C) 2006 by Nobumichi Kozawa</copyright>
<fileset Java="1.0">
<files>KKJConv.cod</files>
</fileset>
</application>
</loader>

私は、まだエミュレーターも動いていないので実際のテストは全て山根さんにお願いしています。山根さんありがとうございました。

BlackBerry自体に色々と未知の部分も有ります。この手順を試す場合は、くれぐれも自己責任で行うことをお願いします。

KKJConvを作っていて機種依存で苦労した部分の覚書です。

[ TextBoxの改行コード ]
Nokiaの場合単純に”\n”、16進数で0x0aを改行として考えれば問題ないです。
UIQ機(M1000やM600i)ではParagraph Separator(UTF-8だとe2 80 a9)というコードを使います。
NokiaのデバイスにParagraph Separatorを書き込んでも、ちゃんと改行されます。
問題はプログラム中でParagraph Separatorをどうやって表現するかということです。”\n”みたいな文字列で表現できれば簡単なのですが見つからなかったのでKKJConvの中では以下の関数で返る文字を使用しています。

private char getParaSepa()
{
    byte [] ps = new byte[3];
    String sP;
    // this is Paragrpah Separator in UTF-8
    ps[0] = (byte)-30; ps[1] = (byte)-128; ps[2] = (byte)-87;
    try {
        sP = new String(ps, "UTF-8");
        return sP.charAt(0);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return 0x0a;
}

[ Unicode ]
Nokiaや、おそらくSonyEricssonのデバイスではUTF-16LE, UTF-16BE, UTF-8のどれでもエンコード、デコードが出来ますがM1000ではUTF-8しか扱うことが出来ないようです。このためKKJConvの辞書は最初UTF-16LEを使っていたのをUTF-8に変更しました。

PS. 日本から上海に戻ってすぐ出張に出ています。移動日が多いだけで仕事は少ないのでKKJConvの更新が出来るつもりでしたが、食事行ったり飲みに行ったりで結局何も出来ていないです。