Linuxユーザが待ちわびていた,StarSuiteの日本語版がついに登場した。オフィス・スイートとしての基本的な機能はMicrosoft Office 97と同等である。Microsoft Officeのファイルの読み書きは完璧にこなす。互換性も高い。ワープロ・ソフトの文書レイアウトに関しては工夫次第でかなり近づけることができる。表計算の関数に関しては約9割の互換性を達成している。StarSuiteには無償のオープン・ソース版もあるが,業務で使うのであれば,StarSuiteを選択すべきだ。

 Linuxでも使える高機能なオフィス・スイートとして注目を集めていた米Sun Microsystems社の「StarOffice」に待望の日本語版が投入された(図1[拡大表示])。国内ではサン・マイクロシステムズが「StarSuite 6.0」の名称で2002年5月から企業向けに販売している(「StarOffice」は日本/アジア地域におけるNECの登録商標)。個人向けには,ソースネクストが2002年6月に販売を開始する。Linuxだけでなく,WindowsやSolarisといったOS上でも稼働する。

 StarSuiteには無償で利用できるオープン・ソース版「OpenOffice.org Office Suite」(以下OpenOffice)もある。開発はSunがサポートするコミュニティ「OpenOffice.org」で行われている(別掲記事「StarSuiteとOpenOfficeの関係」を参照)。

 StarSuiteやOpenOffice以外にもLinuxで利用できるオフィス・ソフトはいくつか存在する。例えば,AbiSource projectの「AbiWord」,KDE Projectの「KOffice」,韓国HancomLinux社の「Hancom Office」,ジャストシステムの「Just Arks」などがある。ソース・コードを公開して開発を進めている無償のもの,WindowsとLinuxの両プラットフォームをサポートするなどさまざまな特徴を持っている(図2[拡大表示])。

図1●StarSuiteのワープロ「Writer」と表計算ソフトの「Calc」。
このほかプレゼンテーション・ソフトの「Impress」がある。OSはStarSuiteをバンドルするターボリナックスの「Turbolinux 8 Workstation」
 
図2●Linuxで使えるオフィス・ソフト。
無償で使えるオフィス・ソフト/スイートは灰色の丸で示した。Windowsでも使えるものもある

 ただ,これらのオフィス・ソフトはStarSuiteやOpenOfficeに対していくつかの点で見劣りする。特にMicrosoft Officeとの互換性がいまひとつである。例えば,対応していると謳っているMicrosoft Officeのファイルが読み込めなかったり,Wordで作成した文書の段組レイアウトが無視されてしまったりする。少なくとも,StarSuiteやOpenOfficeではこうはならない。

重要なMS Officeとの互換性

表1●StarSuiteとMicrosoft Officeのパッケージ内容などの比較

 StarSuiteはワープロ・ソフト,表計算ソフト,プレゼンテーション・ソフト,描画ツールの四つのアプリケーションから成る。Microsoft OfficeのStandard版とほぼ同内容である(表1[拡大表示])。Microsoft Officeと大雑把に比べると,Office 2000で追加された日本語文書の校正や,Office XPの入力支援機能「Smart Tag」,Wordの文書中に複雑な表を作る機能などには対応していない。ただ,オフィス・スイートとしての基本機能は一通り備えている。おおむね,Microsoft Office 97と同等と言えよう。読み込み/書き出しに関しても,Office 97以降のMicrosoft Officeや一太郎に対応している。

 オフィス・スイートの事実上の標準であるMicrosoft Officeとの互換性は重要である。Microsoft Officeの各アプリケーション形式のファイルを外部から電子メールで受け取ったり,Webページからダウンロードするのは,ごく当たり前になっているからだ。その第一歩として,ファイルを読み込めることは重要だが,できれば文書レイアウトや計算結果まで一致するのが望ましい。

 Sunが他社製品であるMicrosoft Officeと完璧な互換製品を開発するのは無理な話である。ただ,大半のユーザには100%の互換性は不要である。そこで,Microsoft OfficeのファイルをLinux版のStarSuiteで読み込んで,どの程度まで正確に再現できるのかを検証した。LinuxはStarSuiteをバンドルするターボリナックスの「Turbolinux 8 Workstation」を利用した。

レイアウトの考え方が違う

