スレッド表示 | 古いものから 投稿するには登録が必要です | 前のスレッド | 次のスレッド | 下へ |
投稿者 | スレッド |
---|---|
投稿数: 11
|
投稿日時: 2004-07-18 17:18 Re: エクスポートプラグインの文字コード |
bkfaustさん、コメント有り難うございます。
もう一度自分の書いたソースを見て間抜けなことをしていることに気付きました。create_interfaceでレガシーにセットしながらも処理が終わる前に戻してました。(^_^;) shade_interface::encodeももしかして使い方間違っているのだろうか?再度検証してみます。 | |
投稿数: 1
|
投稿日時: 2004-07-18 00:24 Re: エクスポートプラグインの文字コード |
もう,解決されているかと思いますが,コメントを.
以下のように,create_interfaceで設定してやり, プラグイン本体 exporter_component で, 処理終了時に, preference->set_text_file_encoding ( text_file_encoding ); で戻してあげれば, ユーザー側に意識させずに遂行できるかと思います.
| |
投稿数: 11
|
投稿日時: 2004-06-27 21:13 Re: エクスポートプラグインの文字コード |
バイナリというのは試してないので、今度試してみます。
ただ、自分で文字コード変換部分を書くというのは 出来るだけやりたくないので、もう少し考えてみたいと 思ってます。 shade_interface::encodeに関しては、自分の使い方が 間違っていると思いたいのですが、やはりバグなのでしょうか?(T_T) | |
投稿数: 4
|
投稿日時: 2004-06-25 13:06 Re: エクスポートプラグインの文字コード |
でしたら、根本の解決にはなりませんがバイナリで出力したらどうでしょう?
text_strem_interfaceを使うのではなくstream_interfaceを使えば良いのだと思います。 テキストへの変換を自分で行わなくてなりませんがSDK(のバグ?)に左右されないという意味では使い勝手がいいと思います。 私がエクスポータを作るときはテキスト形式のファイル形式もstream_interfaceを使用しています。 …また外していますか? | |
投稿数: 11
|
投稿日時: 2004-06-25 11:54 Re: エクスポートプラグインの文字コード |
sio29さん、有り難うございます。
私が知りたいのは、ファイル名に関する事ではなく 出力するファイルの内容の方なのです。何れにしても 文字列なので、大差はないですが・・・。 文字コードの変換ですが、SDKのリファレンスを見ると shade_interface::encodeで簡単に出来そうなのですが、 上手く動いてくれないのです。使い方が難しいとは思えない のですが、色々と試しても上手く行かないので、 根本的に使い方を間違えているのかなと思い始めてます。 shade.decode("文字列"); の様な使い方で間違ってないと思うので、get_text_encoding の方が違っているのでしょうか?get_text_encodingの 返りをplugin_interface::japanese_encodingとしたり kCFStringEncodingMacJapaneseとしてみたりしてもダメっぽいです。 それからもう一つ、 preference_interface::set_text_file_encodingを使う方法も エクスポートプラグインの何処のタイミングでセットすれば 出力するファイルの内容を指定した文字コードで 出力出来るのかが分からないのです。set_text_file_encoding しても直後には設定が出力内容に反映してない様なのです。 何れかの方法でShift JISで簡単に出力出来れば取りあえずは 良いのですが、最終的にはShift JIS以外の文字コードを 使いたいので、shade_interface::encodeが上手く動いてくれると 助かります。 | |
投稿数: 4
|
投稿日時: 2004-06-25 07:57 Re: エクスポートプラグインの文字コード |
Shade6はRev20とRev20aでplugin_exporter_interface->get_file_spec_obsolete()の
動作が違っていたと思います。 Rev20 (35091)では必ずUTF8で返ってきて Rev20a(36090)では指定された文字コードで返ってきたと思います。 なのでRev20aに関してはそのまま文字列を獲得すればOKで、 REV20の場合はUTF8からSJISへの変換をしてあげればいいはずです。 以下はファイル名を獲得する関数のサンプルです。 utf8_to_sjisという関数は独自関数でUTF8からSJISの変換をしています。
…質問ってこういう意味とは違いますか? | |
投稿数: 11
|
投稿日時: 2004-06-25 02:19 エクスポートプラグインの文字コード |
久々にエクスポート系のプラグインを作っているのですが、
文字コードで上手く行かない部分があるので、教えて頂けないでしょうか? 出力する文字コードなのですが、 preference->set_text_file_encoding(4); と言う様にしてレガシーに変更してしまえば、 Shift JISで出力出来るのですが、このセットする タイミングが分かりません。create_interfaceや他の 場所でセットしても一度目のエクスポート時には 思った様な挙動に成らず、二度目以降には上手く行きます。 set_text_file_encodingをどこへ記述すれば エクスポート系のプラグインの場合、瞬時に出力に影響する 形で使えるのでしょうか? それから任意の文字コードで出力したい場合、おそらくは shade_interfaceのencodeを使うべきだと思うのですが、 何故か日本語を含む文字列を渡すと何も帰ってきません。 何か使い方のサンプルの様なものが有ると助かるのですが・・・。 使用しているSDKはShade 6 Plugin SDK REV20です。 ビルドにはXcodeを使っています。 よろしくお願いします。 | |
スレッド表示 | 古いものから 投稿するには登録が必要です | 前のスレッド | 次のスレッド | トップ |