2011年8月3日水曜日

EPUB3 コンテスト 第 1 回の結果が発表

EPUB3コンテスト」の結果が今日、発表されました。

4 つの賞が用意されており、受賞者・受賞作品は次の通りです:

  • epubcafe 賞: 珈琲新聞 — Yuki.Mさん
  • ユーザ賞: 涼州詞 — 小川真樹さん
  • OnDeck 賞: OnDeckインタビュー記事 — 大西隆さん
  • 村田真賞: ごんぎつね —川幡太一さん

「珈琲新聞」は HTML+CSS で新聞の複雑なレイアウトを再現する力作。「涼州詞」は漢詩を原文・書き下し文・繁体中国語・簡体中国語等で記述した作品。「OnDeckインタビュー記事」は雑誌誌面再現のデザイン性が評価されたのでしょうか。「ごんぎつね」は読み上げ部分がハイライトするという障害者向けのサポート機能を光を当てた作品。

ソースコードは、結果発表ページからダウンロードできますので、興味を持たれましたら中身を見てみるのもよろしいかと存じます。

2011年7月31日日曜日

EPUB3 コンテスト、落選

メール・チェックを怠っていたら、6 日も前に「EPUB3コンテスト」から落選メールが届いていました。受賞者は 2011-08-03 (水) に発表されるとのことです。

投稿作品

私が投稿した作品は二つ。どちらも、github に在りますので自由に閲覧できます。折角なので、少しだけ紹介文を書きます。

デパート・カタログ

デパートのカタログを見ると、複数のメーカー/ブランドの商品を綺麗にカテゴライズして並べてありますよね。私は、新幹線の網に入っているカタログが好きです。

こういうカタログを作るのって大変だろうな... と思ったのが、作成のきっかけ。メーカーから商品のデータをもらったら、判面に合わように配置して、見栄えを揃えて、並べる順序も考えて。。。それを季節ごとに作り直し!? 大変そう。

そこで、メーカーから上がってきたデータをそのまま配列するだけのカタログを作りました。もちろん、それでは利便性が低過ぎです。そこからが、本と書子書籍の違い。ePub3 では JavaScript がオプションで使えるようになりました。オプションなので、当然 JavaScript 非対応な ePub リーダーも考えなくちゃいけないんですが、今回は可能性を探るという目的で JavaScript が使えるリーダーのみを対象に... やることは「検索」機能の独自実装です。

bk ブログさんのコードを参考にさせてもらって、商品ごとの検索をユーザーにしてもらおうというわけです。オリジナルのソース・コードは一行のみの検索 (grep) ですが、私のプログラムは商品単位で検索を行ないます。これは、HTML5 で section, article といった要素が追加されて、一行じゃない検索 (コンテキスト grep) がやり易くなったのを活用しています。

LaTeX Intro

ePub3 で LaTeX の入門を書きました。LaTeX というのは、紙用の組版システムです。とても高度な電子出版ソフトと言えば良いでしょうか。その高度なツール「LaTeX」の入力と出力サンプルを ePub でどれだけ再現できるか、に挑んだのが本作です。

LaTeX の説明を本文で書きつつ、aside 要素を使って「ePub3 で LaTeX の表現を再現する方法」を書きました。LaTeX の説明文も全て自分で書いたので大仕事でした (さすがに Public Domain になってる LaTeX の説明本はないので...)。

書いてて気付いた点を挙げておきます。

  • ePub3 には footnote 仕様がある (対応リーダーはまだない)
  • ePub3 には 章番号・表番号・図番号のクロス・リファレンス仕様がある (対応リーダーはまだない)
  • ePub3 に目次機能はあるが、自動作成機能はない (自動作成ツールを作る必要あり!?)
  • ePub3 に索引仕様がない (自動作成ツールを作る必要あり)
  • ePub3 に文献仕様がない (自動作成ツールを作る必要あり)

数式は、現在サポート真最中という感じですね。

2011年7月13日水曜日

Google Apps で Google+ はまだ無理!?

最近流行の Google+ の招待状が届きました。しかし、招待状のページに飛んでみるとすげない言葉が並んでいます。

この機能を使用するには Google プロフィールが必要です。

私が使っている Google Apps では、ほとんどの Google サービスが使えますが、Google プロフィールは例外なのです。そして、Google+ には Google プロフィールが必須とのこと。

Google 側が Google Apps における Google プロフィール対応を一日でも早く行なってくれることを望みます。

2011年7月8日金曜日

espur — ePub3 対応ビューワー

イースト株式会社がおそらく世界で初となる ePub3 ビューワーをリリースしました。ビューワー名は「espur (エスパー)」です。

espur 概要

espur の概要をまとめます。

  • Version: 0.8
  • 対応 OS: Windows (Vista, 7)
  • レンダリング・エンジン: WebKit
  • Twitter: espur_jp

MathML は WebKit 依存だとか、JavaScript はインタラクティブなものに対応していないとか、目次のサポートが不十分といった既知の問題は espur のウェブページに載っているので、そちらを参照して下さい。

ともあれ、これで ePub3 ドキュメントの確認環境が出来たわけですね。喜ばしいことです。

私は残念ながら Mac と Windows XP のユーザーなので espur が使えません。Windows XP に対応して欲しいとは思いませんが、Mac には対応して欲しいところです。

2011年6月22日水曜日

スマートフォン Tips を紹介しているエントリー

[to-R] さんが、スマートフォン用の Tips を 11 集めてエントリーを書いていらっしゃいます。

ePub を読むツールもスマートフォン (iPhone/Android) が多いと思われるので、参考になるのではないでしょうか?

私は、「Android で (現在) ボールド体が表現できない」、「フォントサイズは 12px 以上」「1px のこだわりを捨てる」などが参考になりました。

また、「横幅は 320px もしくは 640px でデザインする」という意見は考えさせられました。というのは、ePub の場合は、この条件に加えて iBooks などが勝手に入れる余白も考慮しなければならないからです。ePub リーダーもスマートフォン・サイト同様、複数のモバイル・デバイスで表示される様になるでしょうから、こういう Tips を早めに集めておくとよさそうですね。

2011年6月21日火曜日

HTML5 の XML 版の書き方

ePub3 は中身のコンテンツを HTML5 でかつ XHTML (XML) で書くよう要請しています。いわゆる XHTML5 と呼ばれるものです。残念なことに、XHTML5 の書き方の説明が少ないです。そこで、XHTML5 の雛型の書き方を紹介します。

シリアライゼーションについて

HTML5 の特徴の一つに、DTD がなくなったことが挙げられます。DTD とは大雑把に言えば HTML や XHTML を「定義」するものです。HTML は SGML によって DTD を、XHTML は XML によって DTD を定義されていました。HTML5 では DTD がなくなり、DOM で定義されるようになりました。そして、この DOM を HTML として解釈する場合、「HTML シリアライゼーション」と呼びます。一方、XML として解釈する場合、「XML シリアライゼーション」と呼びます。

HTML シリアライゼーションされたものを HTML5、XML シリアライゼーションされたものを XHTML5 と呼びます。大部分において HTML5 と XHTML5 は同じですが、違いもあります。例えば、HTML5 では閉じタグを省略できるケースがありますが、XHTML5 では閉じタグが必須です。HTML5 では <img ...> と書くところ、XHTML5 では <img .../> と書きます。XHTML5 では名前空間を使うことができます。

HTML5 を書く者は、自分が「HTML5」で書くのか「XHTML5」で書くのか、ちゃんと区別しなくてはなりません。「HTML5」と「XHTML5」を一つのファイルに混在させることは出来ないからです。

HTML5 と XHTML5 の大まかな分け方

ファイルの先頭に XML 宣言

<?xml version="1.0" encoding="UTF-8"?>

が入っていたら XHTML5 です。入っていなければ HTML5 です。

HTML5 の雛型

先の説明は大雑把すぎるので、少し踏みこんで説明しましょう。

まず HTML5 は Content-Type に text/html をセットしなければなりません。

そして、最小の HTML5 は下記の様になります:

<!DOCTYPE html>
<html lang="ja">
 <head>
  <meta charset="UTF-8" />
  <title>タイトル</title>
 </head>
 <body>
   本文
 </body>
</html>

DTD がなくなったことで、DOCTYPE がシンプルになったことに注目して下さい。また、meta 要素では charset 属性のみを設定する様になりました。

XHTML5 の雛型

XHTML5 は Content-Type に application/xhtml+xml とセットしなければなりません。

そして、最小の XHTML5 は下記の様になります。

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
 <head>
  <title>タイトル</title>
 </head>
 <body>
   本文
 </body>
</html>

さて、ここで互換性の問題。XHTML5 は新しい規格なので、W3C の Validator すら上記 XHTML5 のコードでは「正しい XHTML5」であると認識してくれません。解決策の一つに XHTML5 に DOCTYPE を付ける、というのがあります。幸いなことに、XHTML5 では DOCTYPE の宣言は必須ではない、言い換えると DOCTYPE を付けても良いことになっています。

もう一つ。日本語でテキストを書く場合、XHTML5 では html 要素に lang 属性も指定しないと日本語として認識しない ePub リーダーがあります。最新の HTML5 Last Call を読むと、XHTML5 でも lang 属性がオプションとして認められています (もちろん属性値は xml:lang の値と同じにしなければなりません)。

以上二点を踏まえて、互換性の高い XHTML5 の雛型を書くと次の様になります。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
 <head>
  <title>タイトル</title>
 </head>
 <body>
   本文
 </body>
</html>

謝辞

このエントリーのきっかけはEPUB3チュートリアルの「EPUB 3.0 への対応 — XHTML ファイルの修正」でした。「XHTML ファイルの修正」には XHTML5 の「互換性の高い雛型」が載っていて、私は DOCTYPE や lang 属性は要らないのではないか? と疑問に思ったのです。そこで、チュートリアルを書いたイースト株式会社の中の人とメールのやりとりをしました。

そして、どういう理由で「互換性の高い雛型」が出来たかを教えてもらったのでした。

教えてもらった後、同じ様なことで悩んでいる人が多いのではないかと思い、イーストさんに許可を求めたところ、心良く承知して下さったので、本エントリーを書くことができました。イーストさんに感謝致します。ありがとうございます。

2011年6月18日土曜日

ePub 2.0 ことはじめ (8) カバーを付ける

の続きにして、「ePub 2.0 ことはじめ」最終回です。

本エントリーでは、iBooks で表示するカバーを付けます。これで、ePub ドキュメントとしては一まず形になるのではないでしょうか。

なお、カバー画像の作り方については、以下のサイトの説明を参考にしました。

カバー画像を作る

カバーの画像を作ります。素材を使えると良いでしょう。私は何も持っていませんので、SVG で作ってみました。


<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 15.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg"
     width="160px" height="220px" viewBox="0 0 160 220">
<text x="5" y="180" font-size="16">
  ePub 2.0 ことはじめ
</text>
<text x="60" y="200" font-size="14">
  絳アト
</text>
<path fill="#85B916"
      d="M79.998,130.406l-49.316-49.32l49.316-49.313l16.44,16.437l-32.88,32.876l16.439,16.44l49.316-49.313
  l-42.96-42.96c-3.508-3.511-9.198-3.511-12.709,0L4.161,74.736c-3.508,3.508-3.508,9.198,0,12.709l69.484,69.481
  c3.511,3.511,9.201,3.511,12.709,0l69.484-69.481c3.508-3.511,3.508-9.201,0-12.709l-10.087-10.084L79.998,130.406z"/>
