/* ------< sjis_unicode.h >-------< 2006.10.27 >---< 2015.07.15 >--------------- */ /* kamifuji (R) Convert the char code ( SJIS <-- --> Unicode ). Version=1.01 */ /* Copyright (C) kamifuji@proof.ocn.ne.jp 1996-2015 All rights reserved.*/ /* (C) kamifuji@kamifuji.dyndns.org 1996-2015 All rights reserved.*/ #ifndef _SJIS_UNICODE_INCLUDE #define _SJIS_UNICODE_INCLUDE // C++ から呼び出すときには、::pdf_decode_to_SJIS( ) /*------------------------------------------------------------------------*/ /* */ /* 関数名 | pdf_decode_to_SJIS */ /* 引数 */ /* 入力 | char *pdfMark : 変換元の pdf テキスト定義。 */ /* | char *sjis_buff : 変換元の Shift_JIS テキスト。 */ /* */ /* 戻り値 | 変換された文字数を返す。 */ /* */ /* 処理内容 | pdf テキストへの応用事例です。(詳細は、失念した かつ Ver=3.00 未満のため、以降は圧縮されているので 容易に扱えない。単なる備志禄として下さい。 */ /* */ /* 制御タイミング | ユーザー関数から呼び出し */ /* */ /* 注意事項 | -- */ /* */ /*------------------------------------------------------------------------*/ int pdf_decode_to_SJIS( char *pdfData ,char *sjis_buff ); // C++ から呼び出すときには、::SJIS_to_pdfmark( ) /*------------------------------------------------------------------------*/ /* */ /* 関数名 | SJIS_to_pdfmark */ /* 引数 */ /* 入力 | char *sjis_buff : 変換元の Shift_JIS テキスト。 */ /* | char *pdfMark : 変換先の pdf のしおりテキスト。*/ /* */ /* 戻り値 | 変換された文字数を返す。 */ /* */ /* 処理内容 | pdf しおりテキストへの応用事例です。 */ /* */ /* 制御タイミング | ユーザー関数から呼び出し */ /* */ /* 注意事項 | -- */ /* */ /*------------------------------------------------------------------------*/ int SJIS_to_pdfmark( char *sjis_buff ,char *pdfMark ); // C++ から呼び出すときには、::SJIS_to_Unicode( ) /*------------------------------------------------------------------------*/ /* */ /* 関数名 | pdfmark_to_SJIS */ /* 引数 */ /* 入力 | char *pdfMark : 変換元の pdf のしおりテキスト。*/ /* | char *sjis_buff : 変換先の Shift_JIS テキスト。 */ /* */ /* 戻り値 | 変換された文字数を返す。 */ /* */ /* 処理内容 | pdf しおりテキストへの応用事例です。 */ /* */ /* 制御タイミング | ユーザー関数から呼び出し */ /* */ /* 注意事項 | -- */ /* */ /*------------------------------------------------------------------------*/ int pdfmark_to_SJIS( char *pdfMark ,char *sjis_buff ); // C++ から呼び出すときには、::SJIS_to_Unicode( ) /*------------------------------------------------------------------------*/ /* */ /* 関数名 | SJIS_to_Unicode */ /* 引数 */ /* 入力 | char *sjis_buff : 変換元の Shift_JIS 文字列。 */ /* | int *Unicode : 変換先の Unicode 文字列。 */ /* */ /* 戻り値 | 変換された文字数を返す。 */ /* */ /* 処理内容 | 0x80 未満の ASCII は、そのまま変換なし、第1バイトが ( ( ( 0x0080 <= sjis ) && ( sjis < 0x00a0 ) ) || ( ( 0x00e0 <= sjis ) && ( sjis < 0x0100 ) ) ) のときは、漢字領域として、Unicode に変換する。            それ以外のときは、半角カタカナであるが、全角カタカナ に変換する。 */ /* */ /* 制御タイミング | ユーザー関数から呼び出し */ /* */ /* 注意事項 | この変換は、UTF-16 です。UTF-8 に変換するには            もう一つ工夫が必要です。 utf16_to_utf8 を作って            下さい。                      */ /* */ /*------------------------------------------------------------------------*/ int SJIS_to_Unicode( char *sjis_buff ,int *Unicode ); // C++ から呼び出すときには、::Unicode_to_SJIS( ) /*------------------------------------------------------------------------*/ /* */ /* 関数名 | Unicode_to_SJIS */ /* 引数 */ /* 入力 | int nChar : 変換元の Unicode 文字数。 */ /* | int *Unicode : 変換元の Unicode 文字列。 */ /* | char *sjis_buff : 変換先の Shift_JIS 文字列。 */ /* */ /* 戻り値 | なし。 */ /* */ /* 処理内容 | 0x80 未満は、そのまま変換なし、第1バイトへ保存            0x80 以上 0xff60 未満は、漢字領域として、Shift_JIS に変換する。 0xff60 以上は、全角カタカナを半角カタカナに変換 する。 */ /* */ /* 制御タイミング | ユーザー関数から呼び出し */ /* */ /* 注意事項 | この変換は、UTF-16 です。UTF-8 を変換するには            もう一つ工夫が必要です。 utf8_to_utf16 を作って            下さい。                      */ /* */ /*------------------------------------------------------------------------*/ void Unicode_to_SJIS( int nChar ,int *Unicode ,char *sjis_buff ); // C++ から呼び出すときには、::SJIS_to_Unicode_file( ) /*------------------------------------------------------------------------*/ /* */ /* 関数名 | SJIS_to_Unicode_file */ /* 引数 */ /* 入力 | char *sjisFileName : 変換元の Shift_JIS ファイル名。*/ /* | char *UnicodeFileName : 変換先の Unicode ファイル名。 */ /* */ /* 戻り値 | 変換された文字数を返す。 */ /* */ /* 処理内容 | Shift_JIS のテキストファイルを、Unicode(UTF-16) の            テキストファイルに変換します。 */ /* */ /* 制御タイミング | ユーザー関数から呼び出し */ /* */ /* 注意事項 | この変換は、UTF-16 です。UTF-8 を変換するには            もう一つ工夫が必要です。 SJIS_to_UTF8_file を作って            下さい。                      */ /* */ /*------------------------------------------------------------------------*/ int SJIS_to_Unicode_file( char *sjisFileName ,char *UnicodeFileName ); // C++ から呼び出すときには、::Unicode_to_SJIS_file( ) /*------------------------------------------------------------------------*/ /* */ /* 関数名 | Unicode_to_SJIS_file */ /* 引数 */ /* 入力 | char *UnicodeFileName : 変換元の Unicode ファイル名。 */ /* | char *sjisFileName : 変換先の Shift_JIS ファイル名。*/ /* */ /* 戻り値 | 変換された文字数を返す。 */ /* */ /* 処理内容 | Unicode(UTF-16) のテキストファイルを、Shift_JIS の            テキストファイルに変換します。 */ /* */ /* 制御タイミング | ユーザー関数から呼び出し */ /* */ /* 注意事項 | この変換は、UTF-16 です。UTF-8 を変換するには            もう一つ工夫が必要です。 UTF8_to_SJIS_file を作って            下さい。                      */ /* */ /*------------------------------------------------------------------------*/ int Unicode_to_SJIS_file( char *UnicodeFileName ,char *sjisFileName ); #endif /* _SJIS_UNICODE_INCLUDE */