################################################################ [ 作者 ] tyty [モジュール名] mod_unicode [ バージョン ] 1.10 [ 最終更新日 ] 2014.10.30 [ウェブサイト] http://www31.tok2.com/home/tt/ ################################################################ 「動作環境」  このモジュールは以下の環境で確認しています。 Windows Vista SP2 HSP 34rc2 「紹介」  これは HSP で Window の Unicode テキストを扱うためのモジュールです、 Unicode を使う上で HSP では不便な部分を補うために作りました。 「使い方」  まだヘルプファイルは作っていないので 付属のサンプルスクリプトをご覧ください。 「扱い」  当モジュールに含まれているファイルの全て、 又はその中の個別のファイル、あるいは表記の一部分は、 利用者の作成しているプログラムへの使用はもちろん、 改造、再配布、などなどご自由にお使いいただけます。  このモジュールを再配布、あるいは改造して配布する場合は どこかにこのモジュールの各種クレジット表記を記載してもらえると助かります、 特に元の入手元や作者名を明記してください。  このモジュールを自身のプログラムへただ単に使用し公開する場合は クレジットについては何も気にせずご使用ください。  なお、今後のバージョンでは分かりやすいように 何か扱いやすいライセンスを適用するかもしれません。  このモジュールを使用して起きたいかなる損害や問題にも 作者である tyty は一切責任を負いません。 完全なる自己責任でお使い下さい。 「インクルード」  全てのモジュールファイルが揃ってる状態で mod_unicode.hsp ファイルをインクルードすると 必要なモジュールが全てインクルードされ、 当モジュールの機能が全て使えるようになります。  同梱のサンプルスクリプトでは、 モジュールとサンプルを別のフォルダにしたかったため構成的に #include "..\mod_unicode\\mod_unicode.hsp" としていますが 実際に使用する場合は HSP の common フォルダか、 使用するスクリプトと同じフォルダに 当モジュールフォルダ(mod_unicode)を置き、 #include "mod_unicode\\mod_unicode.hsp" などとして使用すると良いでしょう(もちろん好みの方法で扱えば良いです)。 「留意」  このモジュールファイルで扱う Unicode は、 主に Windows で使われている UTF-16 のリトルエンディアンを指しています。  加えて、説明に Unicode のキャラクタ値とある場合、 スカラー値でなく先の符号化コード値を表しています。  このモジュールの多くの命令や関数で扱う文字列の長さやインデックスは、 バイト数ではなく Win32 API の lstrlenW で返される長さと同じ単位で、 半角英数、ひらがな、カタカナ、漢字なども全て1文字を1として数える物です (ただしサロゲートペアは1文字を2として数える)。 HSP 標準の getstr, strmid, strlen などで扱う インデックスや長さとは少し違う単位なのでご注意下さい。 「実行速度」  個人的には作る前に想像していたより遅くない印象ですが 1文字ずつ文字コードを処理している部分があるので HSP の標準命令に比べると随分低速になります。 私個人の用途には必要十分ですが、それほど早く無い事をご理解の上ご使用下さい。  現状 Windows でしか動かないモジュールなので 高速化の事を考えるといっその事1文字ずつ処理している コアの部分だけでも機械語化するというのも良さそうです 今後より高速化の要望が有あればするかもしれませんが、 そもそもこのモジュールの利用者自体いなさそう…。 「その他」 このモジュールで提供される全ての命令、関数、マクロには プリフィックスとして uni_ を頭文字に付けています。 今思うと uc_ でも良かったかもしれません。 「同梱ファイル一覧」 #全てのファイルをまとめたフォルダ + ユニコード処理モジュール #説明書、いま見ているこのファイル readme.txt #当モジュール開発に使用したスクリプトエディター Le.Antilla のプロジェクトファイル mod_unicode.prj #モジュールファイルの入ったフォルダ + mod_unicode #モジュールファイル mod_unicode.hsp mod_unicode_common.hsp mod_unicode_dialog.hsp mod_unicode_draw.hsp mod_unicode_easy.hsp mod_unicode_file.hsp mod_unicode_mcr.hsp mod_unicode_obj.hsp mod_unicode_path.hsp mod_unicode_str.hsp mod_unicode_str2.hsp mod_unicode_str3.hsp mod_unicode_strcnv.hsp #サンプルスクリプトの入ったフォルダ + samples #サンプルスクリプト sample uni_bload.hsp sample uni_chdir.hsp sample uni_cnvcase.hsp sample uni_cnvkana.hsp sample uni_dialog.hsp sample uni_dialog_open.hsp sample uni_dialog_save.hsp sample uni_dirinfo.hsp sample uni_dirlist.hsp sample uni_exist.hsp sample uni_getchar.hsp sample uni_getcmdline.hsp sample uni_getcmdlinelist.hsp sample uni_getpath.hsp sample uni_getstr.hsp sample uni_input.hsp sample uni_instr.hsp sample uni_join.hsp sample uni_memexpand.hsp sample uni_mes.hsp sample uni_mesbox.hsp sample uni_mes_newline.hsp sample uni_objsel.hsp sample uni_obj_gettext.hsp sample uni_s2w.hsp sample uni_sandwich.hsp sample uni_split.hsp sample uni_stradd.hsp sample uni_strcmp.hsp sample uni_strcmp2.hsp sample uni_strcpy.hsp sample uni_strdrop.hsp sample uni_strf.hsp sample uni_strins.hsp sample uni_strlen.hsp sample uni_strlen2.hsp sample uni_strmid.hsp sample uni_strrep.hsp sample uni_strskip.hsp sample uni_strtrim.hsp sample uni_swap.hsp sample uni_textload.hsp sample uni_title.hsp sample uni_utf16_to_utf8.hsp sample 区切り文字列取得.hsp #サンプルスクリプトの中で使用しているファイル sjis.txt uni.txt uninull.txt ☠☠☠.txt ✩✩✩.txt 「主な更新履歴」 2014.10.30 var 1.10 ・uni_dialog のタイトル指定パラメータを省略可能にした。 2014.10.29 var 1.09 ・当モジュールのオブジェクト(コントロール)から文字列を取得する命令を追加 uni_obj_gettext。  オブジェクトから文字列を取得する手段が無かったことに今まで気が付かなかった…。 ・オブジェクト(コントロール)へフォーカスを設定する命令を追加 uni_objsel。 ・ユーザーからの文字列の入力を得る命令を追加 uni_input。 ・新規追加命令ののサンプルを追加。 ・uni_mesbox 命令のウィンドウスタイルを調整。 ・sample uni_title.hsp サンプルを微調整。 ・uni_getpath のモードを追加。 ・uni_getpath の一部モードの処理が間違っていたのを修正。 2014.10.27 var 1.08 ・複数のウィンドウで正しく扱えなかったのを修正。 ・古いサンプルファイル sample uni_print.hsp が残っていたのを削除。 ・文字列を抜き落とす命令を追加 uni_strdrop。 ・文字列を比較する命令を追加 uni_strcmp, uni_strcmp2。 ・アルファベットの大小文字を変換すうる命令を追加 uni_cnvcase。 ・書式付き文字列を変換する命令を追加 uni_strf。 ・文字列変数の内容を交換する命令を追加 uni_swap。 ・UTF-16 から UTF-8 へ変換する命令を追加 uni_utf16_to_utf8。 ・uni_dialog_open, uni_dialog_save マクロのキャプションのデフォルト値が間違っていたのを修正。 ・簡易版命令も幾つか追加 uni_split_s2w, uni_join_s2w。 ・mod_unicode_strcnv.hsp を新たに作り、変換に関する命令は全てそちらへ移動した。 ・uni_textload 命令に、開くテキストのタイプを指定出来るようにパラメータを増やした。 ・uni_strcpy 命令にパラメータを増やした。 ・いくつかの命令でモジュールファイルの移動をした。 ・uni_insert 命令の名前を uni_strins へと変更した。 ・サンプルで使うテキストファイルの名前と内容を一部変更。 ・モジュールとサンプルのコメント説明文を加筆修正。 ・モジュールとサンプルのスクリプト中のコメントが幾つか間違っていたのを修正。 ・その他色々。 2014.10.03 var 1.04 ・初公開。