</svg>

iBooks 1.3 はカバー画像に SVG を使えない様なので、PNG に変換します。

普段は convert コマンドを使っているのですが、convert コマンドは SVG 画像内の日本語テキストを変換してくれなかったので、Inkscape というベクター画像用のツールを使いました。SVG 画像を開き、「ファイル > ビットマップにエクスポート」から PNG ファイルを出力しました。

その結果がこちらです:

カバー用の XHTML ファイルを作る

カバー画像を含める XHTML ファイルを作ります。名前は cover.xhtml としました。


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 STRICT//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
  <title>ePub ことはじめ</title>
  <style type="text/css">
    img { height: 100%; }
  </style>
</head>
<body>
  <p><img alt="ePub 2.0 ことはじめ" src="cover.png"/></p>
</body>
</html>

content.opf の変更

変更箇所は四箇所です。

metadata 要素の変更

metadata 要素に次の meta 要素を追加します。

<meta name="cover" content="cover-image"/>
manifest 要素へ item を追加

manifest 要素に、カバー画像とカバー画像用の XHTML ファイルを登録します。

   <item id="cover" href="cover.xhtml" media-type="application/xhtml+xml" />
   <item id="cover-image" href="cover.png" media-type="image/png" />
spine 要素へカバーへの参照を追加する

spine 要素の先頭にカバー (XHTML ファイル) への参照を追記します。属性 linear="no" を追記するのがミソです。

 <spine toc="ncx">
   <itemref idref="cover" linear="no"/>
   <itemref idref="chap1" />
 </spine>
guide 要素の追加

以下の guide 要素を追加します。

 <guide>
   <reference href="cover.xhtml" type="cover" title="Cover" />
 </guide>

仕上がり

iPad でスクリーン・ショットを撮ってみました。

1 番左がカバー付。2 番目がカバー無しです。カバーが付いている方が見た目良いですね。

ちなみに、上で作った PNG ファイルとカバーが違います。これは一つ前に作ったカバー・ファイルなのですが、どうやらキャッシュが残っているらしく、新しいカバーが適用されませんでした。iBooks のバグだと思うのですが、解決できなかったので、無念ですがこのままブログにアップします。

おしまい

以上で、エディターで作る ePub 2.0 ドキュメントの連載を終了します。

希望者があれば、これをまとめて ePub 化しようかとも思います。希望者はコメントなり twitter/akaato で一声かけて下さい。

2011年6月17日金曜日

ePub 2.0 ことはじめ (7) スタイルの追加

の続きです。

ePub 2.0 ことはじめ (3)(6) で構造化テキストの作成ができる様になりました。本章では、構造化したテキストにスタイルを追加して見栄えを良くする方法を説明します。

スタイルは CSS 2.1 で設定します。

スタイルの追加

最初に、スタイルの適用前と適用後の違いをお見せします。

今回はシンプルに、p 要素で出来る「空行」をなくすスタイルを適用してみます。

スタイル適用前は上のスクリーン・ショットの様に空行が空いています。スタイル適用後は、下のスクリーン・ショットの様に空行がなくなります。

ちょっと見た目が悪いですかね? text-indent なども設定すると良いと思います。今回は、一番シンプルで分かり易いサンプルということで、勘弁して下さい。

Stylesheet の追加

スタイル・シート「style.css」を OEBPS ディレクトリーの中に置きます。style.css の中身は下記の通りです (サンプルなので、かなり大雑把です m(_ _)m):

p {
  margin: 0;
}

XHTML ファイルから style.css へリンク

CSS ファイルを使う全ての XHTML ファイルから、style.css へのリンクを張ります。

XHTML の head 要素に次の link 要素を追記します。

<link rel="stylesheet" href="style.css"/>

content.opf の変更

最後に、ePub ドキュメントに style.css を認識させる作業が必要です。

content.opf ファイルの manifest 要素にスタイル・シートの item を追記します。次の様になるでしょう。


 <manifest>
   <item id="ncx" href="toc.ncx" media-type="text/xml" />
   <item id="style" href="style.css" media-type="text/css" />
   ...

以上で、スタイル・シートの追加作業はおわりです。CSS の参考書を頼りに、読み易いスタイルを作成しましょう。

2011年6月9日木曜日

ePub 2.0 ことはじめ (6) 画像の挿入

の続きです。

HTML で ePub 文書を書けるようになりましたし、目次も作ることができるようになりました。これで、ePub ドキュメントを作成する準備はほとんど整ったと言って良いでしょう。

さて、本エントリーでは ePub での画像の扱いについて書きます。

ePub で画像

画像を挿入するには、HTMLimg 要素を使います:

<img src="foo.jpg" alt="サンプル画像" />

ePub が対応している画像は JPEG, PNG, GIF, SVG の四種類です。

content.opf の変更

ePub で画像を入れる際の注意点は、挿入する画像を content.opf に登録しておかなければいけない点です。登録は manifest 要素の中で行ないます。

サンプル・コードです。

<item id="sample-jpg" href="sample.jpg" media-type="image/jpeg" />
<item id="sample-png" href="sample.png" media-type="image/png" />
<item id="sample-gif" href="sample.gif" media-type="image/gif" />
<item id="sample-svg" href="sample.svg" media-type="image/svg+xml" />

ソースとプレビュー

ソースコードは github で見ることができます。

iPad 上の iBooks で各々の画像を表示させてみました:

SVG もちゃんと表示されていますね。良かったです。

SVG 画像の作成

SVG 画像の作成には、graphviz を使いました。ソースコードは data ディレクトリー内にあるので、興味のある方は github で確認して下さい。なお、PNG/JPEG/GIF ファイルは SVG ファイルから convert したものです。

2011年6月8日水曜日

ePub 2.0 ことはじめ (5) 目次の作成

の続きです。

Makefile ができたので、XHTML ファイルを編集しても最少の手間で ePub ドキュメントを生成できるようになりました。本エントリーでは、「目次」の作成方法を解説します。

目次の作成

iBooks では目次がないと ePub ドキュメントとして不正に扱われます。そのため、簡単な目次の作成方法については「絳アト日記: ePub 2.0 ことはじめ (1) シンプルな ePub を作る」で解説しました。おさらいしてみましょう。

目次を作るには、まず content.opf ファイルに目次ファイル「toc.ncx」があることを認識させます。そして、toc.ncx ファイルで目次を作ります。

content.opf ファイルの変更点

content.opf ファイルにおける目次ファイルの変更部分は二か所です。

まず manifest 要素に toc.ncx が ncx (目次) ファイルであることを登録します。今回の場合、次のようになります:

<manifest>
  <item id="ncx" href="toc.ncx" media-type="text/xml" />
  ...
 </manifest>

id 属性値は ncx としておくのが無難でしょう。href 属性値は自由に決めて構いませんが、拡張子は ncx とします。今回は toc.ncx という名前を採用しました。media-type 属性値は text/xml です。

次に spine 要素に toc 属性を追加します。属性値は目次ファイルの ID です:

 <spine toc="ncx">
目次ファイル (toc.ncx) は次のようになります:
<?xml version="1.0" encoding="UTF-8"?>
<ncx xmlns="http://www.daisy.org/x3986/2005/ncx/" version="2005-1">
  <head>
    <meta name="dtb:uid" content="akaato.com20110418"/>
    <meta name="dtb:depth" content="1"/>
    <meta name="dtb:totalPageCount" content="0"/>
    <meta name="dtb:maxPageNumber" content="0"/>
  </head>
  <docTitle>
    <text>ePub 2.0 ことはじめ</text>
  </docTitle>
  <navMap>
    <navPoint id="chap1" playOrder="1">
      <navLabel>
        <text>第一章 ことはじめ</text>
      </navLabel>
      <content src="chap1.xhtml"/>
    </navPoint>
  </navMap>
</ncx>

dtb:uid

目次ファイルの例を見れば分かる通り、目次ファイルには一つの navMap 要素が入ります。navMap 要素の前はヘッダーと考えて構いません。navMap 要素の中身が目次となって表示されます。

navMap 要素の中に目を移す前に、目次ファイルのヘッダー部分へ注意を向けましょう。ここに meta 要素で name="dtb:uid" というコードがあります。この属性値には、content.opf ファイルで dc:identifier で設定した値から「urn:uuid」を除いたものを設定します。

今回の例では、content.opf の概当部分は次の様になっていますから

 <dc:identifier id="BookId">urn:uuid:akaato.com20110418</dc:identifier>

toc.ncx の概当部分は下記の様になります:

 <meta name="dtb:uid" content="akaato.com20110418"/>

navPoint

navMap 要素の中には複数の navPoint 要素を入れることができます。この navPoint が「目次」となります。

一般的な navPoint 要素は次の様になります。

<navPoint id="目次用のID" playOrder="目次の順番 (数字)">
 <navLabel><text>目次名</text></navLabel>
 <content src="URL"/>
</navPoint>

「目次用のID」は content.opf 内の ID とは無関係です。playOrder の順番に目次が並べられます。navPoint 要素は入れ子にすることも可能ですし、「#name」も利用可能です。

一例です。

<navMap>
  <navPoint id="chap1" playOrder="1">
    <navLabel>
      <text>第一章 ことはじめ</text>
    </navLabel>
    <content src="chap1.xhtml"/>

    <navPoint id="chap1" playOrder="2">
 <navLabel>
   <text>1.1 利用可能な要素</text>
 </navLabel>
 <content src="chap1.xhtml#elem"/>

 <navPoint id="structure" playOrder="2">
   <navLabel><text>1.1.1  構造要素</text></navLabel>
   <content src="chap1.xhtml#structure"/>
 </navPoint>

 <navPoint id="text" playOrder="3">
   <navLabel><text>1.1.2  テキスト</text></navLabel>
   <content src="chap1.xhtml#text"/>
 </navPoint>

 <navPoint id="link" playOrder="4">
   <navLabel><text>1.1.3  ハイパーリンク</text></navLabel>
   <content src="chap1.xhtml#link"/>
 </navPoint>

 <navPoint id="list" playOrder="5">
   <navLabel><text>1.1.4  リスト</text></navLabel>
   <content src="chap1.xhtml#list"/>
 </navPoint>

 <navPoint id="fix" playOrder="6">
   <navLabel><text>1.1.5  修正</text></navLabel>
   <content src="chap1.xhtml#fix"/>
 </navPoint>

 <navPoint id="table" playOrder="7">
   <navLabel><text>1.1.6  テーブル</text></navLabel>
   <content src="chap1.xhtml#table"/>
 </navPoint>
    </navPoint>
  </navPoint>
</navMap>

結果です。iPhone の iBooks で表示させました。

2011年5月30日月曜日

「電子書籍 らくらくPACK」下書き — 第 5 回配信

5/9、「電子書籍 らくらくPACK」下書きの第五回が配信されました。同書については、過去記事をお読み下さい。

第五回の内容は、副題「EPUBテンプレート対応版」にあるテンプレートの紹介です。

EPUB の中身は (既に紹介した通り) XHTML です。つまり、ウェブ・ページと同じと言っても過言ではありません。ウェブ・ページは、「文章構造」を XHTML に、スタイル (見た目) をスタイル・シートに書く様になっています。このメリットは、スタイル・シートを差し替えるだけで、文章に手を加えることなく見た目を大きく変更できることです (実践されているページは少ないですが...)。

