シノバーさんご苦労さまです。 加藤(大阪)です。 Sun, 10 Nov 2002 22:59:25 +0900 付 Masaki SHINOMIYA <shino@xxxxxx> さんのメールより: > On Sun, 10 Nov 2002 12:58:07 +0900 (JST) > Ando Tsutomu <ando-tom@xxxxxxxxxxxxxx> wrote: > > と同様な現象が出ていたのを確認しております。 > > ちなみに Debian woody の gnumeric は以下の通りでした。 > > ribbon:~$ apt-cache show gnumeric |grep Version > > Version: 1.0.8-1t1 > > gnumeric本家配布のtar ballから/usr/localにインストールしたものでも > 同じ現象が出るのを確認しました。 > > となるとgnumeric本家に投げるということになりますが、 > テストデーターには日本語を含まないもの、 > 例えば「A」は英字の「A」ですから、 > そういうものを使ってできないかな… こんな方法で良いかどうか分からないのですが、 取り敢えず、先の話に有りました B1 セルが 'じ' で文字化けするファイルの <gmr:Cell Col="1" Row="0" ValueType="60">¤¸</gmr:Cell> の文字コード部分を、xml ファイル上で <gmr:Cell Col="1" Row="0" ValueType="60">A0</gmr:Cell> と、(つまり B1 セルを 'A0'にしたつもりです)修正し、市川さんが取られた 方法の逆を辿り、gzip 圧縮 -> test7.gnumeric にリネームして $ gnumeric test7.gnumeric& で読み込みますと $ test7.gnumeric:94: error: xmlParseCharRef: invalid decimal value <gmr:Cell Col="1" Row="0" ValueType="60">A ^ test7.gnumeric:94: error: CharRef: invalid xmlChar value 0 <gmr:Cell Col="1" Row="0" ValueType="60">A ^ と、漢字コードのとき同様のエラーが出ます。 gnumeric 上の B1 セルの表示は、';0' となっており、読み違えた10進表記 A の 後の区切り文字 ';' を生で表示し、0 は、'0' + 区切り文字 と、正常に読み込んでいるようです。 先の 'じ' の時と違うのは、;¸ の部分が ;0 と言わば「正常な文字」 になっていますので、B1 セルは普通に編集可能で、';0' の後に、'12' と 書き足して、B1 = ';0123' とし test8.gnumeric で保存すれば、 gnumeric test8.gnumeric& で正常に読みだせます。当然と言えば当然ですが、この部分は既に、 <gmr:Cell Col="1" Row="0" ValueType="60">;0123</gmr:Cell> と、書き換えられていますが。 今までの結論としては、2 バイト文字そのものが問題なのではなく、 10 進表記が問題、と言えそうですね。 このテストでの問題は、gnumeric が A0 等という書き出しは 決してしない、という事ですが・・・。 「gnumeric本家に投げる」等というのは自分の手には負えないので、 宣しくお願いします。 又、別の検証方法を教えて頂ければ、出来る範囲で協力させて頂きます。 --- 加藤 雅 <mkato@xxxxxxxxxxxxx> http://isweb15.infoseek.co.jp/diary/add10/rox/