シノバーさんご苦労さまです。
加藤(大阪)です。
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/