This is a project page for xml2eb.
書籍作成ツール(XML2EB)について
XML2EB は独自に規定するXML(book.xml)ファイルを読み込んで JIS X4081形式の電子書籍を作成するプログラムです。
Usage:
$ bin/xml2eb.sh [book.xmlのパス]
実行後、book.xmlが存在するディレクトリのbuildディレクトリ以下に 辞書データが作成されます。
XML2EB用書籍定義XML
書籍
書籍はbook要素にて定義します。 book要素はXMLのルート要素であり、XML文書内に2つ以上記述することはできません。 この要素内に必要な数だけ副本を記述します。
<book>
<subbook> ... </subbook>
<subbook> ... </subbook>
</book>
副本
副本はsubbook要素にて定義します。 この要素内にコンテンツ、画像、音声、外字を記述します。
- dir
-
副本のディレクトリ
- title
-
副本のタイトル
- type
-
副本の種類
<subbook dir="hoge" title="ほげほげ事典" type="0x60">
<content> ... </content>
<graphic> ... </graphic>
<sound> ... </sound>
<font> ... </font>
</subbook>
コンテンツ
コンテンツはcontent要素にて定義します。 この要素内にコンテンツ項目、メニュー、著作権を記述します。
<content>
<item> ... </item>
<menu> ... </menu>
<copyright> ... </copyright>
</content>
コンテンツ項目
コンテンツ項目はitem要素にて定義します。 この要素内に見出し、本文、検索語、キーワードを記述します。
- id
-
参照用タグ名称
<item id="ほげほげ">
<head> ... </head>
<word> ... </word>
<keyword> ... </keyword>
<body> ... </body>
</item>
見出し/本文
見出しはhead要素にて、本文はbody要素にて定義します。 要素内には以下の要素を含めることができます。 また、本文は必ずkey要素から始めなければなりません。
-
char
-
b
-
i
-
em
-
sup
-
sub
-
key
-
nobr
-
indent
-
br
-
ref
- name
-
外字名称
- type
-
外字の種別 (narrow/wide)
- id
-
参照名称
- data
-
画像/音声名称
- type
-
graphic/sound
<head>辞書</head>
<body>
<key>辞書</key><br/>
<indent>辞書とは...</indent>
</body>
検索語/キーワード
検索語はword要素にて、キーワードはkeyword要素にて定義します。 検索語は前方/後方一致検索で検索する際の検索語になります。 キーワードは条件検索で検索する際の検索語になります。 片仮名を含んでいる場合は平仮名に変換したものも自動的に登録されます。 複数の検索語/キーワードを定義する場合は各要素を複数記述します。
<word>辞書</word>
<word>じしょ</word>
<keyword>英和</keyword>
<keyword>和英</keyword>
メニュー
メニューはmenu要素にて定義します。 メニューの各項目はlayer要素を用いて階層化します。 layer要素内には本文要素と同様の要素を含めることができます。 なお、最上位階層は先頭に記述する必要があります。
- id
-
参照用タグ名称
<menu>
<layer id="top">
<ref id="first">はじめに</ref><br/>
<ref id="about">この辞書について</ref><br/>
<ref id="symbol">表記について</ref><br/>
</layer>
<layer id="first">
<key>はじめに</key><br/>...
</layer>
<layer id="about">
<key>この辞書について</key><br/>...
</layer>
<layer id="symbol">
<key>表記について<key><br/>...
</layer>
</menu>
著作権
著作権はcopyright要素にて定義します。
<copyright>
Copyright (c) 2006 xxxx
</copyright>
画像
画像はgraphic要素内にdata要素を記述して定義します。
- name
-
参照用タグ名称
- src
-
画像ファイル (XMLファイルからの相対位置)
- format
-
bmp/jpg
<graphic>
<data name="g001" src="g001.bmp" format="bmp" />
<data name="g002" src="g002.bmp" format="bmp" />
<data name="g003" src="g003.bmp" format="bmp" />
</graphic>
音声
音声はsound要素内にdata要素を記述して定義します。
- name
-
参照用タグ名称
- src
-
音声ファイル (XMLファイルからの相対位置)
- format
-
wav/mid
<sound>
<data name="s001" src="s001.wav" format="wav" />
<data name="s002" src="s002.wav" format="wav" />
<data name="s003" src="s003.mid" format="mid" />
</sound>
外字
外字はfont要素内にchar要素を記述して定義します。 外字のビットマップイメージファイルはchar要素内にdata要素を記述して定義します。
- name
-
参照用タグ名称
- type
-
外字の種別 (narrow/wide)
- size
-
外字サイズ (16/24/30/48)
- src
-
XBMファイル (XMLファイルからの相対位置)
<font>
<char name="n001" type="narrow">
<data size=16 src="n001-16.xbm" />
<data size=30 src="n001-30.xbm" />
</char>
<char name="n002" type="narrow">
<data size=16 src="n002-16.xbm" />
<data size=30 src="n002-30.xbm" />
</char>
<char name="w001" type="wide">
<data size=16 src="w001-16.xbm" />
<data size=30 src="w001-30.xbm" />
</char>
<char name="w002" type="wide">
<data size=16 src="w002-16.xbm" />
<data size=30 src="w002-30.xbm" />
</char>
</font>
空白要素の扱い
下記に示すような要素間の空白のみのテキストノードは無視します。
<key>...</key>
<br/>
<b>...</b>...<i>...</i>
<em>...</em>
</key\>と<br/>の間、<br/>と<b>の間、<b/>と<i>の間、 </i>と<em>の間に存在するテキストノードが無視する対象になります。
改行の扱い
テキスト内に存在する改行はすべて無視します。 テキスト内に改行を含める場合は br要素を使用します。
CONVERTER
Dictionary converter tools
There are a couple of tools to convert several dictionary data into XML files that can be used by xml2eb. Now there are two tools supporting following dictionaries:
通信用語(等)の基礎知識用変換ツール(conv-wdic)について
Usage
$ bin/conv-wdic.sh [Dictionary Data directory]
After execute the command, the tool generate book.xml in a dictionary directory. It is necessary to prepare the dictionary directory as same as follows:
Note: It is not necessary to make gaiji and table directory because there are automatically genearted by the converter tool.
It is necessary to complete following conditions for plugin data:
- Image
-
There exist a bmp file that related to a png file. (A filename should be *.png.bmp)
- Sound
-
There exist a wav file that related to a mp3/ogg file. (A filename should be .mp3.wav/.ogg.wav)
- Text
-
Text file is encoded by UTF-8.
- Glyph
-
Glyph image data is an image that related to +\\glyph{code} function in dictionary data. The image data should have a name in form of +"code.50px.png.bmp" . It is necessary to generate it from dictionary data in advance to running a tool. You can find PNG images in グリフウィキ(GlyphWiki) site. Please convert it to BMP. Sample URL of image is "http://glyphwiki.org/glyph/code.50px.png"
- GAIJI
-
A Character set in Ebook is limited to JIS X0208 because of JIS X4081 specification. It is because it cannot express all characters in Unicode specification.. So a tool generate GAIJI images for characters which are not supported. It is also limited to express table, the tool generate image of table. To generate GAIJI and table, you need to specify font for the tool. Please edit wdic-fonts.properties file.
郵便番号用変換ツール(conv-zipcode)について
Usage:
$ bin/conv-zipcode.sh [データディレクトリ]
After execute the command, the tool generate book.xml in a dictionary directory. It is necessary to prepare the dictionary directory as same as follows: