OpenOfficeのWriter文書をEPUB文書へ変換する拡張機能「writer2epub」

 writer2epubのダウンロード
 注:Firefoxの場合は,「OpenOfficeで開く」ことでOpenOfficeへ直接インストールできます。
   Internet Explorerの場合は,いったん「保存」した後,拡張子を「zip」から「oxt」へ変更してから,OpenOfficeへインストールしてください。
 サンプル文書のダウンロード

バージョン 1.1.12  2011年 7月 2日  縦書きについてSVGによる表現かCSS3による表現かの出力選択ができます。


概要

writer2epubは,OpenOfficeのWriter文書をEPUB文書へ変換する拡張機能です。このツールは,Luca Calcinai氏が開発したwriter2epubに基づきます。そのうち日本語関係は私(岸 和孝)が担当しました。ベータ版についてローカライズとテストに関わっていただいたイタリア,ドイツ,フランス,ポーランド,日本の方々に感謝します。

この拡張機能に含まれるOpenOfficeのBasicマクロは,LGPLの下で発表されます。

このツールは,Windows下のOpenOffice ver.3,MacOSX下のOpenOffice ver.3で利用できます。

疑問などがあれば,kisi-kazutaka@nifty.comへご一報ください。

writer2epubのインストール

OpenOfficeは,あらかじめインストールされているものとします。

インストールは,writer2epub.oxtをダブルクリックし,OpenOfficeの拡張機能マネージャーのダイアログの問いにOKと答えるだけです。または,OpenOfficeの「ツール」メニューの「拡張機能マネージャー」を開いて「追加」を選び,ファイル選択でwriter2epub.oxtを選んでも同じ結果となります。

writer2epubをインストールした後,「ツール」メニューの「マクロ」〜「マクロの管理」〜「OpenOffice Basic」を開いて「マイマクロ」の内容を見ると,writer2epubがインストールされていることが確認できるでしょう。

writer2epubの機能

writer2epubによってEPUB文書へ変換できるWriter文書の仕様を下表に示します。

仕様横書き(lr-tb)縦書き(tb-rl)
レイアウト段組み(columns)××
枠(frame)××
脚注(footnotes)×
ルビ(ruby)
表(table)×
見出し(heading)*1
箇条書き(list)××
フォントフォント名(font name)× *2*3
フォント寸法(font size)×*3
文字(character)ボールド(bold)×
イタリック(italic)×
アンダーライン(underline)×
段落(paragraph)左揃え(align left)×
中央揃え(centered×
右揃え(align right)×
両端揃え(justified)
画像(picture)
ハイパーリンク(hyperlink)××

*1:横書きの見出しのスタイルは,次のように設定されます。

見出し上端マージン下端マージンフォント寸法行揃え
h14em2em1.2em中央揃え
h23em2em1em中央揃え
h32em2em0.9em中央揃え
h42em2em0.9em中央揃え
h52em2em0.9em中央揃え
h62em2em0.9em中央揃え

*2:スタイルシートではフォントファミリをGeorgia,Garamond,serif,sansserif,monospaceを指定しています。
*3:フォント名とフォント寸法は本の全体を通じて一定であると仮定します。(暫定)

ファイル名からの文書概要の設定

writer2epubは,OpenOfficeのWriter文書のファイル名の綴りから文書概要を次のように推定しますので,「標題」「筆者」「出版者」を構成する文字列の前後に半角の空白を伴う半角のハイフン「-」で区切る形で指定します。

ファイル名の綴り標題筆者出版者
Title.odtTitle  
Author - Title.odtTitleAuthor 
Author - Title - Publisher.odtTitleAuthorPublisher
上記以外.odt上記以外  
芥川龍之介 - 羅生門・鼻 - 岸.odt羅生門・鼻芥川龍之介
Lewis Carroll - Alice's Adventures in Wonderland - Sam'l Gabriel Sons.odtAlice's Adventures in WonderlandLewis CarrollSam'l Gabriel Sons

いくつかのEPUBビューアーにおける表示

writer2epubによって変換したEPUB文書を次のEPUBビューアーで表示させた結果を下表に示します。なお,結果はその後のバージョンアップによって異なるかもしれません。(2010年 9月16日現在)

現代の文書

writer2epubによって,左から右,上から下に書かれた横書き(lr-tb)のWriter文書は,XHTMLに基づくEPUB文書として生成されます。それはEPUBビューアーによって次のように見えます。○印は問題なく表示できることを,△印は表示に難があることを,×印は表示できないことをそれぞれ表わします。

伝統的な日本や中国の文書

writer2epubによって,上から下,右から左に書かれた縦書き(tb-rl)のWriter文書は,XHTMLとSVGまたはCSS3に基づくEPUB文書として生成されます。SVGによる表現かCSS3による表現かの選択は出力時に指定します。

例えば,下図の左側のような横書き(lr-tb)のテキストは,詩のテキストの方向が縦書き(tb-rl)の場合,右側のような画像に見えます。

テキストの方向
横書き(lr-tb)縦書き(tb-rl)
                 
   序             
                 
 わたくしといふ現象は      
                 
 仮定された有機交流電燈の    
                 
 ひとつの青い照明です      
                 
 (あらゆる透明な幽霊の複合体) 
                 
                 
                 
                 
                 
                 
                 
           
 ︵ ひ 仮 わ   
 あ と 定 た   
 ら つ さ く 序 
 ゆ の れ し   
 る 青 た と   
 透 い 有 い   
 明 照 機 ふ   
 な 明 交 現   
 幽 で 流 象   
 霊 す 電 は   
 の   燈     
 複   の     
 合         
 体         
 ︶         
           

引用:「春と修羅」宮澤賢治(1924年)

OpenOfficeのWriter文書において,「書式」メニューの「ページ」アイテムで次の仕様を指定しなければなりません。

ページ タグ
  用紙:
    用紙サイズ:用紙の種類
    横:用紙の幅
    縦:用紙の高さ
    向き:縦向き または 横向き
    文字の方向:右から左へ(縦書き)
    余白:
      左:ページの左端の余白
      右:ページの右端の余白
      上:ページの上端の余白
      下:ページの下端の余白
行数と文字数 タグ
  グリッド線:
    行数と文字数を指定する:on
  行数と文字数の設定:
    ページ単位の行数:行数
    行単位の文字数:文字数
    1文字の最大サイズ:ポイント数
    ルビ文字の最大サイズ:ポイント数
    ルビを対象文字の下または左に表示:off

writer2epubは,それらの仕様によって幾何学的レイアウトを決定します。

XHTMLとSVGに基づくEPUB文書は,EPUBビューアーによって次のように見えます。○印は問題なく表示できることを,△印は表示に難があることを,×印は表示できないことをそれぞれ表わします。


Copyright 2010-2011, 岸 和孝.