EPUB も同じ構造ですから、スタイル・シートを切り替えるだけで見た目を変更できます。しかし、EPUB 用のスタイル・シートのノウハウはまだ少ないです。そこで、ある程度整えた文章構造と CSS を「テンプレート」として提供しようというが、本書のウリです。

第五回では、提供しているテンプレートの実例が紹介されています。本書で用意しているテンプレートは以下の通りです。

  • 基本テンプレート*
  • エッセイ、小説用
  • 日記用*
  • 写真集用*
  • 招待状用*
  • レシピカード用*
  • 自分史用
  • カタログ用

第五回ではこのうち * の付いたテンプレートをサンプルとして読むことができます。残るテンプレートについては、本を購入下さいということですね。

発売

「電子書籍 らくらくPACK」は、下書きを一部公開するという変わったマーケティング手法を取ってきました。

私の話をすれば、本屋で本を立ち読みすることが少なくなったので、中身も分からず技術書を買うことが多くなりました。今回の様に、本の中身が一部でも先取りで分かると購入の判断がしやすくなってとても良いですね。また、発売日前から公開している点が気に入りました。この記事シリーズの頭でも書きましたが、読者のフィードバックを本に入れることができる可能性があるからです。これは本を出版した後には出来ないことですよね。Amazon の中身を見る機能では対応できないことです。

本書は 6/1 に発売とのことです。気に入ったら、購入してみてはいかがでしょうか?

2011年5月26日木曜日

EPUB3 仕様を確定

2011 年 5 月 23 日、EPUB の仕様を策定してる IDPF がついに EPUB 3 仕様を確定しました。

EPUB 3 の仕様が確定したということは、仕様にそって EPUB 3 のドキュメントを安心して作れるということです。また、現在 EPUB 3 用のリーダー・アプリは登場していませんが、仕様が確定したことで開発が進むことが期待されます。EPUB 3 には、日本語縦書きの仕様も盛り込まれていますから、とても楽しみですね。

JavaScript

EPUB 3 で一番気になっていたのは JavaScript が使えるかどうかでした。仕様によると、一応 JavaScript はサポートされました。良かったです :)

ただし、リーダー・アプリにおける JavaScript サポートはオプショナルなので、EPUB 3 で JavaScript を入れる場合は JavaScript が動かなくても文意が通じるようにしなければいけません。おそらく Apple の eBooks や Android の ePub リーダー・アプリは JavaScript 対応してくるでしょうが、Amazon の Kindle の様な商品は JavaScript サポートがない (か遅れる) でしょう。書き手は、その点を考えて JavaScript を使わないといけませんね。

2011年5月25日水曜日

EPUB3 コンテストの〆切が 6 月末まで延期

EPUB3 を盛り上げるイベントの一つに EPUB3 コンテストがあります。

このコンテストの応募〆切が延長されました。最初、5 月末日だったものが 6 月末日に変わっています。5/10 の情報です。5 月に入って絶賛体調不良なので、告知を見落としていました。なお、イベント開催者側は延期の理由を次の様に書いています。

5月下旬から6月にかけて、IDPF Digital Book 2011Apple WWDC 2011などのイベントで、多くのEPUB3関連の発表があるので、それを待って、6月末日終了としました。

EPUB3 コンテスト 第1回 * - epubcafé より引用

なるほど。イベント目白押しですね。

私としては体が動かず、EPUB3 ドキュメントの作成も遅れに遅れていたので、今回の延長は棚からぼたもちです ;)

2011年5月17日火曜日

「電子書籍 らくらくPACK」予約受付中

本ブログで (ドラフト原稿を) 紹介している「電子書籍 らくらくPACK」が、Amazon で予約受付中になっています。

作者は林拓也さん。出版社は技術評論社。大型本で 144 ページ。2011 年 5 月 26 日発売予定。価格は 2,079 円です。

まずは下書きを読んで、納得の内容だったら予約してみてはいかがでしょうか?

2011年5月16日月曜日

「電子書籍 らくらくPACK」下書き — 第 4 回配信

5/9、「電子書籍 らくらくPACK」下書きの第四回が配信されました。同書については、過去記事をお読み下さい。

第四回の内容は「Sigil の概要説明」です。第 3 回にて、ePub における基本情報を提示しました。第四回はその事実を踏まえて、本格的に Sigil を使った ePub 作成方法について解説をします。

各節のタイトルを挙げておきましょう。

  • 4-1 Sigil の概要を知ろう
  • 4-2 文章を貼り付けよう
  • 4-3 文章を構造化しよう
  • 4-4 画像を配置しよう
  • 4-5 スタイルを設定しよう (※)
  • 4-6 目次 (TOC) を設定しよう (※)
  • 4-7 表紙画像とメタ情報を設定しよう (※)

今回のお試し配布版では、※のついた 4-5, 4-6, 4-7 節の内容が省略されています。

4-2, 4-3, 4-4 についてコメントを添えて紹介に変えたいと思います。

4-2 文章を貼り付けよう

本書では、Sigil で直接ドキュメントを作成することはしません。テキスト・エディターで原稿を作成し、Sigil で成型して ePub 化する手順を取っています。そのため、Sigil にテキストを貼り付ける作業が一番最初に説明されています。

Sigil をブックビュー・モードにして、テキストを貼り付けるのがコツです。すると、テキストに応じた HTML ファイルが Sigil によって作成されます。

何故、このような手間を取る必要があるのか? その説明がありません。ただ、その様にすると書いてあるだけです。コラムでも良いですから、説明があると良いと思いました。私が愚考するに

  • Sigil は大量の日本語ドキュメントを扱うと落ちる
  • 下書きは、テキスト・エディターを使う方が書きやすい

ということを考慮しているのではないかと思います。

XHTML ファイルの容量

同名のコラムがあり、ePub リーダーによっては XHTML ファイルのデータ容量の上限が 300 KB になっていることを指摘しています。これは ePub リーダー側の都合であって、ePub の規格にあることではありません。ですが、より多くの人に読んでもらう場合、この事実は頭の隅に置いておく方が良さそうです。

4-3 文章を構造化しよう

Sigil のテキストを貼り付けただけでは、正しい構造化がされていません。例えば、Sigil はどの行が「見出し」かを知ることが出来ません。そこでユーザーは手で HTML ファイルを構造化する必要があります。4-3 では、具体的に以下の構造化について説明しています。

  • 見出しの作成
  • 箇条書きリストの作成
  • 不要な空白の削除
段落について

Sigil はテキストをコピーした時、改行を段落として認識します。つまり、改行があるごとに p 要素でタグ付けします。

しかし、本書では、p 要素を br 要素に置き換えるよう勧めています。どうやら、p 要素を入れることで「空白行」ができることを嫌っているようです。

私は p 要素で空白行を入れるのは「文章構造」ではなく「スタイル」の問題だと思います。空白行が入るのが嫌であれば、p 要素のスタイルを変更すべきで、「段落」という文章構造を重視し残すべきだと考えます。

4-4 画像を配置しよう

特にコメントはありません。

おわりに

本書の様に、原稿と文章成型の工程を分ける場合メリットとデメリットがあります。

メリットは原稿作成時に「テキスト」だけを書けば良いことです。作者は文章作成以外に集中しなくて済みます。

デメリットは、原稿を Sigil で成型後、修正を入れるのが大変なことです。変更量が大きければ、テキスト・エディターで文章修正後、もう一度文章構造形成や画像配置を行なわなくてはなりません。変更量が小さい場合は、オリジナルの原稿と Sigil 側のドキュメント両方に修正を入れることになるでしょう。

現状、本書が示す方法が最良に近いと思いますが、メリット・デメリットがあることを具体的に書いてあると親切だと思いました。

体調を崩しています

ゴールデン・ウィーク明けから、体調を崩しています。今日、五月に入って初めて PC を起動しました。

少々不定期になるかもしれませんが、4/28 以来更新が止まっていたブログを再開します。どうぞ、よろしく。

2011年4月29日金曜日

Google Apps が新ビジネス・モデルを発表

Google Apps に大きな変化が 2 つ起きています。1 つ目は新ビジネス・モデルの導入。2 つ目は Google アカウントとの統合です。一つずつ説明します。

新ビジネス・モデル

今まで年間契約だった Google Apps for Business が月間契約も可能になりました。年間プランでは 1 アカウント 50 ドル/年だったところ、月間プランでは 1 アカウント 5 ドル/月となります。月間プランの支払いは、月末に行なわれます。月間プランの方が割高ですが、ユーザー数を毎月変化させられるメリットがあります。短期契約社員を雇う会社、入れ替わりの激しい会社にはコスト削減につながるかもしれません。また、スタート・アップ企業に対しても初期コストが低いのが魅力です。小さな IT 系企業にとって、月間プランはおいしいサービスでしょう。

Google Apps のユーザー数制限

Google Apps (無料版) のユーザー数制限が変わります。今まで 50 人だったところが、10 人にまで減らされます。

この変更は、5/10 以降に Google Apps を開始する人 (会社) に適用されます。5/10 以前に Google Apps を使い始めた人達は、今まで通り無料で 50 人まで人数を増やせます。5/10 以降、10 人を越える人数で Google Apps を開設する場合は、Google Apps for Business を使う必要があります。

私も Google Apps を使っているので、人ごとではありません。幸い影響はなさそうですが、Google Apps に興味を持っていて、10〜50 人前後の人数ならば、とりあえず Google Apps を始めておくのが良さそうです。

Google アカウントの統合

最近、Google Apps アカウントと Google アカウントが統合されたようです。同じ Cookie が使われる様になり、一つのブラウザーで Google Apps のサービスと Google アカウントのサービスを同時に使うことが出来なくなりました。この結果、個人用の Gmail と会社の Google Apps 版 Gmail を一つのブラウザーで開けなくなりました。一旦ログアウトするか、(対応していれば) マルチ・アカウント機能を使うしかありません。

私は一つのブラウザーで使い分けることを諦めました。個人用 Google アカウントは Google Chrome で、Google Apps (つまり akaato.com 用) アカウントは Firefox 4 で使い分けています。

過渡期の混乱とは思いますが、Google さんには早めに良い解決策を提示して欲しいものです。

2011年4月28日木曜日

ePub 2.0 ことはじめ (4) Makefile を作る

の続きです。

ePub の中身 (XHTML) をいじれる様になりました。これからどんどん編集することでしょう。するとそのたびに ePub ドキュメントを作り直さなくてはなりません。具体的には、zip コマンドを何度も打ちます。これから、ePub をいじりたおすことを考えると頭が痛くなりますね。

ePub 作成の自動化

Makefile を使って ePub 作成の自動化を行ないます。Makefile は、「シンプルな ePub を作る」で紹介した zip コマンドを自動実行します。やり方は簡単。コマンドラインに以下のコマンドを打ちこむだけです。

$ make

古い ePub ドキュメントが削除されて、zip コマンドが実行され、一つ上のディレクトリー (フォルダー) に epub-first-step.epub が出来上がります。

Makefile

次の内容を Makefie というファイル名で mimetype ファイルと同じ所に置きます。

DOC = epub-first-step
all: epub

ZIP = zip
epub: clean ../$(DOC).epub