図3●Word 2002(左)とLinux版のWriter(右)で,Word2002で作成したDOC形式の同じファイルを開いたところ。
Writerでは行間がつまってレイアウトが変わってしまった

 まずはワープロのWriterから見ていこう。Word 2002で作成した文書を読み込んでみた。図3左[拡大表示]がWindows版のWordで作成した文書で,図3右[拡大表示]がLinux版のWriterで読み込んだ結果である。文章の見かけががらりと変わってしまったが,これはWordとWriterのデフォルト設定の違いによるものだ。

 Wordで文章を新規に作成すると,初期設定で1ページ当たり36行というレイアウトが適用される。図3左はその設定で作成したものだ。これに対して,StarSuiteは初期設定では行の間隔が1文字分となっている。そのため,単に読み込むと図3右のように行間がつまってしまう。StarSuiteには「1ページ当たりの行数」という指定方法がない。そこでWriterでは行の間隔を指定することによって調整する。1文字や1.5文字といった固定の単位だけでなく,1mm単位で行間を指定できる。作成した設定はスタイルとして保存しておくことができる。この設定を作りこんでおけば,レイアウトを保たなければいけないWord文書に対して対応できる。例えば,で行の余白を2.3mmに設定すれば図3左とほぼ同じレイアウトを再現できた。

 サン・マイクロシステムズによると「1ページの行数を設定するという考え方は英文ワープロにはない機能。ただ,Wordの1ページの行数を取得してStarSuiteのレイアウトに反映させる機能については,開発チームに盛り込むように要求を出している」(マーケティング・事業開発統括本部ソリューション・アーキテクチャー開発部の雨宮吉秀部長)という。

 このようなレイアウトが変わってしまうという問題はMicrosoft Office同士でさえも起こっていた。元々Wordにも「1ページの行数」という考え方はなかった。Word 95では「パワーアップ コマンド 」を組み込むことによって,文字数や行数を設定できるようにしていた。しかしこれは後付けのコマンドで,実際にはこのツールを使って指定した行数や文字数にあわせて文字間や行間を調整していたのだ。1ページの行数を設定する機能を標準で盛り込んだのはWord 97からである。このときに文書のフォーマットが変わったためか,Word 97でWord 95で作成したファイルを読み込むと,1ページの行数が変わることがあった。

 一方,段組に関しては位置や幅を忠実に再現している。1行の文字数も合っている。

 文字に対する飾りつけは,ボールド,イタリック,網掛けやアンダーラインといった基本的なものはすべて反映できている。

関数の互換性は約9割

 表計算ソフトのCalcに関しては,Excelの関数とグラフとの互換性について検証した。

 Excel 2002では247種類の関数を利用できる。それぞれの関数で代表的と思われる引数を選んで計算し,同じファイルをLinux版のCalcで読み込み比較した。結果は約3分の1の81個の関数で異なる値が返ってきた(図4[拡大表示],表2[拡大表示])。

図4●Excel 2002の関数をCalcに読み込んだ結果。
約9割の関数は互換性がある
 
表2●Excel 2002の関数に対するCalcの関数の対応状況

 このうち全体の約10%にあたる24個の関数で小数点以下の結果が異なった。22個が統計関係,2個が財務関係の関数である。

 関数によって,小数点第3位から値が異なるものから,有効桁数ぎりぎりの15位で異なるものまでさまざまだ。財務関数に関しては,減価償却の算出で14桁目,利益率の算出で11桁目で値が異なっている。このように値が近いものに関しては,誤差の処理の影響と考えられる。

 小数点第3位のような違いが大きいものは,ExcelとCalcの関数の計算アルゴリズムの違いによるものと思われる。統計用の関数では,値がある一定の範囲に収束するまで計算を繰り返すといった手法で結果を求めるものが多い。その計算アルゴリズムは一つではなく,同じ意味の計算でも違う結果になることはあり得る。仮に同じアルゴリズムだとしても,値がどの程度の範囲まで収束したら,計算を終了するかの基準も異なる。つまり,どちらの結果も正しい可能性が高い。

 また,4個の関数で値の表示形式が異なった。これは,あるセルの行列位置やエラー・コードの情報を取得するものだ。例えば,シート1というシートの2行3列のセルを表す文字列が,Excelでは「シート1!R2C3」,Calcでは「シート1.$C$2」となる。文字列を操作して動的に計算範囲を変えるような必要がない限り影響はないだろう。また,引数が足りないというエラーの場合,Excelのエラー・コードを調べる関数では「5」という値を返すのに対して,Calcでは「511」を返す。これは,エラー・ハンドリングを想定したマクロ・プログラムで問題となるだろう。ただ,マクロに関しては,もともとCalcとExcelの間で互換性はない。CalcはExcelのVBA(Visual Basic for Applications)と互換性のないStarBasicというマクロ言語を搭載している。

 これら小数点以下の値が異なる,表示形式が異なるといった場合を間違いと考えなければ,値が一致したという67%に加え,約8割の関数は対応しているといっていい。

 一方で引数の与え方が異なる関数が33個あった。このほとんどが,統計用の関数であった。具体的には,Excelは関数の引数として直接値を入力できるのに対し,Calcは引数をセルの範囲として指定しなくてはならない制約がある。ただし,こういった統計用の関数は,セルにさまざまな値を入力し結果のシミュレーションを行うケースが多いことを考えると,大きな問題とはなりにくい。やはりマクロを使う場合の課題となるだろう。

 これも対応していると考えれば,約9割の関数に互換性があることになる。

