

#include <nitro/std.h>typedef STDResult (*STDConvertUnicodeCallback) (u16 *dst, int *dst_len, const char *src, int *src_len);
| dst | 変換したUnicode形式の文字を格納するポインタ |
| dst_len | 変換先バッファに格納できる最大文字数を受け、実際に格納された文字数を返すためのポインタ バイトサイズでない点に注意してください。 |
| src | ShiftJIS形式の文字列で変換に失敗した位置を指すポインタ |
| src_len | srcが指す未変換の残りのバイトサイズを受け、実際に変換に要したバイトサイズを返すためのポインタ |
変換が成功したらSTD_RESULT_SUCCESSを、変換に失敗したらSTD_RESULT_CONVERSION_FAILEDを返してください。
引数dst_lenとsrc_lenにはそれぞれ、実際に変換で使用した文字数を格納して返してください。
STD_ConvertStringSjisToUnicode()で設定するコールバック関数の型です。
STD_ConvertStringSjisToUnicode()内で変換できない文字を検出するたびに呼び出され、
ここで変換処理を自由に規定することができます。
dstには常に4文字分の配列が保証されており、ここへ変換結果の文字を格納してください。終端を付加する必要はありません。
src_lenには今回の変換によって読み進めるべきsrcの1文字分のバイトサイズを格納してください。
srcおよびdstいずれも、変換結果が2文字以上となりつつバッファ終端を越える場合には、変換結果を無視して終端に達したものとみなします。
STDResult
STD_ConvertStringSjisToUnicode
2006/08/10 インタフェース変更。
2006/07/24 インタフェース変更。返り値の制限に関する追記。
2006/07/05 初版