十分に実用的なSiag Office

 Siag Officeのスローガンが「Siagならそれほどムカつかない!」であることとSiag Officeのワードプロセッサの名前が謙虚なことに「Pathetic Writer(お粗末なライター)」であることから、Siag Officeは単なるお遊びか学生が適当につぎはぎして作ったプログラミング課題であるかのような印象を受けるかもしれない。しかしそのような第一印象にだまされてはいけない。Siag Officeは軽量であり、特に古いハードウェアなどにはうってつけのオフィススイートかもしれない。

 Siag OfficeはUnixシステム用のオフィススイートで、スプレッドシートの「Siag」、ワードプロセッサの「Pathetic Writer」、画像アニメーションプログラムの「Ego」、ファイルマネージャの「XFiler」、テキストエディタの「XedPlus」、PostScript文書ビューアの「Gvu」から構成されている。そのうちの主要アプリケーション(Siag、Pathetic Writer、Egon)は、Ulric Eriksson氏によって作成された。freshmeat.netのSiag Officeのページを見ると、Eriksson氏は8年以上前に開発を開始したことがわかる。

 Siag Officeは古くから存在する素晴らしいソフトウェアだ。OpenOfficeがまだ存在せず、KOfficeもまだ生まれたばかりだった頃、Siag Officeは非常に数少ないオープンソースのUnix/Linux用オフィススイートの一つだった。Siag Officeはその当時のGUI環境で使うことのできた当時のツールを用いて設計されたもので、インターフェースの作成にはAthena Widgetライブラリの変種を使用している。そのため最近の見栄えの良いLinux用デスクトップアプリケーションと比べると、やや古めかしいルック&フィールになっている。

 しかし、Siagのヘルプファイルに記されているSiag Officeの設計目標には、今なおオープンソースソフトウェアで重要視されていることが記されている。

ベンダーがユーザをプロプライエタリなファイル形式や規格に縛りつけようとする商用アプリケーションとは異なり、Siag Officeでは可能な限りフリーで特許のかかっていないルーチンやデータを使用する。さらに、複数のファイル形式をサポートすることによりデータの移植性を保証する。

 Pathetic WriterとSiag Spreadsheetのファイルは、デフォルトではシンプルなテキストファイルに保存される。プラグイン機能を使って画像ファイルなどを含める場合にはファイルはtarアーカイブとしてまとめられるため、展開して中身を調べるのも簡単だ。オープンな形式を使用するという考え方はODF(Open Document Format)などで現在ではありふれた考え方だが、Siag Officeでははるか昔の開発当初から実践されてきた。

 Siag Officeの各アプリケーション・コンポーネントは、シンプルで軽量になるように設計されているが、Scheme(SIOD)、Guile、Python、Ruby、Tclなどの言語を経由して拡張することができる。Siag Officeは非常に軽量なので、一見すると主流のオフィススイートには当然あると期待される機能のほとんどが欠けているように思われるかもしれないが、Siag Officeは拡張可能な設計になっているため、ユーザが必要とすることをさせるための独自の機能をユーザが追加することができる。もちろんそのようなことは最近のオフィススイートを利用する際に多くのエンドユーザが行なう必要のあることの範囲を越えているが、しかしSiagの柔軟性には、時間をかけてSiagのすべてを学ぶだけの価値がある。

インストール

 正直に言うと、インストールは簡単ではなかった。ユーザは自分のシステム用のSiag Officeのパッケージを見つけるのにおそらく苦労するだろう。また見つけたとしても、最近のLinuxディストリビューションでは通常はもう含まれていない可能性の高い古いパッケージに依存している。私の場合、Siagをソースからコンパイルしようとしてみたのだが、(ほとんどの部分を動かすことができたものの)Egonについてはまったく実行することができなかった。

 Siag Officeはhttp://siag.nuからダウンロードすることができる。その際、XawMプロジェクトとMowitzプロジェクトのソースコードもダウンロードする必要がある。それらのプロジェクトへのリンクは、Saig Officeのメインページにある。

 なお私のUbuntu Feistyマシン上でソースからSiagをコンパイルするためには、さらにいくつかの開発用のファイルをインストールする必要があった(以下参照)。

  • XawMのためにはneXtawライブラリが必要だった。
  • neXtawのためにはlibxmuの開発用のファイルが必要だった。
  • Mowitzのためにはlibxawの開発用のファイルが必要だった。
  • Siagのためにはlibxpmの開発用のファイルとncursesの開発用のファイルが必要だった。

 各プロジェクトについては、通常の手順、すなわち

  ./configure
  make
  make install