../$(DOC).epub:
 $(ZIP) -0 $@ mimetype
 $(ZIP) -r $@ * -x mimetype -x Makefile

#
# clean
#
RM = rm -f
clean:
 $(RM) ../$(DOC).epub
 $(RM) *~
 $(RM) OEBPS/*~

このコードをコピーする時に、DOC の値 (赤字で書かれた epub-first-step の部分) を貴方の ePub ファイル名に修正することを忘れないで下さい。

おわりに

この Makefile は ePub 初心者な私が作った、まだ未熟なものです。この先、ePub が複雑になれば Makefile も修正されるかもしれません。

Makefile (及び epub-first-step の全てのソース) は GitHub に置いてあるので、時々そちらもご覧になって下さい。

次回は、目次の作成を行ないます (え、もう第一回で作っちゃったって? ううん、少しだけ詳しく書きます)。

2011年4月27日水曜日

ePub 2.0 ことはじめ (3) HTML 整形

の続きです。

本エントリーでは、「こんにちは」としか表示させなかった ePub ドキュメントを、もっと実用的にしてみます。

さて、ePub 2.0 では XHTML 1.1 でドキュメントを書きます。ただし、全ての XHTML 1.1 要素が使えるわけではありません。以下に、XHTML 1.1 で利用可能な要素を書き出します (ref. Open Publication Structure (OPS) 2.0.1 v1.0 #2.2.1 Required Mudele)。

ePub 2.0 で利用可能な XHTML 1.1 要素
XHTML 1.1 モジュール名 要素名
Structure body, head, html, title
Text abbr, acronym, address, blockquote, br, cite, code, dfn, div, em, h1, h2, h3, h4, h5, h6, kbd, p, pre, q, samp, span, strong, var
Hypertext a
List dl, dt, dd, ol, ul, li
Object object, param
Presentation b, big, hr, i, small, sub, sup, tt
Edit del, ins
Bidirectional Text bdo
Table caption, col, colgroup, table, tbody, td, tfoot, th, thead, tr
Image img
Client-Side Image Map area, map
Meta-Information meta
Style Sheet style
Link link
Base base

表を見て分かる通り、script, noscript 要素が載っていません。script 要素はテキストを書き換えるために利用できず、スクリプトの実行も非推奨とされています。script 要素なしでもドキュメントとして成立するよう、気を付ける必要がありそうです。

それでは、実際に XHTML 1.1 で文章を作成してみましょう。

chap1.xhtml の作成

まずファイル名が hello.xhtml だと座りが悪いので、chap1.xhtml に変更します。

そしたら、XHTML 1.1 要素を使ってテキストを書いてみます。ソースコードが長くなってしまったので、先に結果のスクリーン・ショットをお見せします。iPad の iBooks で確認しました。

ハイパーリンクをタップすると、ちゃんとジャンプすることを確認しました。

おしまい

どうですか? スタイル・シートを適用していないので、見た目が HTML そのまんまですけど、XHTML で ePub 作成できることを実感して頂けたでしょうか?

次は、少し横道に逸れて Makefile を作ってみます。

ソースコード

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 STRICT//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
  <title>第一章 ことはじめ</title>
</head>
<body>
  <h1>利用可能な要素</h1>
  <p>ePub 2.0 で利用可能な要素を紹介します。</p>
  <h2 id="structure">構造要素</h2>
  <p>html, head, title, body 要素が使えます。HTML の基本ですね。</p>
  <h2>テキスト</h2>
  <h3>ヘッダー</h3>
  <p>h1, h2, h3, h4, h5, h6 のヘッダー要素が使えます。このテキストでは、h1, h2, h3 を使っています。</p>
  <h3>段落</h3>
  <p>p 要素を使って段落を作ります。</p>
  <p>段落内で改行が必要な場合は br 要素が使えます。</p>
<p>例:</p>
<pre>
  段落の中で&lt;br/&gt;
  改行
</pre>
<p>結果:</p>
<p>段落の中で<br/>
改行
</p>
  <h3>引用</h3>
  <p>blockquote 要素を使って、引用ができます。</p>
  <blockquote>
    <p>三つの指輪は、空の下なるエルフの王に、<br/>
七つの指輪は、岩の館のドワーフの君に、<br/>
九つは、死すべき運命の人の子に、<br/>
一つは、暗き御座の冥王のため、<br/>
影横たわるモルドールの国に。</p>
<p>一つの指輪は、すべてを統べ、<br/>
一つの指輪は、すべてを見つけ、<br/>
一つの指輪は、すべてを捕らえて<br/>
くらやみのなかにつなぎとめる。<br/>
影横たわるモルドールの国に。 </p>
  </blockquote>
  <p>q 要素を使って、インライン引用もできます: <q>一つの指輪は、すべてを統べ</q> </p>
  <p>cite 要素を使って、引用元を表現することもします: <cite>指輪物語</cite>より引用</p>
  <h3>そのまま</h3>
  <p>pre 要素を使って、そのまま表示することが可能です。</p>
<pre>
#define MAX 100
int main(void)
{
  int sum = 0;
  for (int i=0; i&lt;MAX; i++)
  {
     sum += i;
  }
  return 0;
}
</pre>
  <h3>強調</h3>
  <p>より強い強調に <strong>strong</strong> 要素を、普通の強調に <em>em</em> 要素が利用可能です。</p>
  <h3>その他</h3>
  <p>特に意味のないブロック要素に div、インライン要素に span 要素が使えます。</p>
  <h3>意味のある単語</h3>
  <ul>
   <li>dfn 要素: <dfn>定義</dfn>を表す</li>
   <li>code 要素: <code>int i=0</code> の様にプログラム・コードを表す</li>
   <li>kbd 要素: <kbd>C-x C-s</kbd> の様にキーボード入力を表す</li>
   <li>samp 要素: <samp>samp</samp> 要素の様にサンプルを表す</li>
   <li>var 要素: <var>PATH</var> の様に変数を表す</li>
  </ul>
  <h3>省略文字</h3>
  <p>abbr 要素を使って省略文字を表現できます: <abbr title="World Hospital Orginization">WHO</abbr></p>
  <p>acronym 要素も利用可能です: <acronym title="Hyper Text Markup Language">HTML</acronym></p>
  <h2>ハイパーリンク</h2>
  <p>a 要素も利用可能です。「<a href="#structure">構造要素</a>」へジャンプしてみましょう。</p>
  <h2>リスト</h2>
  <p>番号なしリストの ul と、番号ありリストの ol、そして定義リストの dl が利用可能です。</p>
  <ul>
   <li>Windows</li>
   <li>Mac</li>
   <li>Linux</li>
  </ul>
  <ol>
   <li>Windows</li>
   <li>Mac</li>
   <li>Linux</li>
  </ol>
  <dl>
   <dt>Windows</dt>
   <dd>Microsoft 社の OS</dd>
   <dt>Mac</dt>
   <dd>Apple 社の OS</dd>
   <dt>Linux</dt>
   <dd>Linuxs 氏による Unix OS のクローン</dd>
  </dl>
  <h2>修正</h2>
  <p>del 要素を使って<del>削除項目</del>を表せます</p>
  <p>ins 要素を使って<ins>追記項目</ins>を表せます</p>
  <h2>テーブル</h2>
  <p>いっちょ、テーブルを作ってみましょう。</p>
  <table>
    <caption>力の指輪 〜 指輪物語</caption>
    <thead>
      <tr><th>種族</th><th>指輪の数</th></tr>
    </thead>
    <tbody>
      <tr><td>エルフ</td><td>三つ</td></tr>
      <tr><td>ドワーフ</td><td>七つ</td></tr>
      <tr><td>人間</td><td>九つ</td></tr>
    </tbody>
  </table>
  <h2>説明省略</h2>
  <p>object, img, bdo, area, map, meta, style, link, base の説明は省略します。</p>
  <p>b, i, tt, big, small 要素の利用は控えて CSS を使いましょう。</p>
  <p>上付き<sup>1</sup>や下付き<sub>2</sub> は必要に応じて使いましょう。</p>
  <hr/>
  <p>hr 要素はよく分からんです。</p>
</body>
</html>

2011年4月26日火曜日

「電子書籍 らくらくPACK」下書き — 第 3 回配信

4/25、「電子書籍 らくらくPACK」下書きの第三回が配信されました。同書については、過去記事をお読み下さい。

第三回の内容は「電子書籍作成の準備」です。ePub の構成と ePub 作成に必要になるファイルが解説されています。ePub 作成は第一回で触れたように、Sigil を使います。従って、Sigil が自動作成するフォルダー構成をもとに解説が行なわれます。content.opftoc.ncx ファイルは Sigil が自動作成するので、中身については説明がありません。

ePub を手で作った方はご存じの通り、zip 圧縮にコツが要ります。第三回では、この点を言及していますが Sigil がやってくれているので問題ないとしています。全て Sigil 任せにしないで、zip 圧縮のコマンド解説を入れて欲しいものです。もちろん、コラムか付録の様な本編とは関係のないところで良いですが。

ePub の構成の説明が終わると、Sigil を含めたアプリのインストール方法が解説されます。

第三回の内容は盛り沢山で、画像編集アプリ・原稿のチェックポイント・テキストファイルの作成例・画像ファイルのサイズ変更・XHTML の基礎解説・CSS の基礎解説が続きます。ただし、今回の配布では、後半部分が目次のみとなっています。

本文を読んで参考になった点を紹介します:

  • SVG 対応のリーダー・アプリは多くない
  • ePub 2.0 では縦書きや複雑なレイアウトを設定できない
  • ブログを書くよりも、原稿のチェックを綿密・多角的に行なう
  • 原稿ファイルはテキスト・エディタで用意 (大量のファイルに対して Sigil が落ち易いからか?)

2011年4月22日金曜日

iBooks 以外の ePub リーダー

ePub ドキュメントを見るためのツール、いわゆる「ePub リーダー」もしくは「ePub ビューワー」ですが、iBooks だけが全てではありません。そこで、ePub リーダーの比較をしているサイトがありましたので紹介します。

現在だけで 17 の ePub Reader が比較対象として上がっています (iBooks を除く)。

本ブログでも、このサイトで紹介されている Firefox 用 ePub Reader EPUBReader をレビューするつもりです。どうぞご期待下さい。

2011年4月20日水曜日

ePub 2.0 ことはじめ (2) iBooks で確認

の続きです。

本エントリーでは、先のエントリーで作成した ePub を iBooks で確認する方法を紹介します。iBooks に自作した ePub を渡すには、大きく分けて二通りの方法があります。一つは iTunes 経由で ePub を渡す方法。もう一つはウェブ上からダウンロードする方法です。

iTunes 経由

  1. iTunes を起動して、「ブック」を開く
  2. ePub ドキュメントを「ブック」にドラッグ & ドロップ
  3. iPhone/iPad を iTunes と同期させる

以上で、iBooks に ePub ドキュメントを登録することができます。

ウェブ経由 (1) ダウンロード

  1. ウェブ上に ePub ドキュメントをアップロード
  2. iPhone/iPad 上の Safari から、アップロードした ePub のリンクをクリック
  3. 新しいウィンドウが開いて、ファイルを開く方法の選択肢が現れる
  4. 「iBooksで開く」を選択する

以上で、iBooks に ePub ドキュメントを登録することができます。

ウェブ経由 (1) Dropbox

ウェブ・ストレージ Dropbox を使う方法です。この方法が一番手軽で便利です。

準備

Dropbox のアカウントを取得し、Dropbox アプリを iPhone/iPad にインストールしておきます。

Dropbox から iBooks へ
  1. Dropbox に ePub ドキュメントをアップロード
  2. iPhone/iPad の Dropbox アプリを起動
  3. アップロードした ePub ドキュメントを選択
  4. Dropbox で ePub ドキュメントを開けない旨、メッセージが出る
  5. 「外部アプリへ送る」ボタンをタップし、iBooks を選択

以上で、iBooks に ePub ドキュメントを登録することができます。

iBooks で確認

iPhone の iBooks で ePub ドキュメントを見てみます。

iBooks アプリを開くと、「ePub 2.0 ことはじめ」がありますね。

ePub ドキュメントを開くと、「こんにちは」と表示されました。いい感じです。

「ライブラリ」の隣のボタンをタップすると、目次ページが開きます。第一章が「サンプル」になっています。

ドキュメントの中身を読めましたし、目次も確認できました。先日、作った ePub が iBooks で読めたわけです。確認作業は終了です。

次回は、xhtml をいじってもう少しまともな ePub ドキュメントを作ってみましょう。

2011年4月19日火曜日

GitHub 最初の設定 — ssh 鍵の登録

の続きです。先のエントリーで、GitHub にアカウントを作成しました。

本エントリーでは、GitHub にリポジトリーを作ります。そのためには ssh の公開鍵の登録が必要です。まずは ssh の公開鍵を作り、続いてリポジトリーを作ってみます。尚、本エントリーでは git コマンドは知っているものとして話を進めます。

ssh 公開鍵の作成

ssh-keygen コマンドを使って、ssh の鍵を作ります。

$ ssh-keygen -t rsa -C "epub@akaato.com" -f ~/.ssh/id_epub
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 

パスフレーズ (ssh 鍵用のパスワードみたいなものです) を聞かれるので、入力します。

次の様な出力が出れば成功です。

Your identification has been saved in /home/masayuki/.ssh/id_epub.
Your public key has been saved in /home/masayuki/.ssh/id_epub.pub.
The key fingerprint is:
14:de:e0:46:aa:ae:68:38:40:a4:bd:06:58:d6:a5:d0 epub@akaato.com
The key's randomart image is:
+--[ RSA 2048]----+
|  .o .. +        |
| .o.E. = +       |
|++  . . = .      |
|+..  . o         |
|.. ..   S        |
|. o.             |
|o.  .            |
|oo .             |
|o..              |
+-----------------+

ssh の秘密鍵が ~/.ssh/id_epub に、公開鍵が ~/.ssh/id_epub.pub に保存されました。

GitHub に ssh の公開鍵を登録する

GitHub にログインして、「アカウントの設定」をクリックします。「SSH公開鍵」というタブがありますから、それをクリックします。

「別の公開鍵の追加」をクリックします。タイトルとキーの入力画面が現れます。公開鍵には適当に名前を付けます。私は Linux の公開鍵を登録したので、「linux」というタイトルを付けました。「キー」には公開鍵を入力します。公開鍵は id.pub という名前で保存されています。今回、私は「~/.ssh/id_epub.pub」という公開鍵ファイルを作りました。このファイルを開いて、中身を全部コピーします。最後に「キーの追加」をクリックします。

下のスクリーン・ショットの様になれば、OK です。GitHub に ssh の公開鍵の登録が終了しました。

リポジトリーを作る

GitHub のトップページに戻って、「新しいリポジトリ」をクリックします。

「プロジェクト名」を入力します。ここでは、「epub-first-step」としましょう。「説明」や「ホームページ」は適当に入力します。入力を終えたら、「リポジトリを作る」をクリックします。これで、リポジトリーが作成されました。

続いて、リポジトリの使い方や初期設定の説明が現れます。その通りにやれば、よいです。

私の場合、変則的ですが次の様にコマンドを入力しました。

~/epub $ mkdir epub-first-step
~/epub $ cd epub-first-step/
~/epub/epub-first-step $ git init
Initialized empty Git repository in /home/akaato/epub/epub-first-step/.git/
~/epub/epub-first-step $ git config user.name "Ato Aka"
~/epub/epub-first-step $ git config user.email epub@akaato.com
~/epub/epub-first-step $ git remote add origin git@github.com:akaato/epub-first-step.git

初期設定はこれでお終いです。git の初期化、ユーザ名・メアドの登録、GitHub の URL 登録をしています。

さあ、実際に GitHub にファイルをアップしてみましょう (これを push と呼びます)。

~/epub/epub-first-step $ touch README.textile
~/epub/epub-first-step $ git add README.textile 
~/epub/epub-first-step $ git commit -m 'first commit'
[master (root-commit)]: created aeef1f3: "first commit"
 0 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 README.textile
~/epub/epub-first-step $ git push origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 207 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:akaato/epub-first-step.git
 * [new branch]      master -> master

README.textile という空ファイルを作り、git の管理下に置きました。これを origin の master ブランチに push します。origin は GitHub の URL の別名です (先の設定で git add remote コマンドを使って設定しましたね)。

さあ、画面を更新してみましょう。

README.textile ファイルが追加されているのが見てとれます。成功です。リポジトリーを作って、そこにファイルをアップすることができました。

2011年4月18日月曜日

ePub 2.0 ことはじめ (1) シンプルな ePub を作る

「ePub 2.0 ことはじめ」と題して、ePub 2.0 ドキュメントを作ってみます。どうぞ、よろしく。

はじめに

ePub 作成用のツールは色々出ていますが、「ePub 2.0 ことはじめ」ではエディターを使ってベタベタに ePub を作ります。これは、私が ePub 作成ツールが苦手なのと、ePub 2.0 の仕様について勉強したいためです。

なお、「ePub 2.0 ことはじめ」で作る ePub のソースコードは GitHub で公開しています。よろしければ、ご自由にお使い下さい。

シンプルな ePub を作る

まずは、ePub ドキュメント用のディレクトリー (epub-first-step) を作ります。一つの ePub ドキュメントに関するファイル (テキスト、画像 etc.) は全てこのディレクトリーの中に置きます。

$ mkdir epub-first-step
$ cd epub-first-step

ePub を作るのに最低限必要なファイルは次の 4 つです。

  • mimetype
  • META-INF/container.xml
  • OEBPS/content.opf
  • OEBPS/text.html

と、そのはずなのですが、iBooks で開こうとすると「本のフォーマットエラー この本はフォーマットが認識出来ないか無効なため開けません」というエラーが出て ePub ファイルが開けません。どうやら、目次ファイルも必要なようです。

  • OEBPS/toc.xml
mimetype

mimetype ファイルは、このドキュメントが ePub 形式であることを教えるためのファイルです。次の様にして作ります。

$ echo application/epub+zip > mimetype
META-INF/container.xml

META-INF というディレクトリーの中に container.xml というファイルを作ります。container.xml ファイルの目的は、どこに ePub ファイルの中身を説明したファイルがあるかをビューワー・アプリに教えることです。

まず、META-INF ディレクトリーを作ります。

$ mkdir META-INF

META-INF/container.xml の中身は次の様になります:

<?xml version="1.0"?>
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
  <rootfiles>
    <rootfile full-path="OEBPS/content.opf"
       media-type="application/oebps-package+xml" />
  </rootfiles>
</container>

rootfile 要素の full-path 属性に opf ファイルへのパスを書きます。ここでは「OEBPS/content.opf」を指定しました。

mimetype ファイルと META-INF ディレクトリー (とその中身) の名前は予約語です。変更してはいけません。

opf ファイル

opf ファイルには、ePub (正確には zip ファイル) が含んでいるファイルの一覧とその説明を書きます。opf ファイルのファイル名は「書名.opf」か「content.opf」としているものを多く見かけます。ここでは「OEBPS/content.opf」とします。

ディレクトリー名は OEBPS とします。OEBPS とは ePub 規格の前身に当たる電子書籍フォーマットです。仕様では「OEBPS」でなくとも良いはずですが、歴史的な経緯で、OEBPSフォルダじゃないとちゃんと読み込んでくれないePubリーダーも存在するらしいので念のために OEBPS にします。

さあ OEBPS ディレクトリーを作ります。ePub ドキュメントの中身は、このディレクトリーの中に置く様にします。

$ mkdir OEBPS

今回は、hello.xhtml というサンプル・テキストだけ置くことにしましょう。この場合 opf ファイルの中身は次の様になります:

<?xml version="1.0" encoding="UTF-8"?>
<package version="2.0" xmlns="http://www.idpf.org/2007/opf"
  unique-identifier="BookId">
  <metadata xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:opf="http://www.idpf.org/2007/opf">
    <dc:title>ePub 2.0 ことはじめ</dc:title>
    <dc:creator opf:role="aut">絳アト</dc:creator>
    <dc:language>ja</dc:language>
    <dc:identifier id="BookId">urn:uuid:akaato.com20110418</dc:identifier>
 </metadata>
 <manifest>
   <item id="ncx" href="toc.ncx" media-type="text/xml" />
   <item id="hello" href="hello.xhtml" media-type="application/xhtml+xml" />
 </manifest>
 <spine toc="ncx">
   <itemref idref="hello" />
 </spine>
</package>

metadata 要素の中に、書名・著者名・言語を入れます。重要なのは dc:identifier 要素で、世界で唯一の文字列にしなければなりません。本であれば ISBN を使うと良いでしょう。私は、自分のサイト名と作成年月日を ID にしました。

manifest 要素には、中に入っている全てのファイルとそのファイルの種類 (media-type) を指定します。今回は、XHTML ファイルと目次ファイルの二つです。item 要素には必ず id 属性を付けます。この id 属性は、次の spine 要素の中で使うことになります。

spine 要素では、ファイルを読む「順番」を上から順に指定してゆきます。今回はファイルが一つなので順番は関係ありませんが...。idref 属性で指定する ID は、先の manifest 要素の中の item 要素で書いた id 属性値です。

ncx ファイル

ncx ファイルは目次のためのファイルです。今回は「toc.ncx」というファイル名にしました。toc.ncx ファイルの中身は次の通りです:

<?xml version="1.0" encoding="UTF-8"?>
<ncx xmlns="http://www.daisy.org/x3986/2005/ncx/" version="2005-1">
  <head>
    <meta name="dtb:uid" content="akaato.com20110418"/>
    <meta name="dtb:depth" content="1"/>
    <meta name="dtb:tatlPageCount" content="0"/>
    <meta name="dtb:maxPageNumber" content="0"/>
  </head>
  <docTitle>
    <text>ePub 2.0 ことはじめ</text>
  </docTitle>
  <navMap>
    <navPoint id="hello" playOrder="1">
      <navLabel>
        <text>サンプル</text>
      </navLabel>
      <content src="hello.xhtml"/>
    </navPoint>
  </navMap>
</ncx>

見た目の通りですが、1 つ注意点。<meta name="dtb:uid" content="akaato.com20110418"/> で、content 属性の値には、content.opf ファイルの dc:identifier 属性の値から先頭の「urn:uuid:」を除いた文字列を入れます。

XHTML ファイル

本当にシンプルな XHTML ファイルを作りましょう。ファイル名は hello.xhtml です。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 STRICT//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
  <title>こんにちは</title>
</head>
<body>
  <p>こんにちは</p>
</body>
</html>

ePub の作成

ePub を作るファイルは全て用意できました。それでは、これらのファイルを固めて ePub ファイルにしましょう。

ePub は zip で固めます。注意点は 2 つ。1 つ目は圧縮しないこと。2 つ目は mimetype ファイルを zip アーカイブの先頭に置くことです。以下のコマンドを実行すると、上記の条件を満たした zip ファイルが出来上がります。

$ zip -0 ../epub-first-step.epub mimetype
$ zip -r ../epub-first-step.epub * -x mimetype

次回は、ePub ビューワーで作成した ePub ドキュメントを見てみましょう。

参考サイト

2011年4月17日日曜日

「電子書籍の作り方」を読みました

「電子書籍の作り方 — EPUB、中間ファイル作成からマルチプラットフォーム配信まで」を読みました。出版社は技術評論社。全 239 ページ。2010 年 12 月 9 日発売。著者は境祐司さん。境さんの Twitter アカウントは @commonstyle です。

電子書籍の作り方 (PCポケットカルチャー)
境 祐司

477414505X
技術評論社 2010-12-09
売り上げランキング : 206983

Amazonで詳しく見る
by G-Tools

本書の第一章は、電子書籍の歴史を丁寧に説明しています。ePub の成立について詳しく知ることができます。ePub 以外のフォーマット (.book や XMDF) の発展も知ることができます。現在、流通している電子書籍のメイン・フォーマットについて、最低限に知識を得ることができます。

第二章は電子書籍リーダーの汎用的な機能説明です。主に ePub と AZW (Amazon の Kindle の形式) を対象にしたリーダーの説明をしています。これは、おそらく ePub リーダーと Kindle が現在最も電子書籍リーダーとして進んでいるからでしょう。

第三章は ePub を作成するためのフローチャートを説明しています。本書のキモは、この第三章でしょう。

第三章では、代表的な ePub 作成ソフトを二つ紹介して、その欠点を指摘しています:

  • Adobe InDesign は正しい ePub 出力をしない
  • Sigil は大量のドキュメント (特に日本語) を扱うと落ちる

これでは ePub を作成できないので、境さんなりの「暫定ワークフロー」(InDesign と Sigil を使い分けるフロー) が紹介されています。現状、ePub をちゃんと作ろうと思ったら、この暫定ワークフローは必読ではないでしょうか?

第四章はテキスト・素材について。境さんは複数の電子書籍フォーマット対応を睨む必要を説いています。そのためには、ワンソース・マルチユースでなくてはなりません。肝心のワンソースですが、何を中心に持ってくれば良いのか? どういう注意をしなければいけないのか? これらの解説をしています。

第五章から第七章は具体的な ePub 作成について書かれています。第三章で紹介したワークフローに沿った上で、InDesign や Sigil をどの様に駆使するのかが書かれています。例えば、見出しレベルの設定、改ページの追加、プロトタイプの作成方法、マルチ・デバイス対応への知識などです。

レビュー

電子書籍の本としては新しめで、最新情報を多く取り込んでいる点が光ります。

対象とする読者は、電子書籍を知らない人から、ePub を実践的に作ってみようという人まで幅が広いです。対象読者層の広さにもかかわらず、内容はよくまとまっています。

本書を読んで苦々しく思うのは、二点です。一点目は ePub 作成が簡単でないこと。二点目は作った ePub を販売する方法が説明されていないこと。二点とも本書が悪いのではなく、現在の ePub 作成における難しさが前に出ている結果です。一点目は InDesign や Sigil 自体に問題のあることですし、二点目は Apple の iBook Store や Google の eBookstore が (日本で) サービス・スタートしていないことが原因です。

現状、ePub 作成における「良書」と思います。ePub の進化に合わせて改版されることを期待します。

2011年4月16日土曜日

Github にアカウントを作りました

これから当ブログでプログラムを書いたり、公開可能な ePub ドキュメントを書くと思います。その公開先として github を選びました。

github は Git という SCM (ソースコード管理システム) のホスティングをするサービスです。使い方はおいおい説明するとして、アカウントの作り方をまとめました。

アカウント作成

まず GitHub のページに行きます。「このサイトを日本語で利用しますか?」と聞かれるので「はい」と答えます。

右上に「料金・登録」というボタンがあるので押します。

github - register

「プラン・価格」一覧が出ます。無料プランでは非公開レポジトリーが作れません。でも、月 $7 (年 $84) も払えないので、無料プランが無難ですね (;_;)。非公開なレポジトリーが必要になったら、その時はその時で... 「無料アカウントの作成」ボタンをクリックします。

github - plans

登録画面です。ユーザー名、メール・アドレス、パスワードを入力して「アカウントの作成」をクリックします。この時、メール・アドレスは Gravatar に登録したメール・アドレスを入力します。

github - your account information

以上で GitHub のアカウント作成はおしまいです。ダッシュボード画面に移ります。見て下さい。「akaato さんこんにちは」の隣に Gravatar で登録した写真が出ています。いい感じですね。

github - hello, github

私の GitHub での活動は、以下のページから見ることができます (まだ空ですが)

関連エントリー

2011年4月15日金曜日

Gravatar に登録しました

Gravatar というサービスがあります。これは自分のメール・アドレスとプロフィール写真の対応付けをしてくれるサービスです。Gravatar に対応したサービスに、メアドを入力すると自動的にプロフィール写真が表示される様になります。

対応している代表的なサービスはブログの Wordpress.com です。Wordpress ブログにコメントする時、メアドを入力しておくと Gravatar の写真がコメントに表示されます。

他には、ソースコード・ホスティング・サービスの github があります。こちらでも、自分のプロフィールやコメントに Gravatar の写真が使われます。今後、このブログで書いたテキストやツールを github で公開しようと思ったので、先がけて Gravatar の登録を行ないました。

ちなみに、私の Gravatar は akaato - Gravatar プロフィール で見ることができます。Blogger のプロフィールと同じのを使っています。

登録について

Gravatar のサイトは日本語化されています。メール・アドレスを登録し、あとはサイトの指示通りに従ってゆけば OK です。

2011年4月13日水曜日

EPUB3コンテスト説明会のまとめ #epubcon

昨日 (4/12)、EPUB3 コンテストの説明会に参加しました。簡単ではありますが、説明会の内容をまとめます。

作品について

ePub 3 拡張部分を持つことが必須要件です。例えば、「縦書き」にするだけでも ePub 3 拡張として認められます。

作品は、ePub 3 拡張の技術部分を評価します。

コンテンツは著作権フリーな文書を使って下さい。青空文庫Wikimedia、もしくは自分で書いた文書を使って下さい。

投稿について

epub 拡張子ではなく、zip で固めます。というのも、ePub 3 に対応したビューワーが存在しないためです。

公式ページに投稿ページへのリンクがあります。

投稿された zip ファイルは公開されます。公開されるということは、他の人が中身を見ることが可能ということでもあります。しかし、投稿履歴を見ればどのソースがオリジナルか分かるので、盗作の心配はないでしょう。投稿した作品に対して、周りからコメントをもらうことも可能です。

コメントを受けて、zip ファイルを更新することも可能です。審査は、あくまで 5 月末日にアップされた作品に対して行なわれます。

早めに投稿して、沢山コメントをもらって、作品をブラッシュアップさせていって欲しいとのことです。

なお、作品は 1 人 5 作品まで投稿可能です。

Webkit

ePub 3 の確認は、Webkit の最新版で行ないます。Webkit の最新版は 2 つの入手ルートがあります:

なお、WebKit Nightly Builds は Mac 版の方が Win 版よりも先行しているそうです。

vendor-prefix

CSS 3.0 の仕様を使う場合、vendor-prefix を付けて欲しいとのことです。例えば、縦書きする場合、次の CSS 3.0 記述をします:

vertical-rl

しかし、実はこれだけでは縦書きになりません。次の様に書きます。

vertical-rl
-webkit-vertical-rl

参考ページ

審査員について

  • 村田真さん: 日本語策定に尽力
  • 木田泰夫さん: Apple 本社で WebKit の日本語回りのプロジェクトに携る
  • 石井宏治さん: アンテナハウス社から W3C の日本語仕様策定に携る

質疑応答

Q. JavaScript は OK?

A. OK です


Q. UUID は更新ごとに変更が必要ですか?

A. 変更しなくても良いです


Q. Makefile や shell script を zip に含めても良い?

A. OK です

おしまい

以上、一時間未満の説明会でしたが内容をまとめてみました。

今回のコンテスト、投稿の Public 化 & 更新 OK という二点が面白いですね。5 月頭には一本くらい投稿したいと思いました。

2011年4月12日火曜日

「電子書籍 らくらくPACK」下書き — 第 2 回配信

昨日 (4/11)、「電子書籍 らくらくPACK」下書きの第二回が配信されました。同書については、過去記事をお読み下さい。

第二回の内容は「電子書籍を『読む』」です。同書がターゲットにしている EPUB リーダーが、iBooks (iOS 用) と Aldiko (Android 用) であることが分かります。ただし、出版までに時間があるので、アプリが変更される可能性はありです。

同書の筆者は、現在主流で質の高い EPUB リーダーは iBooks と Aldiko であると認識しているようですね。EPUB リーダーが増える昨今、こういう情報は (特に Android ユーザーには) 貴重なのではないでしょうか?

Google Apps から Blogger でブログ開設

akaato.com ドメインから Google Apps を使えるようにしたところで、ブログを開設してみます。利用するサービスは Blogger です。

ブログ開設

Blogger サイトに行きます。「無料でブログを始めよう」なんて書いてあります。

Blogger

Google アカウントに、Google Apps のメール・アドレスとパスワードを入力します。私の場合、メール・アドレスは「epub@akaato.com」になります。

ログインしたら、必要事項を入力してゆきます。10 分もしないうちに、ブログが作れます。

作ったブログの URL は「http://○○.blogspot.com」となります。しかし、せっかくドメインを取得したのですから、「http://your_domain.com」でブログを始めたくもありますよね。こういう独自ドメインでのブログ開設にも Blogger は対応しています。といっても、私は独自ドメインでブログを始めなかったのでやり方が分かりません。説明をしているウェブページを紹介しておきます。

解説用ページの紹介

一つブログを開設すれば、分からないことが沢山出てくるでしょう。公式チュートリアルの他、有志による説明ページが作られています。

Blogger の最新情報は、公式ブログ Blogger Buzz で発表されます。また、Blogger にはベータ機能を使うことのできる Blogger in draft というバージョンがあり、この draft 版で利用可能になった新機能は Blogger in Draft blog で発表されています。

ただし、両ブログとも英語で書かれています。日本人には少し敷居が高いですね。

クリボウさんという方が、Blogger の最新情報や使い方を説明したブログを作って下さっています。Blogger を始めたら、下記のブログをフィード・リーダーに登録しておくと良いでしょう。

Blogger を使っていて、分からないことがあったら、フォーラムに質問してみると良いでしょう。

Blogger 関連サービス

ブログを開始するとともに始めておくと良いサービスを紹介します。

日本国内の Blogger ブログの更新情報を集めているページです。このサービスに登録しておくと、貴方のページに「Japanese Bloggers Info」経由で誰かやって来るかもしれません。

なお、Blogger にはトラックバック機能がありません。「Japanese Bloggers Info」に登録しておくと、トラックバックを送信することができるようになります。

フィードを加工してくれるサービスです。記事投稿時に記事タイトルと URL を Twitter にツイートしたり、フィードの統計情報 (登録者数、フィードリーダー、クリックされた記事 etc.) をまとめる機能もあります。

Google が提供しているアクセス解析ツールです。Blogger にも簡易的なリアルタイム・アクセス解析機能がデフォールトで付いていますが、Google Analytics は高度なアクセス解析を行ないます。

おしまい

とりあえず、ドメインを取得して本ブログを (Google Apps 経由で) 作成するまでの流れを紹介しました。このブログは電子書籍 (特に ePub) に関するブログですが、Google Apps 経由でブログを開設したゆきがかり上、Google Apps の新機能についても書いてゆきます。どうぞ、よろしく。

2011年4月11日月曜日

Google Apps 版 Contacts が新インターフェースになりました

通常の Gmail で利用可能になっていた新インターフェースの Contacts が、Google Apps にもやって来ました。Gmail の Contacts からアクセス可能です。

Contacts - New Interface

新インターフェースの一番の魅力は、「ふりがな」を付けられる様になったことでしょう。この「ふりがな」は、ユーザーの検索の時にも使うことができます。

ref

Google Apps (無償版) 入門の入門

akaato.com ドメインを取って、Google Apps を始めました。

設定を一通り終えましたが、初めて使うサービスですので手さぐり状態です。私も初心者ですが、初心者なりに Google Apps の「入門の入門」記事を書いてみます。

コアサービス

Google Apps ではほぼ全ての Google サービスを使うことができます。その中でも、特に Google Apps で一括に設定できるコアなサービスがあります。

現在、そのコアなサービスは 6 つです。

  • Gmail
  • Google Calendar
  • Google Docs
  • Google Sites
  • Google Talk
  • Contacts

ダッシュボード

ダッシュボード (dashboard) に管理者アカウントでログインすると、使えるサービス一覧が表示されます。また、Google Apps 全体の設定を行なうことができます。

設定で重要なのは、ユーザー・アカウントの追加、グループの設定、コアサービスの設定の 3 つでしょう。

コア・サービスの設定は、ダッシュボードの「Service Settings」からサービスを選びます。

「Gmail」では、名前の表示を「姓、名」・「名、姓」で切り替えるオプションがあります。「Google Calendar」では、ドメイン外の人達にカレンダー情報を表示・改変させるオプションがあります。「Google Sites」には作ったページを Public にするオプションがあります。これらは一例です。詳しくは、実際に設定ページを開いてみて下さい。

コア・サービスへのログイン

コア・サービスへのログイン方法は 2 つあります。

1 つ目は、普通にサービスのログイン画面に行き、ユーザー名に「user@your_domain.com」と入力する方法です。

2 つ目は、Google Apps 用のログイン画面からログインする方法です。この場合、ユーザー名にドメインは入れません。つまり、ユーザー名は「user」と入力します。URL は以下の通りです:

コア・サービス以外へのログイン

普通にサービスのログイン画面に行き、ユーザー名に「user@your_domain.com」と入力すればログインできます。

参考サイト

2011年4月9日土曜日

「電子書籍 らくらくPACK」下書き無料公開

技術評論社は、2011 年 6 月に「電子書籍 らくらくPACK」という書籍を発売しようとしています。その発売に先駈けて、コンテンツの一部が無償配布されています。

上記ウェブページにアクセスして、名前とメールアドレスを送信すると、コンテンツをダウンロードすることができます。コンテンツは複数回に分けて配信される予定になっています。現在のスケジュールは以下の通りです (スケジュール通りなら、週明けに第二回の配信がありますね):

  • 3/28: (第一回) 電子書籍の基本を知ろう
  • 4/11: (第二回) 電子書籍を読んでみよう
  • 4/25: (第三回) 電子書籍作成の準備をしよう
  • 5/09: (第四回) 電子書籍を作ろう
  • 5/23: (第五回) 未定

書籍の内容

目次を読むところ、この書籍は三つの内容から成り立っているようです: 電子書籍の概説、Sigil による ePub 作成、テンプレートの紹介。

この中で目を引くのは「テンプレート」の存在です。どうやら、作者は良質の ePub 作成に足りないのは良質の素材とスタイルだと考えているようです。そこで、目的別の素材・スタイルを用意して「テンプレート」を作って配布するのでしょう。本書は、作者が自作した「テンプレート」の説明に一章が割かれています。

配布書籍を読む

ダウンロードしたファイルは zip で固められています。zip を解凍すると、ePub 形式・A4 の PDF・A5 の PDF と 3 種の電子書籍が現れます。

$ unzip ../ebook0325.zip
Archive:  ../ebook0325.zip
  inflating: 0325/第1回無料配信_0325.epub
  inflating: 0325/第1回無料配信A4_0325.pdf
  inflating: 0325/第1回無料配信A5_0325.pdf

iPad に ePub を入れて読むもよし、PC で PDF を読むもよし。環境に依存せず読むことができるでしょう。

配布形式について

発売前の書籍を、下書き・一部配布の形で公開するスタイルは面白いですね。予め書籍のレビューをもらうことができますし、宣伝効果も高いです。また、読者から発売前にフィードバックをもらえる可能性があります。そうすれば、誤りも少なくなりますし、文章を推敲することもできるでしょう。

こういうやり方を出版社が始めることに、電子書籍市場への明るい光を見る気がします。

関連サイト

2011年4月8日金曜日

ePub パックの Twitter アカウントをリストにしました

昨日、Toshiya TSURU さん作成の ePub pack (for Google Reader) を紹介しました。その記事の中で、Twitter フィードにいて次の様に書きました。

私はこのパックを登録した後、Twitter 関連のフィードを抜きました。理由は、Twitter の更新回数がブログの更新回数を大幅に上回っていて、ブログの記事を読むことが困難になったからです。代わりに、紹介されている Twitter アカウントを全てフォローすることで対処しました。

絳アト日記: Google Reader 用 ePub パック より引用

私と同じ様に 35 もの Twitter アカウントをフォローするとしたら、一仕事になるのではないかと思い Twitter のリストにまとめてみました。もし、よければご活用下さい。

それから、ePub パックの中には 7 つの「Twitter 検索」フィードが含まれています。これらの Twitter 検索のページへもリンクを張っておきます。

ウェブ・ブラウザーで上記リンクを辿ると、「この検索を保存」というボタンがあります。このボタンを押すと、Twitter クライアントから手軽に検索をかけることができます。

検索結果を Twitter でリスト化できるともっと楽になるのですが、そういう機能はないのでしょうか?

ともあれ、Twitter に関する事は Twitter クライアントに、ブログに関する事はフィード・リーダーに任す。という私針が立ちました。人によって情報集収のやり方は様々だと思うので、皆さんも色々試してみて下さい。この記事が、その試みの一助になれば幸いです。

2011年4月7日木曜日

Google Reader 用 ePub パック

Toshiya TSURU さんが、Google Reader 用の ePub パックを作って下さっています。

フィード・リーダーに Google Reader をお使いの方でしたら、「Subscribe」ボタン一発で、ePub に関する情報源を手に入れることができます。

EPUB パックの中身

EPUB パックには、2011 年 4 月 7 日現在、72 のフィードが登録されています。その内 35 のフィードが Twitter のタイムライン、7 つが Twitter Hashtag の検索フィードです。残る 30 がブログ系のフィードですね。

私はこのパックを登録した後、Twitter 関連のフィードを抜きました。理由は、Twitter の更新回数がブログの更新回数を大幅に上回っていて、ブログの記事を読むことが困難になったからです。代わりに、紹介されている Twitter アカウントを全てフォローすることで対処しました。

Google Reader に Twitter のフィードを入れておくと、後で Google Reader の「検索」機能が使えるというメリットがあるのですが、今回、私は可読性を重視しました。

ともあれ、EPUB 用のフィード・パックを作って下さった Toshiya TSURU さんに感謝です。

2011年4月5日火曜日

公開講座「電子書籍とウェブの表現力」開催日決定

公開講座「電子書籍とウェブの表現力」は、震災の影響により開催を延期していたそうですが、無事開催日が決定したとのことです。以下、イベント概要です。

仕様公開直後の ePub 3.0 の日本語組版について講議して下さるそうです。ePub に興味のある方は是非是非。

申込フォームへの入口は文字の学校公開講座 電子書籍とウェブの表現力のトップページにあります。

私は金欠状態なので、参加は控えようかと思案中です。。。

カウンター (1 週間目)

ブログを 3/27 に開始して、約一週間が経ちました。このブログの現状を書きます:

  • Feed Subscribers: 2
  • Twitter Follower: 1
  • Page View Count: 64

ページ・ビューは Blogger の統計機能の数字を参考にしました。このカウントには、最初の数日間、自分自身のページ・ビューもカウントしています。ですから実数は 50 程度でしょう。

一か月後には、これらの数字をもっと増やしたいものです。

2011年4月4日月曜日

EPUB3コンテスト開催 #epubcon

第一回「EPUB3コンテスト」が開催されます。

  • EPUB3コンテスト 第1回 - epubcafé
  • 目的: EPUB3についての正しい理解と、コンテンツの表示技術の向上
  • 内容: EPUB3で利用可能なCSSプロパティを使い、どんな作品を作り出せるか
  • 応募期間: 2011-04-01 〜 2011-05 末日
  • Twitter hashtag: #epubcon

具体的な内容は下記の通りです。

単純なレイアウトから、雑誌風の凝ったレイアウトまで、EPUB3でどこまで表現できるかを競います。EPUB3で利用可能なプロパティを利用していれば、縦書きにはこだわリません。著作権フリーの音声や映像の活用も歓迎です。

現時点では、EPUB3出版物を作成するのは難しいので、EPUB3出版物に含まれるEPUB content document (およびそこから参照されるCSS, SVG, MathML, JPEG, PNGなどのファイル)だけを対象とします。EPUB content documentとしてはHTMLとSVGがあります。

EPUB3コンテスト 第1回 - epubcafé より引用

主催がイースト株式会社、協賛がインプレス R&D、協力が日本電子出版協会。賞品は iPad2 WiFi 32GB モデルとのことです。

応募方法は、ePub 3 のドキュメントを作成して、コンテスト・ページから応募用リンクを辿り、必要事項を入力すればよいようです。

説明会

コンテストの概要説明と、EPUB content document について解説する説明会が開かれる予定です。

場所は代々木です。興味のある方は是非。

私は、4/5 は所用があり参加できませんが、4/12 は時間があるので参加しようと思っています。

2011年4月3日日曜日

Google Apps を始める 3 — Gmail の設定

復習

Google Apps を始める 1 — ValueDomain でドメイン取得akaato.com ドメインを取得しました。以後、akaato.com を貴方が取得したドメインに読み替えてお読み下さい。

Google Apps を始める 2 — Google Apps の登録 で akaato.com ドメインを Google Apps で使えるようにしました。

Gmail の設定

Google Apps の設定を終えただけでは、Gmail がまだ使えません。メール送受信のためには、MX レコードの設定を行ないます。MX は Mail eXchange の略で、メールの配送先を決定する時に使われる情報です。

Google Apps で Gmail を有効にする

Google Apps にログインして、ダッシュボードにアクセスします。

  1. Google Apps にアクセス
  2. 「ご登録済みの方はこちらからログイン」をクリック
  3. ドメインに「akaato.com」を入力、プルダウン・メニューで「このドメインを管理」を選択して「移動」ボタンをクリック
  4. ログイン画面が現れるので、Google Apps の管理者ユーザー名 (ドメインは不要) とパスワードを入力

ダッシュボードには「サービスの設定」と表示されています。

「メール」項目の「メールを有効にする」をクリックします。メールの設定方法がゴチャゴチャと出てきます。とりあえず、そのページを残したままにします。残りの設定は Value Domain で行ないます。Value Domain は別タブか別ウィンドウで開くとよいでしょう。

Value Domain で MX レコードの設定

Value Domain にログインし「DNSレコード/URL転送の変更」をクリックします。

「DNS 設定」の「設定フィールド」には、Google Apps の設定で書いた cname から始まる一行があるはずです。そこに追記する形で、以下のテキストをコピー & ペーストします。

mx aspmx.l.google.com. 10
mx alt1.aspmx.l.google.com. 20 
mx alt2.aspmx.l.google.com. 20 
mx aspmx2.googlemail.com. 30
mx aspmx3.googlemail.com. 30
mx aspmx4.googlemail.com. 30
mx aspmx5.googlemail.com. 30
txt @ v=spf1 include:_spf.google.com ~all

(この 8 行は Google Apps + 独自ドメインで自分だけのメールアドレス の設定をそのまま使わせてもらいました)

設定を保存したら、Google Apps に戻ります。

最後の一押し

Google Apps のページに戻ったら、「指定された手順を終了しました」ボタンをクリックします。以上で作業は終了です。

スクリーンショットの様に、最大 48 時間待つ必要があります。

Google Apps の Gmail 画面にアクセスする

Gmail にログインするには 2 通りの方法があります。

  1. 普通に Gmail のログイン画面に行きユーザー名とパスワードを入力する。ただし、この時、ユーザー名は「ユーザー名@akaato.com」と入力する
  2. http://mail.google.com/a/akaato.com にアクセスし、ユーザー名とパスワードを入力する。この時、ユーザー名にドメイン名は付けない (URL の末尾 akaato.com は貴方のドメイン名で置き換えて下さい)

Gmail にログインできたら、自分なりに設定をいじりましょう ;)

なお、Google Apps の Gmail は、一般の Gmail と比べて新機能の利用可能時期が遅れることがあります。

参考サイト

2011年4月2日土曜日

Google Apps を始める 2 — Google Apps の登録

Google Apps を始める 1 — ValueDomain でドメイン取得 の続きです。

復習: akaato.com というドメインを取得しました。

Google Apps 無料版を始める

本エントリーでは、Google Apps の無料版を始める手順を紹介します。

まず Google Apps のページにアクセスします。Google Apps には複数のラインナップがあります:

  • Google Apps
  • Google Apps for Business
  • Google Apps for Education
  • Google Apps for Government

個人で使う場合は、無料版の「Google Apps」を使います。注意すべきは、Google Apps のトップページは「Google Apps for Business」用のページになっていることです。

(画像をクリックすると拡大します)

サイドバーに「その他のラインナップ」という項目があります。その中から「Google Apps」をクリックします。

ページが遷移したら右上に「開始方法」というボタンが見つかります。それをクリックします。

ドメイン名の入力画面が現れます。自分が持っているドメイン名を入力します。私の場合、前回のエントリーakaato.com ドメインを取得したので、「akaato.com」と入力しました。ドメイン名を入力したら、「次へ進む」です。

Google Apps (無償版) の申し込み画面です。

「アカウント管理者」の情報を入力します。名・姓・メールアドレス・電話番号・国地域を入力します。これらは必須項目です。役職は個人利用の場合、入力しなくても構いません。次に「ドメインの DNS レコードを変更できない場合、組織で使用できる Google Apps の機能に影響する場合があることを理解します。」にチェックを入れます。

続けて「組織の情報」を入力します。私は組織名を「akaato」、タイプを「プライベート」、組織の規模を「6〜10」、組織内で現在メールアカウントを提供していますかに「いいえ」、Google のセールスチームのサポートはありましたかに「いいえ」と答えました。

入力を終えたら「次へ進む」を押します。

管理者アカウントを設定します。この項目は必須です。ユーザー名・パスワードを入力します。画像に表示された文字を入力して、利用規約に同意したら、「同意して設定を続ける」をクリックします。

Google Apps とドメインを結び付ける

今までの設定で、Google Apps に利用ドメインを教えました。しかし、ユーザーが他人のドメインを設定しようとしているのかどうかが Google には分かりません。そこで、貴方のドメイン (私の場合 akaato.com) が自分所有のドメインであることを証明します。

ダッシュボードが現れます。ダッシュボードとは、「akaato.com の CNAME レコードを変更」にチェックを入れて「次へ」進みます。「akaato.com」の部分はご自分のドメイン名で読み替えて下さい。

項目の 2 つ目にある文字列をコピーしておきます。ここでは仮に「googleffffffffffffffff」としましょう。

文字列をコピーしたら、Value Domain にログインします。この時 Google Apps のページは残して、別タブか別ウィンドウを開いて作業を進めると良いでしょう。

Value Domain にログインしたら、ユーザーコントロールパネルから「取得済みドメイン一覧 > DNSレコード/URL転送の変更」をクリックします (オレンジ色の部分のリンクです)。

DNS 設定画面です。ここに先程コピーした文字列を次の様に入力します。

cname googleffffffffffffffff google.com.

「googleffffffffffffffff」の部分は貴方の Google Apps が表示した文字列をお使い下さい。「google.com.」の最後に「.」(ピリオド) を忘れないよう気をつけて下さい。また空白は全て「半角スペース」を使います。

以上で Google Apps が貴方のドメインを認めてくれる様になったはずです。Google が確認作業を終えるには少々時間がかかります。気長に待ちましょう。

少し時間を置いて Google Apps のページに戻ります。

「http://googleffffffffffffffff.akaato.com」というリンクをクリックしてみます。http://www.google.com に飛べば OK です。「上記の手順が完了しました」をクリックします。

これで Google Apps を akaato.com (貴方のドメイン) で使うことが出来る様になりました。

次は Gmail の設定を行ないます。

参考サイト

2011年4月1日金曜日

CAS-UB — オンライン PDF/ePub 作成サービス

先日、「ePub3.0 標準化の行方」セミナーに参加しました。内容は以下の通りです:

  • 第一部: ePub 3.0 仕様の行方
  • 第二部: 紙と電子のハイブリッド出版を実現する汎用書籍編集・制作サービス
  • 第三部: 今後の計画とサービス体系

このうち、第一部の内容とセミナー全体の概要は過去エントリーに書きました。ご参照下さい。

本エントリーでは、第二部と第三部で紹介されたサービス「CAS-UB」の内容を紹介します。

CAS-UB

CAS-UB はオンライン型の文書編集サービスで、PDF と ePub を出力することができます。現在はアルファー版で、一般公開・テスト公開はしていないとのこと。今回のセミナーでは、その機能の一端を見せて頂き、今後の展望を伺いました。

現状

ePub の規格は公開されているため既に ePub 作成ソフトは幾種類も開発されている。しかし、販売流通系体が完成していない (特に日本)。そのため、ePub のみの販売は難しい。現実を鑑みれば、書籍と電子書籍の両方が同時に発売される様想が一定期間続くのではないか。

そのためには同じデータから書籍と電子書籍の両方を作れると便利。ただし、書籍と電子書籍には大きな隔たりがある:

解像度 縦横比 文字サイズ レイアウト ページ数
書籍 不変 不変 不変 崩れない 変化しない
電子書籍 端末依存 端末依存 可変 流動的 不定

現在、書籍作成で最もよく使われている (?) ツールは Adobe InDesign。このツールは書籍用に PDF を作成する。また、ePub 出力機能もある。しかし、InDesign の ePub 出力機能は不完全 (レイアウトが崩れる、文脈が入れ替わる)。上記の電子書籍 (ePub) への対応は遅れていると言わざるを得ない。

CAS-UB が解決する
  • 文章構造とスタイルの分離を明確化
  • PDF を作成
  • ePub もスタイルを変更して作成
  • 普通に HTML で出来ることは過不足なく行なう
  • 対応: 強制改ページ・整形済みブロック・注釈・リンクとアンカー・ID と参照・索引・ルビ・インクルード
  • 自動作成: 目次・表目次・図目次・索引・後注・章/表/図番号 (一部機能は PDF 版のみ実装済)

CAS-UB のクラウド指向は次の通り:

  • ブラウザーのみで共同作業 (Google Docs みたい)
  • 履歴の保存・参照 (現在は Subversion を利用)
  • データはデータ・センター上 (現在は Nifty を利用)
  • バックアップ/リストア対応 (ローカル PC にデータをダウンロード/アップロード)

今後の計画とサービス体系

「今後の展望」で特に気に入ったのは以下の項目です。

  • 高品質フォントの組み込み
  • 共同編集機能の強化
  • ePub 3.0 出力
  • 英語対応 (海外展開を視野に)

CAS-UB は商用サービスということで、予定としては二種類のサービス料金を用意するとのことです。

対象 最大人数 データ領域 料金 利用制限
商業出版社、企業、団体 10 人 50 GB 約 70 万円/年 なし
グループ、NPO 5 人 25 GB 約 25 万円/年 あり

リリース時期は、企業向けが 2011 年 6 月・個人向けが 2011 年内とのことです。

感想

実際に使ったわけではないので、コメントは難しいです。私自身は LaTeX を嗜み、ウェブ・ページは HTML 要素直書き派なので、WYSIWYG 環境は (Google Docs 含めて) もどかしさを感じます。そういう意味でも、私は CAS-UB の対象者から外れてコメントには不適切者だと思います。LaTeX をベースにして、PDF と ePub を作るウェブ・サービスがあると一番良いのですが、ニッチ過ぎるのでしょうね。

サービス体系に対しては、「グループ向け」の対象者が定まっていない様に思いました。個人というと、高校生の部活や大学生サークルを思い浮かべますが、彼らが本を作るのに年間十万円以上の出費をすると思えません。まして試用版なしでは厳しいと思います。個人で本を書いている人は、「グループ向け」は使わないでしょう。彼らはおそらく契約している出版社からサービス提供を受けるのではないでしょうか? ツールが良くても、このままではマーケティングに失敗する気がします。

素人考えですが、CAS-UB から ePub を販売できないものでしょうか? サービス提供のため、既に課金システムが動いているわけですから難しくないはずです。個人向けには、Apple がやっている様に、電子書籍代の 30% を取る様にすれば利用者のハードルも下がるでしょう。そして PDF 版をオプションにして、年間契約にする方が良いのではないでしょうか?

最後に InDesign の ePub 不具合について。セミナーの中で、「電子書籍の作り方」という本が、InDesign を使って ePub を作るための複雑な手順 (各種ツールを使う) を説明している と紹介されていました。この本は、先日読み終わったばかりなので、近いうちにレビューを書きます。

電子書籍の作り方 (PCポケットカルチャー)
境 祐司

477414505X
技術評論社 2010-12-09
Amazonで詳しく見る
by G-Tools