2009年2月15日日曜日

次のバージョン予定

またも経過報告となってしまいました…
現在、GetTextOSK関数の調整中です。これは独自関数なのでちょっと説明します。
int GetTextOSK(char *buf,int buflen,int inputmode,const char *title,const char *init);
これはPSPのファームウェアが持っているOSK(オンスクリーンキーボード)を利用するための関数です。
引数は左から順番に「取得した文字列の格納先」、「最大文字数(半角)」、「入力モード(後述)」、「タイトル文字列」、「初期文字列」となります。
入力モードとは何かといいますと、例えば… いい具体例が思いつかないorz
あれです あれ 漢字やひらがなを入力できない場合があるじゃないですか。ブラウザでURL入力する場合とか。そういうのを指定するんです。DXP_OSK_KANJIとかDXP_OSK_HIRAGANAとか定数が大量にあるので|演算子で組み合わせてください。
で、この関数がどこまで出来上がっているかというと…
文字の取得はできるんですけどタイトル文字列と初期化文字列がうまく表示できてないんですよね…
現在原因究明中です。早ければ明日あたり公開できそう。遅かったら1週間くらいかかっちゃうかも…その辺がなんともいえません。申し訳ない。
で、この関数を作った際の副産物として、UTF-16とShiftJISの文字、文字列を相互変換する関数ができました。というか、作りました^^ おかげでライブラリのデータサイズがまた増えてしまいましたがw
んー、それから、文字コードの変換表は外部ファイルにした方がいいかもしれませんね。
UTF-16とShiftJISの相互変換には色々と議論が付きまといまして…一部の文字が1:1対応しないんです。で、そういった問題をできるだけ上手いこと解決するような変換表にしたつもりなんですが、人によっては「Microsoft準拠がいい!」「Unicodeが出してる変換表そのままでいいよ!」となるかもしれないんですよねー

0 件のコメント:

コメントを投稿