を行なえば、コンパイルされたファイルがデフォルトで/usr/localにインストールされる。

 ソースコードからのコンパイルが少し面倒に感じる人は、VMWare Playerと、Siag Officeのパッケージが利用可能になっているPuppy LinuxのVMWareイメージをダウンロードすれば、手軽にSiag Officeを試すことができる。この方法であれば自分のシステム用にコンパイルする苦労をすることなく、Siag Officeを試しに実行して実際にどのようなことができるかを見ることができる。

 Puppy LinuxのVMWareイメージはericsgrumbles.netからダウンロードすることができる。またSiag OfficeのPuppy Linux用のパッケージはmurga-linux.comから入手することができる(ただしこのパッケージにはEgon Animatorは含まれていない)。

 以上のようにしてneXtaw、XawM、Mowitz、そしてSiagのコンパイルとインストールが終われば、準備完了だ。

Pathetic Writer

 Pathetic Writerでは、ワードプロセッサを使って行ないたい基本的なことのほとんどを行なうことができ、書式設定、フォント選択、簡単な文書整形がサポートされている。なお表については、Siag Spreadsheetのファイルをプラグインとして文書内にインポートするというかたちで実現することができる。またそのようなプラグイン・アーキテクチャによって画像、テキスト、LaTeX形式、DVI形式、HTML形式がサポートされていて、さらに他のファイル形式をサポートするように拡張することもできる。使ってみたところSiagプラグインの使い方は簡単だったが、ただ文書内でプラグインの場所を移動する方法はややわかりにくかった。プラグインを移動するためには、まずプラグインを移動したい場所にカーソルを移動させてから、「Plugin(プラグイン)→Move(移動)」を実行する必要があった。

 テキスト編集用ウィンドウの中のテキストの表示は、私が見たことのある中でも最も美しいものだとは言いがたい。Mac OS Xレベルの品質のフォントの描画を期待しているならがっかりさせられるが、適度のレベルではある。ちなみに、プリンタに送る前に印刷される文書の見掛けを確認したい場合には、「File(ファイル)→Preview(プレビュー)」を実行すれば、Gvuが起動して文書が開き、PostScript経由でより美しい文書の表示を行なうことができる。

 Pathetic Writerは直接的には最近のMicrosoft Officeファイル形式をサポートしていないが、コマンドラインプログラムのwvを使用すればWord 97文書をPathetic Writerで開くことのできる他の形式に変換することができる。なおODF形式もサポートされていない。開くことのできるファイルの種類には、Pathetic Writerのネイティブ形式であるPW形式、テキスト形式、RTF(Rich Text Format)形式、HTML形式、ABW(Abiword)形式、SXW形式(Open Officeの古い形式)などがある。一方、文書の保存の際にサポートされている形式としては、PW形式、RTF形式、HTML形式、テキスト形式、AdobeのPDF(Portable Document Format)形式、PS(PostScript)形式などがある。

