

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