アカウント名:
パスワード:
これに対して改善したパッチを作りましたので覗いてみて下さい。 HEADに対するパッチです。
特に問題はないと思います。
んとQBufferとかを用意しておいて次にdecodeが呼ばれる時にdataに繋げるという感じでよろしいでしょうか? 最後がマルチバイト文字の1バイト目とか、2バイト目以降から始まっているバイト列とかをどうやって判断するのかが分からなかったり。すいません、ちっとお時間を下さい。
現在のkhtmlのルーチンでも境界の対処はしてませんのでおそらく大きな問題はないと思いますが、そういった場合の認識がどのようになるかの確認をしておけば多少安心になるかと。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
Stay hungry, Stay foolish. -- Steven Paul Jobs
BSDライセンス (スコア:1)
問題なしです。逆は問題がありますが。
#もちろん、コピーライトは残す必要があります。
Webを調べれば、いろいろと事例があるんじゃないかな。
あっ、微妙な間違いがあるかもしれないので、
一応いろいろ調べてみてください。特にGPLのFAQとか。
Re:BSDライセンス (スコア:0)
一応調べてみました。
Daickiさんのおっしゃられてる通り、修正BSDライセンスならOKなようです。
作者様にも連絡を取りましたし、後は本家に投げるだけって感じです。
Re:BSDライセンス (スコア:1)
それが上手く表示できるってことを見せたほうが良いかも。
Re:BSDライセンス (スコア:1)
実はkde-develに登録した方のアドレスの送信用stmp鯖がいつのまにか廃止(汗)になってたようで投げれません(笑)
投げたつもりが届いてない。アリエネェ
新しいアドレスでsubscribeしたのですが、メールも届かないし。
明日にすることにします。
とりあえず文面はこんな感じです。
Hi, I'm a Japanese KDE user.
When I use Konqueror(khtml), I noticed that khtml doesn't regard the UTF8
encoding at all.
So, in browsing the web, so-called "Mojibake" is often occurred.
"Mojibake" is cau
Re:BSDライセンス (スコア:1)
DFA_NEXTとかがマクロなのが趣味じゃないですが、それはともかくとして、
* マルチバイト文字の区切りが中途半端なバイト列が渡された場合(最後がマルチバイト文字の1バイト目とか、2バイト目以降から始まっているバイト列とか)の動作については確認しておいてもいいと思います。
* 他の言語用の判定ルーチンは Decoder::automaticDetectionForXXXX() などとなっているので、それにあわせて Decoder::automaticDetectionForJapanese() を作って、同じようにしたほうが見栄えがいい?
(ただし、他の言語用の関数のように、判定できない場合に"ISO-8859-1"などを返すのはやめたほうがよい)
(
-- Che Che - Bye Bye
Re:BSDライセンス (スコア:1)
>* 他の言語用の判定ルーチンは Decoder::automaticDetectionForXXXX() などとなっているので、
> それにあわせて Decoder::automaticDetectionForJapanese() を作って、同じようにしたほうが見栄えがいい?
> (ただし、他の言語用の関数のように、判定できない場合に"ISO-8859-1"などを返すのはやめたほうがよい)
これに対して改善したパッチを作りましたので覗いてみて下さい。
HEADに対するパッチです。
DIFF : http://mover.cool.ne.jp/others/trivialpatches/add_ja-utf8detection_to_khtml-ver2.diff
> * マルチバイト文字の区切りが中
Re:BSDライセンス (スコア:0)
特に問題はないと思います。
現在のkhtmlのルーチンでも境界の対処はしてませんのでおそらく大きな問題はないと思いますが、そういった場合の認識がどのようになるかの確認をしておけば多少安心になるかと。
Re:BSDライセンス (スコア:1)
一応指摘されたものは全部直してみました。
が、やはりこれ以上はという感じですね。
文字列が全て来てからdecodeを呼ぶようにするとか、他の場所をいぢるしかなさそうですね。
この場所で処理する問題ではなさそうな気がします。
#お蔭様で当初よりかなり良いパッチに仕上ってしまいました
#こうなるとなんとして
Re:BSDライセンス (スコア:0)
私が言っていたのはESCが文字列の最後の場合(i >= buflen-1)です。
その場合に、前回の最終文字列がESCということを記憶して、次回の呼出時の先頭バイトでJISのシーケンスかのチェックを行なうということです。
このパッチだとJIS_escape == trueな場合はKanjiCode::JISを返していますので、次回の呼
Re:BSDライセンス (スコア:1)
ちょっと意味を汲み取れてませんでした、すません(@_@;
DIFF : http://mover.cool.ne.jp/others/trivialpatches/add_ja-utf8detection_to_khtml-ver4.diff
で、コミットの方ですが、#kde-develで直接聞いてきた所によると、original codeの作者にOKを貰ったということをcvsのlogにのせれば良いらしいです
Re:BSDライセンス (スコア:0)
last_JIS_escapeの処理ですが、 C == 0x1b の場合も last_JIS_escape == true の場合も全く同じ処理をしているため、last_JIS_escape == true の場合に、一文字飛ばして判定してしまいます。
(c == 0x1b || last_JIS_escape)で判断した直後、last_JIS_escapeならi--してやるのが良いでしょう。(他の手法もありますので、うまく動くようならどの形でも構いません)
他はとくに問題ないと思います。(とかいいつつ、一度も実行しての
Re:BSDライセンス (スコア:1)
、ロ、ネテ擎ユホマフオ、、、ヌ、ケ。」ネソセハ。」
450 | /* special treatment of jis escape sequence */
451 | if (c == 0x1b || last_JIS_escape) {
452 | if (i 453 | if (last_JIS_escape)
454 | c = (unsigned char)buf[i];
455 | else
456 | c = (unsigned char)buf[++i];
457 | last_JIS_escape = false;
458 |
459 | if (c == '$' || c == '(') {
460 |
Re:BSDライセンス (スコア:0)
#kde-develの件は、あとから読み返していて気がつきました。^^;
-- Takumi ASAKI
Re:BSDライセンス (スコア:1)
#長々とお付き合い有難うございましたm(_ _)m
Re:BSDライセンス (スコア:0)
というのは、ASCIIのデータを食わせるとSJISと判定されて返ってきているようで、そのためこのルーチンをこのまま利用しているとkhtmlでは誤認識が増大する可能性があります。
対処
Re:BSDライセンス (スコア:1)
ライセンスで色々言われたのでそっちが落ち着いたら対処しますね。
一応こんな感じで。
479 | switch ( kc->guess_jp( (const char*)ptr, size ) ) {
480 | case JapaneseCode::ASCII:
481 | return "ascii";
482 | case JapaneseCode::JIS:
483 | return "jis7";
484 | case JapaneseCode::EUC:
485 | return "eucjp";
486 | case JapaneseCode::SJIS:
487 | return "sjis";
488 | case JapaneseCode::UTF8:
489 | return "utf8";
490 | default:
491 | break;
492 | }
Re:BSDライセンス (スコア:0)
済みません。もうちょっとちゃんと説明した方が良かったですね。
単体でいろいろテストするとわかりますが、guess_jp()にASCIIだけで構成された文字列を渡しても、ASCIIではなく、SJIS
Re:BSDライセンス (スコア:1)
ASCIIの場合3つともscoreが1.0になってしまって、<=になっているSJISが判定されていますねぇ。
102 | if (eucj->score == 1.0 && sjis->score == 1.0 && utf8->score == 1.0)
103 | return JapaneseCode::ASCII;
これをambiguousの前に追加する感じで対処。