KDP(電子出版)のメモ 急急如律令

Amazon Kindleダイレクト・パブリッシングでの電子出版や電子書籍の作成販売について、文章やイラストの作成や編集方法について書いています。

広告

今までに出版した電子書籍

Amazon.co.jp: 急急如律令: Kindleストア

 

でんでんコンバーター互換ソフト製作記

 固定レイアウトのEPUBを作成するのはもうやったので、リフローでも作ろうかなと前から調べていたのだが。でんでんコンバーターでサーバーが止まってたりしているので互換性があるものをまず作ってみてから、他にリフローで特徴的なものを作ろうかと思っている。一週間ぐらいで自分が使うところはできそうだが、結果的に自分用になるかもしれん。

github.com

 でんでんコンバーターはマークダウン形式に独自の拡張をしているようで、単純にマークダウンパーサーに投げて、HTMLで受け取ってテンプレつけてZIP圧縮すればそれっぽいものができるだろうという予測。ただ実際に作っている段階でルビでモノルビとグループルビの切替。ページ分割するなどのようそのままマークダウンパーサーを拡張するだけでは、難しい部分もありそうだ。

 なので、変換を後回しにして使いそうな注記だけを先に実装してEPUB出力機能だけを作ってしまおうかと考えている。

 

www.npmjs.com

node.jsに慣れて無くてブラウザで動かしているので、markdownパーサーがmarked.jsを使っているがnode.jsに慣れたらmarkdown-itにパーサーをかえるかも。markdown-itはフロントで動くライブラリが配布されていない。

qiita.com

 でんでんコンバーターの出力されたEPUBをみたが特に難しそうなところはなかったので、fixedepub3jsで使ったのを流用するだけでマークダウンからの変換以外はすぐにでもできそう。prefixにibooks用の指定があったので、namespaceのxmlの書き換えに苦労するかも。縦書き横書きの切り替えをどうしているのか、ymlやエディターとかの兼ね合いはよくわからない。どういう収益構造になっているのかわからないので、どう公開するかも悩むところではある。

 EPUBの出力で、サーバー側で処理するタイプ、アプリケーションとして配布するタイプに大別されるが、ファイルサイズが大きくなるとサーバー側の負荷が多くなって。サーバー費用の負担が大きくなるのではと思っている。

 PHPとPerlとRubyの他にもいろいろな言語があるけれど、負荷の面を考えると。何らかの有料化をする必要があるのでは。

 私の場合は静的ウェブのウェブアプリなので、ファイルを置いてダウンロードして実行するタイプで一番カネがかからないが。ある種課金には一番向かない方法のように思う。

EPUBが作れるクローム拡張を作ってみた

 

 えー久しぶりにクローム拡張を作って見たところ、結構どうやっていたかを忘れていてちょっとどまどったりして。あんまり作っていないと作り方忘れてしまうね。クローム拡張はブラウザに常駐しているので、ネイティブアプリ感覚で呼び出せるのが良いのだけれど。実際ユーザー数は増えていないので機能をいっぱいつけて試す場にしてみよう。

chrome.google.com

 前に作ったブラウザでEPUBが作れるページの移植版で。JSで圧縮までしているのでネットに繋ぐ必要がなくなってます。ブラウザの時からオンラインでなくてもよかったがCDNを利用していたので、オフラインで動くか微妙であった。ただ今回のは、ライブラリも全部入れているのでオフラインでも動く。

 

kyukyunyorituryo.github.io

 クローム拡張にしようと思ったのは多言語対応を考えると、外国からのアクセスしやすいところのほうがいいかな。単純にウェブページにするとページ全体を英語化したりしないといけなさそうなんで、だったらクローム拡張の場だけ英語化すればいいじゃないか。

qiita.com

easyramble.com

gihyo.jp

本体全部と使い方のページまで含めているのでサイズが1.8メガバイトもある。そろそろ電子書籍にして出してみようかなと思います。

  前のときはKindle用だったが、他のサイトでも売れるようにとかを考えて書いてみようと思う。だいぶ重複するところも出てくるだろうが、基本的にはEPUBを作るところはサクッとして書いてみる。

