ラベル EPUB の投稿を表示しています。 すべての投稿を表示
ラベル EPUB の投稿を表示しています。 すべての投稿を表示

2012年2月27日月曜日

EPUB : 埋め込みフォントの使い方

Adobe系のEPUBリーダーでは、埋め込みフォントを使って指定してやらないとエスペラントの字上符付き文字が正常に表示されないことは前に書いた。

で、その指定の方法だが次の手順でやる。(Sigilを使う場合)
1.使用するフォントファイルをFontsフォルダー配下に置く。仮にSerif系4書体とMonospace1書体とする。LiberaEoは架空のフォント名である。

LiberaEo_Serif.ttf
LiberaEo_Serif_Italic.ttf
LiberaEo_Serif_Bold.ttf
LiberaEo_Serif_BoldItalic.ttf 
LiberaEo_Mono.ttf 

2.Stylesフォルダー配下にスタイルシートを新規作成して、次のように記述する。
 @font-face {
  font-family: "LiberaEo Serif", serif;
  font-weight: normal;
  font-style: normal;
  src: url(../Fonts/LiberaEo_Serif.ttf);
}

@font-face {
  font-family: "LiberaEo Serif", serif;
  font-weight: normal;
  font-style: italic;
  src: url(../Fonts/LiberaEo_Serif_Italic.ttf);
}

@font-face {
  font-family: "LiberaEo Serif", serif;
  font-weight: bold;
  font-style: normal;
  src: url(../Fonts/LiberaEo_Serif_Bold.ttf);
}

@font-face {
  font-family: "LiberaEo Serif", serif;
  font-weight: bold;
  font-style: italic;
  src: url(../Fonts/LiberaEo_Serif_BoldItalic.ttf);
}

@font-face {
  font-family: "LiberaEo Mono", monospace;
  font-weight: normal;
  font-style: normal;
  src: url(../Fonts/LiberaEo_Mono.ttf);
}

body {font-family:"LiberaEo Serif",serif;}

@font-face内で使用するフォントファミリー名は任意の名称でよい。ここに書いたフォントファミリー名を以下のスタイルシートや .xhtmlファイル内でフォント指定する際に使うことになる。

3. Textフォルダー配下の.xhtmlファイルを開き、head要素の配下に先のスタイルシートへのリンクを記述する。

<link href="../Styles/Style0001.css" rel="stylesheet" type="text/css" />

以上の手続きにより、本文のデフォルトフォントは "LiberaEo Serif"になった。<em>タグや<strong>タグを使うことでイタリック体やボールド体を指定することができる。またモノスペースのフォントを使いたいときは"LiberaEo Mono"という名称で指定すればよい。

2012年2月23日木曜日

EPUB電子本でのエスペラント表示

EPUB形式の電子書籍でエスペラントの字上符付き文字の表示はどうなっているか。

結論から言うと、リーダーに依存する。
iBooks (iOS)、Callibre、EPUBReader (Firefox) では特別なことをしなくても、UTF8でテキストを作成しておけばそのまま字上符付き文字が正しく表示される。日本語表示も問題ない。
Adobe Digital Editions、SonyReader では何もしなければ、字上符付き文字は ? で表示される(e?o?an?o ?iu?a?de といった具合)。また、日本語表示も"????????????????"となって全滅状態。
原因はEPUB文書を解釈して表示するレンダリングエンジンの違い。前者は Webkit、後者は Adobe製のレンダリングエンジンを使っているとのことである。

まず日本語表示に関しては、「xml:lang="ja"」を日本語表示が必要な .xhtml ファイルの <html> タグに埋め込んでやればよい。
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
こうしておけば、日本語が正しく表示されるようになる。ただしリーダー自体に(パソコン上のリーダーはパソコンに)日本語フォントがインストールされていることが条件となる。

これにならってエスペラントの表示には「xml:lang="eo"」を埋め込んでやればよいのでは、と考えたのだが。
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="eo">
としても Adobe系のリーダーでは無効のようである。

最終的には、字上符付き文字を含むフォントをEPUBファイルの中に埋め込んでやらなければならない。ここで注意しなければならないのはフォントの著作権である。作成した電子書籍を大勢の人に配布するには、そのような使い方を許諾しているフォントを持ってくる必要がある。いわゆるフリーフォントである。細かく言うとフリーフォントと呼ばれるものの中にも許諾条件が微妙に異なるものがあって要注意である。

ネット検索してみると、いくつか候補が見つかった。
・Liberation fonts (Liberation Sans, Libereation Sans Narrow, Liberation Serif, Liberation Mono)
https://fedorahosted.org/liberation-fonts/
フォント埋め込み例外付きのGPLライセンスで提供されている。このフォントを埋め込んだだけで著作物が自動的にGPLライセンスになることはない。FELのEPUB電子書籍やEPUB版Monatoが使っている。

