シノバーです 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/