円弧の問題の原因と、その対処
path要素のAコマンドを利用した扇形がうまく表示できなかったバグについて
リビジョン142で再び、修正しました。
バグの詳細や再現サンプルはrevuloさんの記事が詳しいです。
http://www.revulo.com/blog/20080309.html
原因
配列を新しく作らないことなどが問題です。(そのほかの原因はここでは触れません)
つまり、SIEの配列Fの中身を見てみると、たとえば、以下のような弧があったとき、
A100 100 0 0 1 400 200
次のような配列を作ります。
F[0] = "A"; F[1] = 100; F[2] = 100; (中略) F[6] = 400; F[7] = 200;
それをベジェ曲線に変換すると、
F[0] = "c"; F[1] = 50..; F[2] = 60..; (中略) F[6] = 20..; F[7] = 200;
とF[7]だけ、変換されないままで残ってしまうのです。これは、配列Fをそのまま使いまわしているのが原因で、新しく配列を作れば解決できます。
ただ、そうなると、ほかのオブジェクトも作り変える必要が出てきたので、応急処置として、
if (F.length == 8){ F[7] = ""; }
のコードを追加するにとどめておきます。
追記(3月19日)
上記を修正したとき、4wd.svgの影が濃くなる現象は、バグの可能性が高いです。
radialGradient要素に関するバグだと考えています。