Siag Spreadsheet

 Siag Spreadsheetは、Siagオフィススイートを代表するアプリケーションだ。Siagは、Scheme in a Gridの略だが、SiagのヘルプファイルではSiag Is Not An Excel Emulatorの略となっていて、その方が雰囲気を伝えている。ExcelやOpen OfficeのCalcにある機能のすべてを期待しているならがっかりさせられるが、しかしSiag SpreadsheetにはSiag Spreadsheetに固有な便利な機能が多くある。まず第一に、Siag Spreadsheetは軽量なスプレッドシートであり肥大化していない。またPathetic Writerと同じプラグイン・アーキテクチャがある。そして数100の組み込み関数(多くはExcelと同等の機能)を備えている。さらに拡張可能なアーキテクチャのおかげで、自分の個人的なニーズに合わせることもできる。

 Siag SpreadsheetはPathetic Writerと同様に、書式設定、フォント選択、簡単な文書整形をサポートしている。また行/列のソートや電子メールでの文書の送信などができる。さらにSiagの拡張言語で実現できることの例として、外部の通常のブラウザからのリクエストに対して現在作成中のファイルをHTMLとして返すウェブサーバを作成することさえできる。GnuPlotをインストールすれば、Siagでグラフを作成することも可能になる。

 Siag Spreadsheetではネイティブのsiag形式のファイルの他に、Lotus 1-2-3形式、SXC形式のOpen OfficeのCalcファイル、CSV形式、テキスト形式、HTML形式のファイルを開くことができる。またsiag形式、テキスト形式、HTML形式、Lotus 1-2-3形式、PostScript形式、PDF形式、LaTeX形式としてファイルを保存することができる。なおヘルプファイルでは、Siag Spreadsheetで開く前に既存のスプレッドシートをLotus 1-2-3形式に変換してから開くことが推奨されている。私が試したところLotus 1-2-3やOpen Office Calcのファイルを開くとデータはすべて問題なく表示されるものの、数式情報がいくらか失われることが実際にあるようだった。

Egon Animator

 先に述べたように、今回はEgon Animatorを実行することができなかったので、試すことができなかった。Egon Animatorはアニメーション画像作成用プログラムと説明されていて、どうやら簡単なプレゼンテーションを行なうために使用することができるようだ。しかし今回は実行できなかったため、Open OfficeのImpressやMicrosoftのPowerpointのような本格的なプレゼンテーション用プログラムの代わりとしてどの程度使用することが可能なのかを明らかにすることはできなかった。なおEgon Animatorも、Siagオフィススイートの他のプログラムと同様のプラグイン・アーキテクチャと拡張性を備えているとされているので、組み込み関数以外のことも実現するように拡張することが可能であるはずだ。

フォント

 Siagオフィススイートのデフォルトのフォント集は数が少ないので、満足できない人はExtra Fontsをインストールすると良い。ただしインストールするにはフォント設定ファイルを手動で編集する必要がある。

関連ツール

 「Tools(ツール)→Environment(環境)」にデフォルトで用意されているKDEやGNOME環境用のプログラムはやや古めだが、自分で設定を変更することができる。例えばヘルプファイルの閲覧用プログラムをもっと新しいyelpにしたり、Nautilusなどのファイルマネージャを起動するようにしたり、特定の端末ソフトを指定したりすることなどができる。

印刷

 Siag Officeの印刷機能には、高度なユーザインターフェースは用意されておらず、文書を印刷する際には、単にユーザが指定しておいたコマンド(オプション付き)が実行されるだけだ。そのためSiag Officeから印刷するには、Linux CUPS関連のコマンドのことについて知っていると役立つだろう。このあたりに関して役立つウェブサイトを以下に紹介する。

g-loaded.eu
csx.cam.ac.uk

まとめ

 Siagは、そのほとんどが一人の開発者による作品であり、そのことを考えると非常に感心させられるソフトウェアスイートだ。Siagのメーリングリストsiag@siag.nuは現在活動を停止しているわけではなく、今回私が質問を投稿したところ一日もたたずに返事が返ってきたので、必要であれば助けを求めることができる。freshmeatのウェブサイトに開発者が最後にログインしたのは2007年4月となっているので、Siag Officeの開発は最近低速になっているようだ。もしプロジェクトを手助けすることに興味があれば、是非そうして欲しいと思う。Siag Officeは古めのハードウェア上では現在でも役立つし、新しいハードウェア上でもメモリをあまり必要としないオフィスアプリケーションを望むユーザにとっては役に立つだろう。組み込み言語サポートを使ってSiag Officeの機能を拡張するためには技術的なことをある程度学ぶ必要があるが、それはMicrosoft OfficeでVBA(Visual Basic for Applications)を使ったり、Open Officeで独自版のBasicを使ったりしてパワーユーザになろうとするなら同じことだ。Siag Officeは大規模なオフィススイートほど多機能ではないが、非常に小さなパッケージの中に基本的な機能がかなり申し分なく入っている。

Peter Enseleitは、Linux、木工細工、音楽、乏しい才能でグラフィックデザインをすること、最近購入したマウンテンバイクで太ももを痛めつけることなどに興味を持つソフトウェア開発者。

Linux.com 原文