vine-users ML アーカイブ



[vine-users:055326] Re: gnumeric xml 保存時の日本語 文字化け及び脱落

  • From: ichikawa <ichikawa@xxxxxxxxxxxxxxxx>
  • Subject: [vine-users:055326] Re: gnumeric xml 保存時の日本語 文字化け及び脱落
  • Date: Fri, 8 Nov 2002 22:31:03 +0900
市川@市川市と申します。

On Fri, 8 Nov 2002 21:16:26 +0900
加藤 雅 <mkato@xxxxxxxxxxxxx> wrote:

> 加藤(大阪)です。

この度は御迷惑お掛け致しまして申し訳ありません。

で、実は、失礼かと思ったのですが、直接 vine の問題じゃないという思いもあって、
シノバーさんへ直接私信で返してしまったのですが、以下がその要点です。

-- 引用 --

> test.gnumericを読み込み、B1に「じ」の1文字入力、
> これをtest1.gnumericとして保存、gnumericをいったん終了し、
> 再度これを読みこむと、もとのように
> B1に「じ」が現れます。

うーん、どうしてでしょう? というのは、先に送った test.gnumeric は、
内容としては問題ないからです。つまり、それを読出すときに脱落します。
シノバーさんの環境で化けないなら、
私が添付した物を開いた時に化けないように思えるのですが。

うーん、なんだか混乱しております。あと考えられるとすれば、

 <gmr:Geometry Width="734" Height="422"/>

とか、

 <gmr:PrintInformation>
        <gmr:Margins>
          <gmr:top Points="28.3" PrefUnit="cm"/>
          <gmr:bottom Points="56.7" PrefUnit="cm"/>
          <gmr:left Points="28.3" PrefUnit="cm"/>
          <gmr:right Points="28.3" PrefUnit="cm"/>
          <gmr:header Points="28.3" PrefUnit="cm"/>
          <gmr:footer Points="56.7" PrefUnit="cm"/>

とかが、違った場合文字数が変わるので直ってしまうとか…。

私があのファイルを作った手順を書きます。

1.新規に gnumeric を立ち上げ、A1 には何も入れず、B1 に jack と入れ、
  test.gnumeric として保存。
2.cp test.gnumeric test.gz ; gunzip test.gz
3.cat -n test | grep jack で、行番号を確認。
4.head -n 行番号 | wc で文字数を確認。
5.B1 の jack の先頭の「j」が、1024 の倍数の位置になるよう、
  何度も確認しながら A1 に文字を入れていく。
6.「j」が目的の位置に来たら、日本語文字を入力し保存。
7.再度読出すと必ず再現。

といった手順です。

何故これに気が付いたかというと、脱落の起こったファイルを二つ調べたところ、
両方共 1024 の倍数バイト位置で起こっていたからです。

-- 引用ここまで --

で、さらにいま実検していたのですが、1024 ではなく 4096 の倍数で再現しました。
最初 ML に流したものは head -n 行番号 test | wc が 4111 で、
実際は .........>jack</gmr:Cell> で改行を考え 4096。
今再現したものは、8207-15=8192 でした。

> <gnumeric-1.0.10-0vl1 、vine 2.5 + update>
> gnome-libs-1.4.2-0vl1

gnome-libs-1.4.1.2-0vl2 ですが、あとは同じようです。

> 御役に立てば嬉しいのですが(勿論 gnumeric の1ユーザである自分のためにも)

はい、どうも有難うございます。
-- 
ichikawa <ichikawa@xxxxxxxxxxxxxxxx>
http://www001.upp.so-net.ne.jp/ichikawa/