ラベル フォント の投稿を表示しています。 すべての投稿を表示
ラベル フォント の投稿を表示しています。 すべての投稿を表示

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 がよいという結論に至った。他にもいくつか使えそうなフォントはあるが、もう少し調べてみないとはっきりしたことは言えない。