漫画の電子書籍の作り方?Kindle Comic Creatorを使って作成
 

  他にはEPUBを作るプログラムについてもまとめて電子書籍化してみようと思う。プログラムを作る時にいろいろ調べてみたが、あんまり参考になるページがなかったので、JAVASCRIPTでEPUBプラグラミングみたいな本ですかね。

 圧縮はJSZIP、XMLはDOMで、速度優先するために素のjavascriptでみたいな。

 

電子書籍の対応言語を考える。

 EPUBの多言語対応をしようと思ったのだが、言語コードを全部入れるのは選択が大変そうなので、配信サイトが対応している言語を調べてそこから選択する。ネイティブスピーカーの数が多い主要言語と端末で使える言語が違っているようだ。

 ヒンディー語、ベンガル語はネイティブスピーカーの数が多いが対応していない。タブレット端末やPCだけであるiBooksでは対応言語が多い、それに対して、Kindleは少なめになっている。

 なんでこういうことをするかというとEPUBで言語設定を切り替えるのに。

<dc:language>ja</dc:language>

この部分を書き換えるだけでできるが、どの言語を選択するかをあらかじめ考えておく必要がある。多すぎると選択するのも大変そうだな。

Amazon.co.jp ヘルプ: 端末のメニューの言語を変更する

端末のメニューで使用する言語は、次から選択できます:日本語、英語(アメリカ、イギリス)、フランス語(フランス、カナダ)、ドイツ語、イタリア語、スペイン語、ブラジル・ポルトガル語、中国語(簡体字)、ロシア語、オランダ語。

 

iBooks - Wikipedia

英語、アラビア語、カタルーニャ語、中国語、クロアチア語、チェコ語、デンマーク語、オランダ語、フィンランド語、フランス語、ドイツ語、ギリシャ語、ヘブライ語、ハンガリー語、インドネシア語、イタリア語、日本語、朝鮮語、マレー語、ノルウェー語、ポーランド語、ポルトガル語、ルーマニア語、ロシア語、スロバキア語、スペイン語、スウェーデン語、タイ語、トルコ語、ウクライナ語、ベトナム語

 

言語コードと国コード

ネイティブスピーカーの数が多い言語の一覧 - Wikipedia

ISO 639言語コード - CyberLibrarian

EPUBの多言語対応を調べてみた

  EPUB作成サイトを作ったので、いっそのこと海外の販売サイトでも売れるように多言語対応を考えてみた。そしてサイト自体も英語版も作ろうかなと考えておった。

 EPUBの言語指定はどのようにやっているのかをIDPFのepub3サンプルを見ながら確認した。実際に作ってみて動くか試そう、KindleとkoboとiBooksその他はどんなのがあったかな。

github.com

フランス語の固定レイアウトのEPUBを例にして調べる。

opfの<dc:language>fr</dc:language>はフランス語に指定してあるが。xmlのlang指定は英語とフランス語であった。このxmlのlang指定は日本語であってもいいのだろうか、英語のほうがいいのだろうかと悩んではいる。

nav.xhtmlのlang="fr" xml:lang="fr"

 

github.com

FixedEpub3JSの使い方

説明

 漫画や写真集などの画像が主な固定レイアウトのEPUBを簡単に作れるサイト。ファイルサイズの上限はPCやブラウザに依存し、私の環境では200MBまでは試した。画像ファイルの数は999枚以下、ブラウザはchromeを推奨。

kyukyunyorituryo.github.io

 

使い方

画像形式はJPGとPNGにしていて混在も可能。画像サイズは表紙も含めてすべての画像が同じサイズであることを前提に作っている。

  • 見開きページは分割する必要がある。
  • 見開きページ位置を調整するには白ページなどを適宜入れてほしい。

見開きの確認はEPUBビュワーで確認してほしいが。右綴じの場合に奇数ページが右、偶数ページが左のページになる。

 本のとじ方向

 本のとじ方向は通常の漫画では右綴じである。電子書籍端末で右綴じの場合に端末の左端をタップすると次のページをひらく。もしくは左から右にスワイプする。綴じ方向は見開きにした場合に、右綴じでは、右側から左側にページが並ぶ。左綴じでは左側から目右側にページが並ぶ。