・ParaType - Public Type Project (PT Sans, PT Serif, PT Mono)
http://www.paratype.com/public/
ParaType Free Font Licensing Agreement の趣旨によれば、EPUBに埋め込んで使う分には何の問題もない。キリル文字を含んでいるのでファイルサイズがやや大きい。ロシアのSezonojの電子書籍がこれを使っている。


・SudEuro Fonts (Ariel SudEuro, Ariena SudEuro, ArielSudEuro Black, Bookman SudEuro, Courier SudEuro, Garamond SudEuro, Times SudEuro, Verena SudEuro)
http://www.unity.talktalk.net/BE/esperanto/espfonts.htm
パブリック・ドメインなのでライセンスの問題は無い。ファイルサイズがとても小さい。エスペラントを含むラテン系の特殊文字を利用できるが、一部の句読記号が入っていないので注意が必要。

結局さくら文庫のEPUB版に埋め込むには、ファイルサイズと収録文字種の兼ね合いで Liberation fonts がよいという結論に至った。他にもいくつか使えそうなフォントはあるが、もう少し調べてみないとはっきりしたことは言えない。

2012年2月11日土曜日

Mirinda Ĉapelo: EPUB電子本を作ってみる

さくら文庫で最近公開した "Mirinda Ĉapelo" をEPUB形式の電子書籍にしてみた。

■必要な道具類
  • EPUBエディター "Sigil" (フリーソフト) http://code.google.com/p/sigil/
  • EPUBリーダー1 iBooks(iPad用のアプリ)
  • EPUBリーダー2 SonyReader(PRS-T1)
  • EPUBリーダー3 EPUBREADER(Firefox用のアドオン)

フリーのEPUBエディターはこれ(Sigil)だけしかないみたい。WYSWYGでやれることは多くないが、XHTMLとCSSのソースコードが書ければひと通りのことは何でもできる。そんな感じのソフト。
EPUBリーダーは一つあればいいのかも知れないが、今回試してみてそれぞれに独自の癖があることがわかったので、複数の機器で見え方を確認するのがよい。

■素材

 ■予備知識・参考情報

 ■手順
  1. "Mirinda Ĉapelo"をブラウザに表示させる。
  2. Sigilを起動。新規作成の状態で、1ページ目(Section0001.xhtml)が白紙で中央パネルに表示。
  3. この白紙にブラウザから1ページ目にしたい分をコピー&ペースト。 
  4. 左側パネル(Book Browser)のTextフォルダを右クリックし、"Add New Item"を選択。
  5. Textフォルダ下に2ページ目(Section0001.xhtml)が作成されるので、アイコンをダブルクリックして中央パネルに表示(当然白紙状態)。
  6. この白紙にブラウザから2ページ目にしたい分をコピー&ペースト。
  7. 以下必要なページ数分だけ上記作業を繰り返す。
  8. いくつかの文字飾りがWYSWYGで可能(Book View Mode:デフォルト)。太字、斜体、下線、消し線、左寄せ、右寄せ、中寄せ、両端揃え、見出しの大きさ。これ以外のことは Code View Mode にして XHTMLソースにタグ付けをしなければならない。タグ付けの効果は Book View Mode に切り替えて確認できる。
  9. 最後までできたら、名前をつけて保存する。"xxxxxx.epub" というファイルが作成される。

■確認作業
  • 完成したEPUBファイルをそれぞれのEPUBリーダーで表示させてみる。
  • 上記手順で作成したファイルは iBooks と Firefox ではうまく表示されるが、SonyReaderでは字上符付き文字が?に文字化けしてしまう。 対処法は別の記事で。

■その後の作業
  • 画像付きの表紙を作成する。
  • 目次を作る。
  • SonyReaderその他のリーダーで字上符付き文字を確実に表示させるために、EPUBファイルにフォントを埋め込む。
  • SonyReaderで日本語を表示させる方法。
これらについては別の記事で。

実際にEPUB書籍を作ってみて分かったことは、レイアウトに関して作成側がいろいろ指定したことでも、リーダー側で変更されてしまうということ。例えば見出しの中寄せ指定は iBooks では無視されて左寄せで表示される。iBooks はEPUBの埋め込みフォントを無視して、自前のフォントの中から読者に選択させる。言い換えると、大ざっぱに作ったEPUBでも iBooks は一定水準以上に見た目よく表示してくれる。逆に SonyReader はデフォルトでの表示機能が乏しい。EPUB作成側がいろいろ細かく指定してやらないと見た目が良くならない。EPUB作成者としてはこれらのことを念頭に置いて作成する必要がある。