IMAGEDRIVE

サイトを作りつつ記事を投稿

by

iBooks向けにEPUBで埋め込みフォント(TTFやSVG)を利用する際に、P要素の中にCITE要素を追加して、CITE要素にフォント指定(font-family)をしなければ上手に表示できなかった。(正確にはfont-familyの指定が無効になっており、フォントの指定ができなかった)

例)

<p class="bodytext">...</p>
.bodytext {
font-family:'hoge font';
}

上記の方法では埋め込みフォントの適用ができず、

<p class="bodytext"><cite>...</cite></p>
.bodytext cite {
font-family:'hoge font';
}

のようにフォントを指定したい内容をCITE要素で包む必要があった。

しかし”Pigs, Gourds, and Wikis”のEmbedding Fonts in EPUB- iPad, iPhone AND nookの記事を見るといつの間にかxmlファイルを追加することで解決できるみたい。

方法はまず、com.apple.ibooks.display-options.xmlなるファイルを作成し、中に

<?xml version="1.0" encoding="utf-8"?>
 <display_options>
  <platform name="*">
   <option name="specified-fonts">true</option>
  </platform> 
</display_options>

と記述する。

このファイルを文字コードをUTF-8(BOM無し。いわゆるUTF-8N)、改行コードLFで保存し、META-INFディレクトリに格納。

あとは普通に@font-faceとfont-familyでフォント指定をしたらOk。

ちなみにepubcheckでもエラーにはならない。Appleの独自拡張なので対応できてないのか無視してるのか、そもそも問題ないのかは不明。

とりあえずフォントを指定したいがために、CITE要素を追加するのは嫌なのでフォントを指定したいiBooksにも対応したEPUBは上記方法で良いのでは。

  1. imagedriveの投稿です