JepaX 仕様説明

電子出版交換フォーマット
JepaX
日本電子出版協会
出版データフォーマット標準化研究委員会
(イースト株式会社)
渋谷 誠
1
日本電子出版協会(JEPA)
• 1987年設立
• 日本の電子出版の普及促進と情報提供
が目的
• 出版社、印刷会社、コンピュータメーカー、ソフ
トハウスなど137社が参加
• http://www.jepa.or.jp/
2
立ち上がる電子書籍市場
• 米国
– Rocket eBook発売(昨年)
• http://www.rocket-ebook.com/
– Open eBook仕様発表(9月)
• http://www.openebook.org/
– Microsoft Reader発表(9月)
• http://www.microsoft.com/reader/
3
立ち上がる電子書籍市場
• 国内
– ブックオンデマンド総合実証実験
• http://www.ebj.gr.jp/
– Webサイトでの電子書籍販売
•
•
•
•
•
コンテンツパラダイス (http://conpara.topica.ne.jp/)
ザウルス文庫 (http://www.zaurusworld.ne.jp/)
まんがの国 (http://manga.accessticket.com/)
EBOOK.CO.JP (http://www.ebook.co.jp/)
電子書店パピレス (http://www.papy.co.jp/)
4
電子書籍市場の課題
• 電子読書インフラの整備
– 携帯型ビューワー
– 縦組み、ルビ、外字サポート
– 著作権保護、課金システム
• コンテンツの充実
– 既存書籍のデジタル化
– 新刊書のデジタル版同時発売
5
既存書籍のデジタル化
• どのフォーマットにするか?
• 現在使用可:
プレーンテキスト、HTML、T-Time、Book Jacket
• 将来登場予定:
Open eBook日本語、NetEB、文庫本DTD
電子書籍コンソーシアムのテキスト系フォーマット
• ルビはどうする?
• 外字はどうする?
6
共通フォーマットへの期待
• 中立的な中間フォーマット
• 各種の「配布フォーマット」に変換可能
• 日本語独自の問題への対処
– 外字、ルビ、縦組み、文字コード
• 「単純ですぐに使える」ものであること
• 仕様が一日も早く決まること
7
JEPAでの仕様策定作業
• 3月:
– 検討開始 TEI, DocBook, ISO-12083 などを調査
• 5月:
– 0.1仕様 第1回ミーティング メーリングリストで検討開始
• 7月:
– 0.7仕様 JEPAで説明会開催 サンプル文書、XSLも公開
• 8月:
– 0.8仕様 DTD公開
• 9月:
– 第2回ミーティング 0.9仕様一般公開
8
公開しているもの(1)
• http://x.jepa.or.jp/jepax/
• 仕様
– 0.9 仕様書
• JepaX フォーマット
• HTML フォーマット
• Word フォーマット
– 0.9 DTD
9
公開しているもの(2)
• サンプル文書
– 基本サンプル
• 全要素を使った文書
• JepaX 0.9仕様書
• テンプレート
– 実用書
• 「ワープロここが不思議」 (講談社ブルーバックス)
• 「パソコン悠々漢字術」 (一部のみ・公開準備中)
– 小説
– 論文
10
公開しているもの(3)
• 他フォーマットへの変換として
– XSLスタイルシートのサンプル
• JepaX → HTML
• JepaX → T-Time
• JepaX → Open eBook
11
JepaXのコンセプト
12
中間フォーマットの意義
• どのフォーマットでも同じ作業が必要
– ルビ、外字を探す
– 段落を区切って見出しを取り出す
– 書誌情報を作成
• これらが完了後の状態で蓄積
• 必要に応じて配布フォーマットへ変換
– フォーマット依存のスタイル・レイアウト情報を付加
• 交換用フォーマットとしても安心して使える
– 表計算のCSV、ワープロのRTFのようなもの
13
HTMLではだめなのか?
•
•
•
•
タグの多さと用法の混乱
論理構造が記述しにくい
日本語用仕様の欠如
書誌情報が記述できない
14
JepaXの基本方針
•
•
•
•
•
•
•
交換・蓄積用フォーマット
各種の最終配布フォーマットへ変換可
必要最低限の簡潔さ
Free & Open
外字の指定方法を規定
使用文字コードの規定
半年で完成させる
15
JepaX仕様の詳細
16
文書形式
• 検証済みXML文書
– DTDは仕様とともに公開
<!DOCTYPE jepax PUBLIC “-//JEPA//DTD JepaX 1.0//JA”
“http://x.jepa.or.jp/jepax/jepax10.dtd” >
• ファイルのEncoding
– Unicode(UTF-16)を推奨
– 使用できる文字についての規定あり
17
全体構造
• トップレベルに6つの要素
jepax
jepaxinfo
bookinfo
cover
front
back
body
18
jepaxinfo要素
• ファイル自身に関するメタ情報
– 使用文字コード
• <char-exp type="windows"/>
– 推奨される組み方向
• <pref-layout flow="horz"/>
– 外字指定の方式
• <giset-desc value="mojikyo">…
– 追加した独自属性
• <xtype-desc element="div" value="ト書き">…
• <class-desc element="em" value="blink">…
19
bookinfo要素
• 書誌情報
– 現在は必要最低限のものだけ
•
•
•
•
•
<isbn>
<c-code>
<book-title>
<book-subtitle>
<edition>
•
•
•
•
<series-title>
<book-author>
<pub-date>
<publisher>
20
cover ,front, body, back 要素
• それぞれdiv要素のみからなる
– <cover>
• 「カバー」や「見返し」や「帯」などに書かれていた内容
– <front>
• 「まえがき」「序文」「目次」などの本文の前に配置される内容
– <body>
• 文書の主たる内容
– <back>
• 「あとがき」「解説」「索引」などの本文の後に配置される内容
21
div要素
div
+
head
title
subtitle author
+
p
div
ブロック要素
note
リスト要素
22
階層定義の例
<div type=”章”>
<head>
<no>第一章</no> <title>電子出版の歴史</title>
</head>
<div type=”節”>
<head>
<no>1.</no> <title>黎明期</title>
<subtitle>CD-ROM辞書の時代</subtitle>
</head>
・・・
(本文)
・・・
</div>
</div>
23
論理構造の表現
• div要素ひとつだけを使う
• 入れ子にして階層を表現
• 属性 type で階層に意味を付加
• "部", "章", "節", "項1", "項2", "項3",…
• "序文", "謝辞", "献辞", "目次", "あとがき", …
• "囲み","とびら","索引",…
• 以上にあてはまらない場合は、属性 xtype で任意の
名称も設定可能
24
div要素以下の階層
div要素
リスト要素(3種)
ブロック要素(4種)
文字列(CDATA)
インライン要素(11種)
25
リスト要素
• HTMLのリストを踏襲
• ただし、内容モデルは異なる
– 順序なしリスト
• <ul>, <li>
– 順序つきリスト
• <ol>, <li>
– 定義リスト
• <dl>, <dt>, <dd>
26
ブロック要素(1)
• パラグラフ
– <p>
• 整形テキスト
– <pre>
• 表
– <table>, <caption> ,<tr>, <th>, <td>
27
ブロック要素(2)
• 外部ファイルデータ
– <float>, <caption>, <res>
<float>
<caption>
<no>図1</no> <title>JepaXのロゴ</title>
</caption>
<res mimetype="image/gif" src="jepaxlogo.gif">
</float>
28
インライン要素(1)
• 汎用インライン要素
– <span>
– 属性 type で意味を指定, xtype で独自定義可
<span type=”URL”>http://www.jepa.or.jp/</span>
• 強調
– <em>
– 強調方法の指定はない
<em>何の料金も</em>支払う必要がない
29
インライン要素(2)
• 参照(内部リンク)
– <ref>
– 属性 idref で参照先を指定
<ref idref=”fig13” type=”figure”>図13</ref>参照
• キーワード
– <key>
– 属性 reading で「読み」を指定
<key reading="サカモトリョウマ">坂本龍馬</key>
30
インライン要素(3)
• 縦横文字切り替え
– <byflow>, <ht>, <vt>
– 縦組み用と横組み用の文字列を併記
<byflow> <ht>上の</ht> <vt>右の</vt> </byflow>表において
• 割注
– <mlg>
– 括弧内で2行に分けて表記する注
31
インライン要素(4)
• ルビ
– <ruby>, <rb>, <rt>
– W3C案に準拠
<ruby><rb>株式会社</rb><rt>かぶしきがいしゃ</rt></ruby>
• 上付き、下付き
– <sup>, <sub>
32
インライン要素(5)
• 改行
– <br>
• インライン画像
– <img>
<img mimetype="image/gif" src="jepaxlogo.gif">
33
インライン要素(6)
• 字形イメージ
– <gi>
– 属性 set で「字形分類体系」を指定
– <jepaxinfo>中にその「分類体系」の説明を記述
<giset-desc value="mojikyo"> … </giset-desc>
– 属性 name で字形イメージの番号/名称を指定
– 属性 alt で「代替表示文字列」を指定
森 <gi set="mojikyo" name="58562" alt="鴎" />外
深<gi set="mojikyo" name="04894" alt="(土川)" />経済特区
34
文字指定の方法(1)
• 通常の文字コード
– 環境によっては表示できないこともある
• 文字名称を使う
– 欧文のみ
&aacute; &uuml;
&copy; &trade;
35
文字指定の方法(2)
• UCS文字番号
– XMLの仕様で規定されている方法
&#x3231;
• <gi>要素
– JepaXで規定した方法
<gi set="mojikyo" name="47268" />
36
JepaXでの文字コード
• 3つのタイプを設定
– 完全Unicode環境用
– Windows環境用
– 汎用環境用
• <jepaxinfo>中にどれであるかを記述
<char-exp type="windows"/>
• 相互変換は可能
37
表示環境と文字指定
表示環境
Encoding
Unicode
Windows
汎用
Unicode
ASCII
非 ASCII 欧文
半角カタカナ
JIS1,2 水準
Windows 拡張
その他の Unicode
Unicode 以外
文字コード
Unicode,
Shift-JIS
文字コード
Unicode,JIS,
Shift-JIS,EUC
文字コード
文字コード
ISO 文字名
ISO 文字名
文字コード
文字コード
UCS 番号
文字コード
文字コード
文字コード
文字コード
文字コード
UCS 番号
文字コード
UCS 番号
UCS 番号
<gi>要素
<gi>要素
<gi>要素
38