vine-users ML アーカイブ



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

  • From: Masaki SHINOMIYA <shino@xxxxxx>
  • Subject: [vine-users:057038] Re: gnumeric xml 保存時の日本語 文字化け及び脱落
  • Date: Thu, 19 Dec 2002 00:58:08 +0900
シノバーです

On Thu, 19 Dec 2002 00:23:22 +0900
加藤 雅 <mkato@xxxxxxxxxxxxx> wrote:
> libxml のソース取り寄せて確認できました。
> flag を TRUE にしておけば、parser に仕事を依頼する時、新 parser にアクセスし、
> 終われば元にもどす、FALSE にしておけば、旧 parser にアクセス、と言うこと
> のようですね。
> で、実際の新旧切り替えは xmlParseChunk の入り口で行ってる、ってとこでしょうか?

xml-io.c の該当部分は
        xml_parser_flag = xmlUseNewParser (TRUE);
        while ((bytes = gzread (f, buffer, XML_INPUT_BUFFER_SIZE)) > 0) {
                xmlParseChunk (pctxt, buffer, bytes, 0);
                value_io_progress_update (context, lseek (fd, 0, SEEK_CUR));
        }
        xmlParseChunk (pctxt, buffer, 0, 1);
        xmlUseNewParser (xml_parser_flag);

- 第1行目で新parserを使うようセット
- 次に.gnumericファイルを1行ずつ読んで
- libxmlのxmlParseChunkに渡して一括任せているようです。
- ファイルを全て読み終わるとxmlParseChunkを閉じ
- parserをデフォルト(旧)に戻して終わり。

> > gnumeric側で受け取った上位バイトを落すという
のは上記を見ると現実的ではないですね。あと考えられるのは、
new_parserを通したあとで UTF-8→ISO-8869-1 への逆変換をやる。
理論的には可能です。
しかし時代逆行だから、gnumeric本家は全くやる気はないみたいです。
gnumeric-1.1.xはlibxml2を使ってUTF-8ベースみたいですから。

> # gnumeric だけの事ではないけど、日本語文字コードの問題はどうなるんだろ。
> # オープン・ソース の世界にも、国別力関係みたいなの感じて、ちょっと淋しい…

どうなんでしょう? MS-WordはUTF-8ベースだと聞きましたから
日本語UTF-8というのは可能なんでしょうが、
euc-jpやS?JIS(cp932)との相互変換は難しいとの話もありますし。

gnumeric-1.1.xで日本語が使えるのか?という問いに対しては、
そもそもUTF-8で日本語が使える環境があるのか?ということになりますね。
Kondara 2.0でダメならどうにも…。
-- 
Masaki Shinomiya <shino@xxxxxx>
http://shino.pos.to/linux/