[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[openoffice:11066] Re: Microsoft W ord 互換性オプション 「改行記 号を挿入した場合、両端揃えにしない」



matuakiさん、ありがとうございます。

>>         * Writer において Word 形式で保存し、そのファイルを Word で
>>      開くと、上述の設定が復元されること。
matuaki wrote:
> 改行記号を挿入しても両端揃えにならないように設定してある場合のWriterにお
> いてWord形式で保存して、Word97で開くと、改行記号を挿入した行が両端揃えに
> なりました。
> この点について関係あるかどうかは分かりませんが、「オプション」−「互換
> 性」の対象となるアプリケーションが「Microsoft Word97 英語版」となっていま
> した。
> 両端揃えになる設定のWriterからWord形式での保存ファイルをWord97で開いた場
> 合は両端揃えの設定として復元しました。
> 互換性のタブは上と同じでした。
>
> 以上、Word97での報告でした。
>
> 追記:*4のWriterにおいてWord形式で保存したファイル(上記のWord97に読み
> 込ませたファイル)をWord2003で読み込んだ場合は、2つのファイルとも正しく
> 復元されました。

いやぁ、まさに、そうなりましたか。はっはっはっ。

2008年2月、Microsoft 社が、Microsoft Office のファイル仕様を公開したことは
記憶に新しいかと思います。

米Microsoftがついに,バイナリ形式のOffice文書仕様を公開
http://itpro.nikkeibp.co.jp/article/NEWS/20080218/294085/

Microsoft Office Binary (doc, xls, ppt) File Formats
http://www.microsoft.com/interop/docs/OfficeBinaryFormats.mspx

で、今回の開発では、"Word 97-2007 Binary File Format (.doc) Specification"
をじっくりと隅から隅まで読んで行っているわけなのですが、Word 97 および 98
の「ツール」「オプション」メニュー「互換性」タブにある「改行記号を挿入した
場合、両端揃えにする」オプションの設定値が同ファイル形式のどこに記録されて
いるのかが、書いてないようなのです。というか、Reserved などと書かれている
部分のどれかに隠されてしまったのではないかとも考えられます。

つまり、逆さ返すと、Writer でのそのオプションに相当するオプションの設定値を、
Word 97 形式のファイル中のどこに書き込めばよいかが、実は、私は、現時点では、
わかっていないのです。で、その部分について、今回の開発では、作りこんでいな
いのです。(すみませんです)

2000, 2002, 2003 については、同仕様書に、ここのこの部分だよ。と明確に記述
されていますので、ばっちりその位置に書き込むように開発してあります。

というわけで、matuaki さんのテスト結果の通り、Word 97 で開くと、設定が引き
継がれず、両端揃えになってしまった。Word 2003 で開くと、設定が引き継がれた。
という現象になったといえるのではないか。と思います。

> この点について関係あるかどうかは分かりませんが、「オプション」−「互換
> 性」の対象となるアプリケーションが「Microsoft Word97 英語版」となっていま
> した。

大いに関係ありそうです。言語IDについても、書き出すようにしないといけないの
かもしれません。しっ、しっかしながら、OpenOffice.org には、○言語版という
認識が正確にはありません。俗に言う日本語版とは、メニューやダイアログ、
オンラインヘルプなどが日本語であるということでありまして、その版でどの言語
の内容を記述しているか、というのとは、関係しないからなんです。逆に言いますと、
OpenOffice.org 日本語版で作成したWriterのファイルを OpenOffice.org 英語版で
開いても、ドイツ語版で開いても、フランス語版で開いても、まったく同じように
表示されるようになっているということです。Wiki などの「スキン」や表示用の言語
を切り替えただけに過ぎないというような感じです。ですので、Word ファイルへ
言語IDを書き出そうといいましても、はてと、困ってしまうというわけです。
まぁ、直感的には、メニューなどに使われている言語の種別を持って、言語IDを
決めてしまえばいいような気もいたします。現状では、わっかんねぇもんはわっかん
ねぇんだよ。だから、「英語」を意味する言語IDきめうちでいいや。ってコーディング
されているような感じがいたします。(後で詳しくソースコードを調べてみます)

Word 97 については見捨てるか、それとも、公開された仕様書には明示的に記述され
ていないけど、どこかにはあるはずですから、そのオプションの設定値が記録されて
いる位置を見つけ出し、そこへ、Writer 上の同オプションの設定値を書き出すように
して、Word 97 でも動作するようにするか。。。言語IDを日中韓国語のどれかを意味
する値に設定すれば、「Microsoft Word97 英語版」から「Microsoft Word97 (日本語
版)」(Word 2003 英語版では、"Microsoft Word (Asian version) 97/98"という表記)
にだぶんなってくれるだろうから、それでよしとしちゃうか。。。

さてと、お仕事が一つ増えたみたいです・・・

> Microsoft Word97で保存したファイルについて、行いました
> 
>>      Word における「ツール」「オプション」メニューの「互換性」タブで、
>>
>>         * 改行記号(Shift+Enter)を挿入しても両端揃えにならないように
>>      設定してある場合、Writer で開くとその設定が復元されること。
> 復元されました。

>>         * 改行記号(Shift+Enter)を挿入すると両端揃えになるように設定
>>      してある場合、Writer で開くとその設定が復元されること。
> 復元されました。

>>         * Writer において ODF 形式で保存し、閉じ、そのファイルを再び
>>      Writer で開くと、上述の設定が復元されること。
> 復元されました。

ありがとうございます。

Tora


【MLコミュホームページ】http://www.freeml.com/openoffice

--[PR]------------------------------------------------------------------
あなたも「ぱくっ」といっちゃってください。ちょっとおなかがすいてくる
脱力系ブログパーツ「国産小麦シリーズ」!
早速今日も、たいやきさん、たこやきさん、をお持帰りくださいっ♪
 
http://ad.freeml.com/cgi-bin/sa.cgi?id=bYRN2
------------------------------------------------------------------[PR]--
■GMO INTERNET GROUP■ GMO INTERNET www.gmo.jp