2012年3月6日火曜日

ValueDomain でドメインを更新しました

ブログを始めて、早いもので一年が経ちました。

このブログの 2 つ目のエントリーは ValueDomain でドメイン名 akaato.com を取得するお話でしたが、一年を経て ValueDomain さんからドメイン更新手続きのメールが届きました。そこで、2 年分の利用料をクレジット・カードで決済しました。これで Google Apps もあと 2 年使えるというものです。

さて、ePub3 ビューワーが出て来ません。おかげで、ブログを書くモチベーションが上がりません。とはいえ、このまま何も書かないでいるのも悲しいものです。これからは、せめて月一程度のブログ更新を目指したいと思います。どうぞよろしく。

過去エントリー

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 属性は要らないのではないか? と疑問に思ったのです。そこで、チュートリアルを書いたイースト株式会社の中の人とメールのやりとりをしました。

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

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