StarSuiteとOpenOfficeの関係

 StarSuiteの源流となるソース・コードはOpenOffice.orgというコミュニティが開発している。そして,製品版は米Sun Microsystems社がStarSuiteとして販売し,無償版はOpenOffice.orgが「OpenOffice.org Office Suite」としてソース・コードやバイナリ・プログラムを配布している。

 Sunは1999年に独StarDivision社を買収し,StarOffice(StarSuiteの英語名)を入手した。そして,OpenOffice.orgという開発コミュニティを作り,ソース・コードを提供した。

 SunはOpenOffice.orgを資金や人的な面からサポートしている。Sunはその見返りとして開発の進んだソース・コードを得て,StarSuiteとして配布/販売している(日本語に対応していなかった,StarOffice 5.2までは無償で配布していた)。ちょうど,米Mozilla OrganizationのMozillaと米Netscape CommunicationsのNetscapeの関係と同じといえる。

 StarSuiteとOpenOfficeの見かけや機能はほぼ同じである。SunはStarSuiteを製品として販売するにあたり,スペル・チェッカやファイル読み込み用のフィルタなどのユーティリティを追加している。

 OpenOffice.orgのサイトからは,ソース・コードのほか,日本語対応したWindows版とLinux版のバイナリ・プログラムが入手できる。英語版ではSolarisやMac OS X用のバイナリ・プログラムが配布されており,日本語版の配布もそう遠くないと思われる。


追記

●StarSuite関連

 StarSuiteはリリースから約半年後の2002年11月に修正プログラムが配布されている。「StarSuite 6.0 Product Update」をサン・マイクロシステムズのWebサイトから入手できる(http://jp.sun.com/starsuite/6.0_pp2/)。大きな修正点は,ワープロ・ソフト「Writer」へのWordファイルのインポートである。修正プログラムを適用することで,インポート時に行間の情報がある程度反映されるようになった。また新たに文章の縦書き表示に対応した。

 一方,表計算ソフト「Calc」の関数に関しては大きな改善は見られない。Calcの関数のうちExcelの関数に相当するものがない,計算結果が異なるものが1割程度あると本文中で述べた。これらを再度検証してみたが,改善されているものはなかった。また,Excelからインポートしてきた日付のデータがCalc上でシリアル値に変わってしまうバグは依然として残っている。

●OpenOffice関連

 2003年3月17日現在の最新版は,同年1月20日に公開した「OpenOffice.org 1.0.2」である(http://www.openoffice.org/dev_docs/source/1.0.2/index.html)。OpenOffice.org1.0.2では新たにMac OS X版が提供されるようになった(現時点ではβ版)。ただし,今のところOpenOffice.org 1.0.2は英語版のみが配布されている。日本語版は「OpenOffice.org1.0.1」(http://www.openoffice.org/dev_docs/source/1.0.1/index.html#ja)であり,メニュー表示やヘルプの内容などが日本語化されている。対応OSとしては,Windows,Linux,Solaris(SPARC版とIntel版)がある。OpenOfficeの日本語対応に関する情報は「OpenOffice.org 日本ユーザー会」(http://ja.openoffice.org/)が参考になる。同ユーザー会では標準のフォント設定を日本語フォントにするなど,日本語環境でより使いやすくするソフトウェアを配布している(http://openoffice-docj.sourceforge.jp/document/develop/jcp/index.html)。


(市嶋 洋平)