f:id:kyukyunyorituryo:20170811003318p:plain

 パネルビュー

 Kindle端末で画面をダブルタップした時に画像が拡大される。その拡大された表示の移動方向を指定する。通常の右綴じ漫画であれば、右上、左上、右下、左下と移動する。四コマの場合は、右上、右下、左上、左下と移動する。左綴じの場合は左上から移動が始まる。

f:id:kyukyunyorituryo:20170811003140p:plainf:id:kyukyunyorituryo:20170811003213p:plain

本の情報の入力

  • タイトル名
  • 著者名1
  • 著者名2

著者名は2つ入力できるが著者名2は入力しなくても問題がいない。

表紙画像

表紙画像でファイル選択をクリックすると、画像選択するウィンドウがひらく。ファイル形式はJPGとPNGに制限しています。表紙画像を選択するとその下の、画像の横幅と高さも自動で設定される。手動でサイズを変更することもできる。

本文ファイルの読み込み

 本の内容の画像を複数ファイルを一括で読み込む。HTML5の使用の問題でファイルの読み込まれる順番がランダムになっている。画像の整列をクリックしてファイル名順に整列してほしい。画像ファイルが読み込まれると小さく画像が表示される。その小さい画像をクリックすると拡大して表示ができる。ファイル名順ではファイル名が1、3、11だと 1、11、3と整列されるので001、003、011のように数字の桁合わせをする必要がある。

 Android端末では、画像ファイルは一括して読み込むことができず、ひとつづつしか追加できない。iOS端末ではファイルの出力ができない。ともにOSの問題であり、パソコンでは動作する。推奨するブラウザはクローム。

目次の編集

 EPUBの目次とはタップすることでそのページにジャンプする機能。利用方法として

表紙、目次ページ、人物紹介、第一話、第二話、奥付などを目次に入れる。

 

 目次の編集画面ではCoverの右側が目次に表示される表紙の名前。表示する名前をかることができる。

 本文の選択となっているところが、本文の画像ファイルを読み込むと画像ファイル名に変わる。画像ファイルを選び、画像につける目次の内容を決める。

追加をクリックすると目次を増やせる。

 ファイルの出力

 保存をクリックするとEPUBがダウンロードされる。このサイトはサーバー側で処理しているわけではないので、画像ファイルはアップロードされない。ブラウザでファイルを生成しているがファイルの保存機能はブラウザのダウンロードを利用している。本来はオフラインでもスクリプトをダウンロードすれば動くはずだが、CDNを利用しているのでいったんネットに繋ぐ必要がある。

利用条件

 kobo、ブックウォーカー、Kindle、iBooksなどで個人でのEPUBでの入稿を目的として作った。

 サイトは維持費はかからないようにGitHub Pagesで公開している。シェアーウェアにするかオープンソースにして寄付に頼るか、広告をはるか決めかねている。ほしいものリストを公開しているので儲かったらくれるとありがたい。

www.amazon.co.jp

EPUBビュワー

EPUBビュワーとしてBiB/iを設置しているが、EPUB3の固定レイアウトに対応しているビュワーなら問題ない。クロームアプリのReadiumもある。EPUBビュワーで確認してほしいのは見開きや、目次の表示。

chrome.google.com

bibi.epub.link

 JSライブラリ

 本来はjavascriptライブラリを作ることを目的として作っていたが、早く作ることを優先した。名前の付け方がjavascriptライブラリっぽい付け方になっているのはそのためだ。javascriptライブラリは特定の機能をひとまとめにしたもの。 

 今のところサイト専用のライブラリになってしまって汎用性がない。例えば、汎用化するには、タイトル、著者名、目次、画像などをオブジェクト化してライブラリに渡すようにすべきだろうと思う。またテンプレートも外部ファイル化して編集しやすくすべきだろう。そういうことが全くできてない。

 そうすればサイトにfixedepub3.jsを読み込めばサイト上からEPUB3を生成できるようになる。