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

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



> tora - Takamichi Akiyama wrote:
>> Microsoft Word のファイルを OpenOffice.org で読み込むと、短い行が、
>> 行幅いっぱいに広がってしまう場合がある。という不具合の修正作業を
>> 行っています。

Masahisa Kamataki wrote:
> これなんですが、オプションのOpenOffice.org Writer - 互換 で、「両端揃
> えされた段落内の手動で改行された行で語間を拡げる」という項目のチェック
> を外してみるとどうなるでしょうか。たしか2.0からの互換オプションだった
> と思います。

ありがとうございます。

OpenOffice.org Writer 側の挙動が、その情報で、すっきりと説明できるように
なりました。

開発側からこちら側に依頼された事項は、まさに、その項目だったということです。
現在の OpenOffice.org ソースコードでは、Microsoft Word のファイルを読み込む
ときに、強制的にそのオプションを「オン」に設定するように記述されています。

http://sw.openoffice.org/source/browse/sw/sw/source/filter/ww8/ww8par.cxx?view=markup
void SwWW8ImplReader::ImportDop()
{
....
rDoc.set(IDocumentSettingAccess::DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK, false);

この部分で、Do not ... ですから意味は逆で、「両端揃えにしない」という設定を
false つまりオフにしています。逆にとると「語間をひろげる」をオンにするということですね。

このようになっていますので、「ツール」「オプション」のその項目「両端揃えされた
段落内の手動で改行された行で語間を拡げる」がどのように設定してあったとしても、
Word のファイルを読み込むと、読み込み時に、そのオプションは、(意味が逆で)必ず
オンになってしまうというようにコードが書かれているというわけです。

で、開発側から、そこの設定値を、Word ファイルの中に記録されている互換性オプション
のそれに関する情報を読み取って設定するように、改良してくれないか。と私が頼まれた、
というわけでした。

Word ファイルの中からそのオプションの設定情報を読み込んで fWDop->fExpShRtn という
メンバー変数に値を代入する、もしくは、Word のバージョンが古くてその情報がファイル
内に含まれていない場合には、あらかじめ調査しておいた規定値を代入する。
そして、前述の行を以下のように書き換える。

rDoc.set(IDocumentSettingAccess::DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK, fWDop->fExpShRtn);

という作業をすれば、一件落着する。っちゅうわけでやんす。

ところで、いちばん簡単そうな、単に、false を true にすればいいんじゃない?
はい。それで、日本語版としては、オッケーだと思います。実際、そのように書き
換えてビルドし実験してみたら、バッチしでした。

しかしながら、その対処方法だと、今度は、欧米の Word ファイルを読み込んだときに、
レイアウトが逆の意味で崩れてしまうという現象になってしまう場合がでてくるので、
OpenOffice.org の全言語対応の対処としてはその方法を採用するわけにはいかず、
やはり、手を抜かずに、作りましょう。

ということで、みなさまのお力をお借りしているわけです。

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

--[PR]------------------------------------------------------------------
━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━
 ◆◇自 分 の 髪 が 生 え る⇒自 信 が持てるその瞬間◇◆
━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━
髪の悩みに対する本当の解決策は、自分の髪が生えることです。【リーブ21】
http://ad.freeml.com/cgi-bin/sa.cgi?id=bWqAp
------------------------------------------------------------------[PR]--
■GMO INTERNET GROUP■ GMO INTERNET www.gmo.jp