4.3 HSPプログラム内での対処方法

 そこでどうすれば良いかというと、必要に応じて、随時プログラム内で変換します。

1つの手段としては、HSPに標準で添付されている拡張プラグインのhspinet.dllにあるnkfcnv命令を使うといいでしょう。

例えば、""で囲まれる形で、HSPのスクリプト上に直接書かれている文字列は、そのままでは当然シフトJISエンコーディングなので、nkfcnv命令でUTF-8エンコーディングに変換した上でGTK+の関数に渡します。


#include "hspinet.as"

sjis_text = "クリック!"
nkfcnv utf8_text, sjis_text, "Sw"
gtk_button_new_with_label utf8_text

 ただし、このようなスクリプトを毎回書くのは面倒なので、モジュール内にごく短い名前のユーザ定義関数を作って、変換処理はその中に書いておき、変換が必要になる度にその関数を呼び出す形にすると、手間を減らすことができます。


#include "hspinet.as"
#module
    /* shift-jis文字列をutf-8に変換 */
#defcfunc u str chars_
    chars = chars_
    nkfcnv@ chars, chars, "Sw"
    return chars
#global

    gtk_button_new_with_label u( "クリック!" )

 次の章からは、GTK+が提供するウィジェットやオブジェクト、その他機能について、詳しく説明していきます。

Prev - Table of contents - Next