神楽坂さんのツールとEpub

文字数 3,697文字

神楽坂先生のツール、おもしろいですね。素晴らしいツールの公開、ありがとうございます。

すみません冒頭から意味不明で……神楽坂らせん先生の
もしも経験のない女子高生がトーク作品をEpub化して電子書籍にしてしまったらの事です。まずは、そちらをご一読下さい。このtalkmakerの作品を、AMAZONでダイレクトパブリッシングするためのpython scriptのお話です。

今のところ、talkmakerならではの、折角の〝セリフ吹きだし(balloon)〟が削れて消えてしまう仕様なのですが、それはさすがに惜しいので、私も少しだけ、どうやったらソレっぽくなるか?――を考えてみました。テキスト背景に色をつけるぐらいなら、今まで取った杵柄(推定:東京ドーム3.5個分)で何とか実装できました。



しかし

floatの回り込み処理は鬼門……。float崩れで時間をとりました。適当にやるとダメっすね、色々と。

回り込みっていうのは……

絵絵 こんに
絵絵 ちは私
はカツヲ君で
す。

……ってやつで、希望としては、このページのように、アイコンの下に文字が回り込まない方が良い訳です。

絵絵 こんに
絵絵 ちは私
   はカツ
   ヲ君で
   す。

↑↑↑↑↑↑これを目指す訳です!
 神楽坂先生のツールを使うとstyles_epub.cssの最後の方は、iconLとiconR、iconClear のスタイル記載で終わっていると思うのですが、iconLから下を、以下のように書き換えます。(神楽坂先生はアイコン幅30%指定なのに……10%にしてゴメンなさい。Fireとか画面細くないですか?)

 念のため、事前にバックアップを取ってから、自ら責任でお願いします。このサンプルを試していかな悲惨な目にあっても、私(谷川)は責任は取りません(断言)。

 うまくいかなくても、時間があれば相談ぐらいは乗りますが……。

.iconL {
    float: left;
    padding-top: 2%;
    padding-left: 2%;
    padding-right: 2%;
    padding-bottom: 2%;
    text-align: center;
    display: inline;
    width: 10%;
}
.iconR {
    float: Right;
    padding-top: 2%;
    padding-left: 2%;
    padding-right: 2%;
    padding-bottom: 2%;
    text-align: center;
    display: inline;
    width: 10%;
    /* 10+2+2=14% */
}
.iconClear {
    clear: both;
}

.fukiL {/* 吹き出しが左側にあるスタイル */
    float: left;
    padding-top: 2%;
    padding-left: 2%;
    padding-right: 2%;
    padding-bottom: 2%;
    text-align: left;
    display: inline;
    width: 81%;
    background: rgb(255, 235, 235);/*←適当な明るい色 例えばpink */
    /* 81+2+2=85% 14%(絵)+85%(文字)=99%
        これでfloat崩れを起こさないはず 多分 */
    /* アイコンを大きくする場合は
       iconR(iconL)のwidthの数値を増加させますが、増加させただけ、
       fukiR(fukiL)のwidthを減少させて下さい
       例えば iconLをwidth: 20%としたら、fukiRはwidth: 71%に
    */
}
.fukiR {/* 吹き出しが右側にあるスタイル */
    float: right;
    padding-top: 2%;
    padding-left: 2%;
    padding-right: 2%;
    padding-bottom: 2%;
    text-align: left;
    display: inline;
    width: 81%;
    background: rgb(235, 255, 235);/*←適当な明るい色 例えばgreen */
}
/* 色は要らん灰色でイイ、と言う場合は、backgroundの三つの値を全部235等に */
cssの書き換えはここまで。(なんなら漫画っぽく丸角指定も、あってイイかも)
もう、アイコンとテキストの幅キメウチでいいよね?


それから、xhtmlのテキスト部分の書き換えですが、下の例を元に書き換えてみて下さい。

とりあえず動く、を目指すなら、width="30%"を削るのは後回しでもいいかもしれません。それよりも divタグの所に、class="fukiR" とかを入れるのを忘れないで下さい。
【元(アイコン左、セリフ右のパターン)】
<img src="../Images/てきとう.png" class="iconL" width="30%"/>
<div>
「クレスケンス!」
</div>

【1・2行目を修正】
<img src="../Images/てきとう.png" class="iconL" /
<div class="fukiR"
「クレスケンス!」
</div>


【元(アイコン右、セリフ左のパターン)】
<img src="../Images/てきとう.png" class="iconR" width="30%"/>
<div>
「ガイウス!」
</div>

【1・2行目を修正】
<img src="../Images/てきとう.png" class="iconR" /
<div class="fukiL"
「ガイウス!」
</div>

……という感じで直すと、どうでしょう?
本来は<、>に関しては半角ですが、上の表現では全角になってますのでお気をつけ下さい。

今は背景色のパターンが左1個、右1個と少ないですが、
.fukiR1{中略}
.fukiR2{中略}
.fukiR3{中略}
.fukiR4{中略}
(fukiLも同様に)
とstyles_epub.cssの中の記載をドンドン増やし、backgroundの数値だけを書き換えます。(background=背景色) 背景に関しては、黒い文字が見えるように明るい色がいいので、200~255の数値でいいでしょう。backgroundの3個の数値は、前からの明るさです。全部255にすると白になり、吹きだしが見えなくなりますの注意。
(追記:次のエピソードをお読み下さい)

キャラ別に背景色を固定する(キャラ別のスタイルを例えばfukiR数字で事前に作っておく)と、talkmakerっぽくなります。
(男性主人公のセリフは、全部fukiL1fukiR1で、女性主人公は同様に全部fukiL2fukiR2で……という具合に)

セリフっぽさを演出する、三角形の10x11pixのパーツは、absolute指定がEpubで鬼門かも?(なので、今回は試してません)
※この三角形パーツはtalkmakerさんに著作権がありますので、それっぽい絵は、各自自作して準備して下さいませ。(今回使ってません)

fukiLやfukiRの padding-topとpadding-bottomは、デザインを見ながら、もう少し増やしてもいいかもしれません。

※追記:丸角表現
fukiLやfukiRの{と}の間に
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
のような三行(三行も入れれば、Epubはどれかに当たるハズ――ええい当たれ、落ちろ蚊蜻蛉)をいれてみると――なんということでしょう、吹きだしの隅っこが丸くなり、殺伐としたブラックな人生でも、柔らかい気分で一日が過ごせます(※人によって個人差はあります)。border-radiusで検索してみて下さい。

<追記>
 神楽坂先生のページで紹介されちゃいました。ありがとうございます。

 なお、今Kindleで確認したところ、アイコン10%幅は狭かったかも……。15%ぐらいでもよかったかもしれません。(追記:次のエピソードで20%化しています)

 三角形吹きだしの実装には、アイコンとテキストの左右のパディングを削り(padding-leftとpadding-rightを0にする)、アイコンとテキストの間に、三角形吹きだしイメージを挟めば、位置指定とか関係なく、なんとかなるかもしれませんね。(未確認)(追記:次のエピソードをお読み下さい)
ワンクリックで応援できます。
(ログインが必要です)

登場人物紹介

話す鹿
(いや、それ鹿じゃないだろ)

つっこみ担当

迷える羊
「解せぬ……」

旧・話す鹿(1~3節)

ビューワー設定

背景色
  • 生成り
  • 水色