InDesignが書き出すEPUBのモノルビの後始末

2016/6/30 [10:37:18] (木) 天気

InDesignが吐き出したEPUBファイルを電書協準拠のEPUBファイルにしてね、という話。


電書協準拠というのは、フォルダ構成やファイル命名規則、スタイルシート群のことで、雛形に流しこめばほぼOK。

ただ、小見出しや圏点、縦中横などはInDesignで作成時にあてられたスタイルを確認してコンバートする必要があったり手作業がそれなりに積み上がる。

中でもルビがやっかいだった。


「No.36【CS5.5】EPUB関連 EPUB3.0対応」InDesignの勉強部屋

http://study-room.info/id/studyroom/cs5/study36.html

↑こちらに詳しい。


グループルビはそのまんま。

一文字ずつモノルビをあてた場合もそのまんま。


問題なのが、モノルビを二文字など複数文字にあてた場合だ…ていうか「モノルビ」っていうぐらいなんだから複数の文字に使うのがどうかしてるだろ。


「準拠」にモノルビ(じゆんきよ)の場合、EPUBに書き出すと


<ruby>準拠<rp>(</rp><rt>じゆん きよ</rt><rp>)</rp></ruby>

グループルビの中、ルビが「じゆん」「全角空白」「きよ」となってしまう。

(EPUBはモノルビの rbタグは使えないので、グループルビの rtタグになる)


ルビに意味不明な空白などありえない。きちんとひと文字ずつのルビにしてやる必要がある。


<ruby>準<rp>(</rp><rt>じゆん</rt><rp>)</rp></ruby><ruby>拠<rp>(</rp><rt>きよ</rt><rp>)</rp></ruby>


学術書系や小説なら時代ものなどはこのルビ修正だけで生き地獄。しくしく。

てことで、InDesignの吐き出すEPUBの変なモノルビを、ひと文字ずつの正しいグループルビに変換するサブルーチンを書いた。


my $_monoruby = sub{
  my $str = shift;
  if($str =~ m!<ruby>([^<]+)<rp>\(</rp><rt>([^<]+)</rt><rp>\)</rp></ruby>!){
    my @k = split(//, $1);
    my @r = split(/ /, $2);
    return $str if ! @r;
    return $str if( scalar(@k) != scalar(@r) );
    my @mono_ruby;
    while(my $kanji = shift(@k)){
      my $yomi = shift(@r);
      push(@mono_ruby, sprintf qq{<ruby>%s<rp>(</rp><rt>%s</rt><rp>)</rp></ruby>}, $kanji, $yomi);
    }
    return join(’’, @mono_ruby);
  }
  else{
    return $str;
  }
};
$line =~ s!<ruby[^>]+>!<ruby>!g;
$line =~ s!(<ruby>[^<]+<rp>\(</rp><rt>[^<]+</rt><rp>\)</rp></ruby>)!$_monoruby->($1)!eg;

ソフトが書き出すものだからツールで変換するのが確実。ひとの手でひとつずつ修正してたら、まず間違いなくどこかでミス・タイポが入りこむ。


ほんとperlがなかったらと思うとぞっとする。


image


この手の細かいスクリプトがあちこちのフォルダに散らばってる。

そのうち整理してまとめなきゃと思いつつ、汎用、使いまわしを考えすぎると、結局使う時に面倒が増えたりして使い勝手の悪いものになるからなあ。悩みどころ。

Kindle Unlimitedが始まる

2016/6/28 [14:07:50] (火) 天気

Kindle Unlimited、amazonの読み放題サービスが、月額980円で8月からスタートする、らしい。


ネットに流れていたアマゾンのバナー広告によるとスタート時点で読み放題は55000タイトルとのこと。日本はとにかくマンガだろうな。自宅が漫画喫茶状態になる…と思ったけど、出版社が全部放流するはずもなく、


朝日新聞「電子書籍、アマゾンが定額読み放題に 月1千円前後」/塩原賢/2016年6月28日07時07分

複数の出版社によると、一昨年以降、アマゾンジャパンから読み放題サービスの開始を打診され、条件付きで応じたという。漫画の場合は各シリーズの第1巻のみとした出版社が多く、提供を見合わせるとする社もある。文芸書は、刊行後2~3年たった作品を中心に提供する社が多いとみられる。

ということらしい。そりゃそうだ…残念。


本が無料で気楽に読める状況というのは読者の裾野を広げるにはいいことだろうと思う。

ただまあ、アマゾンのアカウントを持ってることが条件となるので、たとえば小学生や中学生に届くかというと難しいかもしれない。


自分のことでいうと、本との出逢いは小学生低学年で、毎月やってくる移動図書館(図書館が車に本を積んでやってくる)で、ジュール・ベルヌや南洋一郎のルパンを読んでたのが最初の頃。中学になって小遣いをためて街の本屋さんで星新一や遠藤周作を買って読むようになった。


本と接触する機会は若けりゃ若いほどいいような気がするので、小中学生の会員(アカウント)登録とかできれば面白いのに。この場合、家族(お父さん・お母さん)の管理下ではないことが大事だ。



米アマゾンのUnlimitedってどうなんだろうと、たとえばスティーブン・キングの著作は読み放題サービスに登録されてるのか検索したところ、


Kindleオリジナル

『Guns』(Kindle Single) https://www.amazon.com/dp/B00B53IW9W/

競作アンソロジー

『Rage Against the Night』https://www.amazon.com/dp/B006P18LM2/


などは読み放題サービスに登録があるけど、シャイニングやIT、ミザリーあたりは読み放題になっていない。→Stephen kingの著者ページ

読み放題サービスが会員を増やすにはタイトル次第だろうなあ。


キングを検索していて呆れたのが

https://www.amazon.com/Awaken-Stephen-King-ebook/dp/B01ACLW2KW/

え??2016年1月って新刊出たのか!新刊を読み放題に登録してるわけ!?と思ったら、


JUST A FAKE WANNA-BE WHO’S CAPITALIZING ON THE KING NAME AND REPUTATION.

キングの偽物だった。


同じ名前を使って、似たようなテイストの表紙を作って…って、こりゃ詐欺だなあ。レビューで「ワナビー」とか言われてるし、いったい何がしたいんだか。


image

近況雑記。

2016/6/24 [18:10:42] (金) 天気

2016年も半分過ぎるっちゅーのに、ここんとこネタもなく、日々ぼーっと過している。

さすがに惚けそうなので、近況雑記でもつける。


□かんたんEPUB3作成easy_epubが作る電子書籍はFUSEe準拠。

でも、請負仕事で要求されるのは電書協準拠。この電書協のEPUB、スタイルシートが冗長長大肥大で読む気になれないシロモノ。理由はいろいろあるにせよ、あまり感心できなかった。

しかし、背に腹は変えられないので、電書協準拠のEPUB3ファイルを作るようにした。といってもフォルダ構造やファイル名称を合わせて、スタイルシートをそのまま突っ込んだだけ。epubcheckでエラーも出ないのでこれでOKだろう。


□稀見理都、伊駒一平と飲んできた。

エロマンガのゲンバの稀見さんとはコミティアなどのイベント会場でお会いして話をちらっとしてたりしたんだけど、エロマンガ家、伊駒さんとはもう15年ぶりぐらいだ。コットンコミックなどの漫画雑誌でずっと原稿をお願いしていた頃と見た目ほとんど変わらず、若いよなあ。びっくりした。昔話もひたすら懐しかった。いまも現役第一線だからすごい。当時から細かいところのこだわりがしっかりあったし、売れるためのリサーチなども怠らなかったから、その姿勢はいまでも変わらず、だろう。楽しかった。


□javascriptでフォームの入力チェック。

HappyReadingやほかのページでもすでにjavascriptで入力チェックをしてるんだけど、id決め打ちでなんだかダサイ。DOM操作する今風のやりかたじゃないんで、ちょっと調べて今風にしてみた。

ただ、これはこれでどうなんだ、というのがparentNodeの取得というか、親を遡って取得するのがあまりスマートにできなかった。

parentNodeで得られるのはひとつ上の親だけなので、無限ループ。


function check(fm){
  var el = fm.parentNode;
  while(1){
    el = el.parentNode;
    if(Object.prototype.toString.call(el) == "[object HTMLFormElement]"){
      break;
    }
}

オブジェクトの判定でコケたらあぶないよなあ…。


□アマゾンプライムにハマりっきり。

トム・クルーズのMIシリーズ、マット・デイモンのボーンシリーズ、ドニー・イェンのイップマンとどれも血の滾る傑作。

ほかにもどっさり名作が揃っていて観だすとキリがない。

中でもピーター・オトゥールのアラビアのロレンスは今だからこそ観るべき映画。オトゥールの名演技というかキ印演技に惹きこまれる。絵面的にもモブが全部エキストラで人がいて、地平線まで広がる砂漠の時間とともに変わる日ざしと影が息をのむ。画面から目が離せず「映画って素晴しい」と呆けたような感想しか出てこない傑作。映画について語るのであれば「アラビアのロレンス」は観ておかなきゃ嘘。


□50代初老フリーター生活。

ありがたいことにWEB仕事が増えそうだ。ハローワークのくくり方では、今年からわたしは「シニア」。運転免許もない初老には仕事などなかなかないんだけど、ほんとうにありがたい話であります。

どうでもいいけど。20代までは年齢は実年齢表示、30代から40代は年齢は四捨五入表示、50代から60代は1のくらいは切り捨て、70代以上は数字ではなく、おじいちゃん・おばあちゃん。


image


て、近況なんてtwitterで十分だったかなぁ。

55歳シニアになっての仕事探し

2016/6/1 [23:50:33] (水) 天気

この雑記帖は電子書籍の作りかたやwebについての技術的なネタへのアクセスが多い。でも、目立たないけどよく読まれてるのが中高年の就職転職、仕事探しネタ。アクセスログを見ると、ほかのページがほとんど単発アクセスなのと比べて、中高年の仕事探しネタのページはリンクを辿ってしっかり関連ページまで読まれていることがわかる。

若者の失業率が・自殺が、と言われるけど、中高年の方が深刻だろうと思う。


最後にそのネタで書いたのが2014年なので、もう2年ほど放置。この間今日まで特に変わりはなく、相変わらずWEB運用の業務委託と神保町のパート仕事と電子書籍制作の請負仕事で食っている。でもやっぱり貧困初老フリーター一直線なので、さらに仕事を増やしておきたい。


てことで、5月、久しぶりに飯田橋の東京しごとセンターに行った。

今年の2月で55歳となってハローワーク的にはシニア枠だ。ハロワ的に状況が変わって何か新しいもので見つかればなあ、と。

54歳まではミドル枠で、担当コンサルタントがついて仕事探しの手助けなんかもやってくれた(らしい)んだけど、シニアとなると「あとはお前ががんばれ」ということで、担当もなし。ただのハローワークだ。自分で求人票を漁ってイケそうなところを探して窓口に提出。とりあえずシニアもOKな求人票ばかりを集めて置いてあるのがシニア向けというだけのこと。ミドルまでだとウチでパソコンで求人検索ができたのにシニアだとそれがない。どうなんだ、この扱い。東京しごとセンターでも無職の中高年になどかまってられないということか。


50歳を過ぎると。

以前にも書いたように、車の運転免許もない初老に仕事などない。

リクルートやイーキャリアを始めとした人材屋からは50歳を過ぎた初老に商品価値もないと相手にもされない。アルバイトなどに絞ってフロムエーに登録して応募してみても返信すら来ない。


55歳を過ぎると(歳相応と言われる)ビルメンテナンスなどの職業訓練もあるにはあるけど、それに通うためには今の仕事を休む、あるいは辞めなければならない。それで資格を取ったからといって仕事があるとは限らない。リスクが大きすぎる。また、ぶっちゃけ体力勝負の仕事は厳しい。贅沢は言ってられないけど、イイ歳こいて無理はしたくない。

ヘルパー2級の資格(?)を持ってるけど、運転免許もないんで送迎要員にもならないし、若い子ですら腰をやってしまう体力勝負の現場だ。腰痛持ちの初老にはとても無理。


結局のところ、今までやってきたスキルを使った仕事を探すことになる。

(ちなみに、WEB仕事を探して、さぶみっとやランサーズといったクラウドソーシングなんかを見ると、ありえない単価でとてもやっていけない。ひとを舐めてる金額としか)


以前、東京しごとセンターで、年齢に応じた仕事しかない、今までのスキルうんぬんでマッチングするような仕事はない、と言われてがっかりした。

でも、今の時点で金になってるのはスキル(野良IT)があってこそのところばかりだ。

電子書籍制作の請負、小規模WEB制作・構築や、IT軽作業のデータベースへの登録や、WEBの記事ページ作成など。


50代初老のフリーターがどうやって仕事を探すのか。今やってる仕事はどうやって見つけたのか。


『評決』というポール・ニューマン主演の映画がある。

ポール・ニューマンは落ち目の弁護士。新聞の死亡欄をチェックして葬式に行って、故人とは知り合いでしたとデタラメ、何かお困りでしたらと、遺族に名刺を渡しての営業活動。


いやもう真っ当に、正攻法でやっても仕事は取れない。


ハローワーク。

ITがらみWEBがらみの仕事に応募したところで年齢でお断りされることがほとんど。

でも、年齢不問で書類を受けつけてくれたら、その場合は求人票の条件、雇用形態に拘らないと明記して応募。


ハローワークに求人を出すようなところ、求人(ヒト)に金をかけたくないところは求人票の雇用形態でなくても、というととりあえず面接までは辿りつけることがある。そして行ってみると、求人票では正社員フルタイムだけど、ひと一人をフルで雇う固定費を捻出するのは実は難しい、本音を言うと、スポットで期間限定とかパートとか、業務委託だったらとか、というところがけっこうあった。


といったハローワーク経由で縁のあった会社から仕事をもらってるケース。


会社のWEBサイト検索。

採用について、仕事について直接メールで問い合わせ。WEBでの「飛び込み営業」みたいなもんだ。

これは返信をもらえればラッキーぐらいな感じで気が向いた時にやっていた。手当たり次第ということではなく、リクルートなどの人材屋やハローワークに求人を出している会社から探していった。求人を出してるぐらいだから、組織として人手が足りてないんだろうから、仕事になる可能性があるかもしれない。

ここでは、この雑記帖を続けていて良かったことのひとつ。プロフィール、職務経歴書代わりに見てもらえることがあって、そうなると話が早かった。

また、この雑記帖を見て問い合わせをもらって仕事に結びつくこともある。


といったWEB経由で縁のあった会社・ひとから仕事をもらってるケース。


わたし自身、働きかたとして、会社のため・会社の発展のために…てなことは1mmも考えてない。今は高度成長期、バブルの時代じゃない。中途で入っていつ切られてもしかたがないのに、フルタイムの正社員で忠誠心を求められたり拘束されたりするのは困る、というか迷惑なだけだ。以前にも書いたように少額でもいいので収入源は複数確保したい。パートやアルバイト、業務委託など、掛け持ちで繋がるのが理想形だ。

この歳でフリーターとなるとライスワークとライフワークは違うものだ。


繰り返しになるけど。

歳をとってからの働き方なんて若い頃は想像もできなかった。人脈や人生設計というやつをきちんと考えてないからこの歳になって右往左往…て、もう遅い。



にしても、ウチは夫婦ふたりと猫一匹。子供がいたら人生詰んでるなあ。

アベノミクスで景気快復雇用促進というはどこの世界の話だろう。


image

MacにOpenJTalkをインストール

2016/6/1 [18:17:13] (水) 天気

OpenJTalkというのはフリーの音声合成エンジン…てことでいいのかな。

・名古屋工業大学の研究チームが作っている

・パラメータ次第で音声の感情表現など調整できる

ということをついさっき知ったばかりで、どんなものかMacでビルド&コンパイル、インストールしてみた。


忘れないうちのとりあえずメモ。

インストールしたのはMac OS X El Captain 10.11.5


必要なものは。

https://sourceforge.net/projects/hts-engine/

↑こちらから最新(今日時点)の

・hts_engine_API-1.10.tar.gz(APIライブラリ)


https://sourceforge.net/projects/open-jtalk/

↑こちらから

・open_jtalk-1.09.tar.gz(本体)

・open_jtalk_dic_utf8-1.09.tar.gz(辞書ファイル)


https://sourceforge.net/projects/open-jtalk/files/HTS%20voice/hts_voice_nitech_jp_atr503_m001-1.05/

↑こちらから最新(今日時点)の音響ファイル

・hts_voice_nitech_jp_atr503_m001-1.05.tar.gz


以上4つのファイルをダウンロード。


1)

OpenJTalkをインストールする適当なフォルダを作る

/usr/local/OpenJTalk


2)

まずAPIのビルド&コンパイル

./configure --prefix=/usr/local/OpenJTalk

make && make install

プレフィックスは最初に作ったフォルダpath

この時、エラーが出るけど気にしなくても大丈夫っぽい。


3)

Open JTalkのコンパイル前に

http://www.techscore.com/blog/2015/06/29/open-jtalk-japanese-text/

を参考に、jpcommon/jpcommon_label.cにパッチを適用する。


284行目あたり
if( index== a)
  break;
}
+if( i > 3 ) i = 3;

384行目あたり
for(i=0, index=m->next; index != NULL; index = index->next)
  i++
+if( i > 10 ) i = 10;


4)

Open JTalkのビルド&コンパイル

 ./configure
 --prefix=/usr/local/OpenJTalk
 --with-hts-engine-header-path=/usr/local/OpenJTalk/include
 --with-hts-engine-library-path=/usr/local/OpenJTalk/lib

make && make install

プレフィックスは最初に作ったフォルダpath

ヘッダーとライブラリのpathを指定(※API作成時にインストールされている)

(--with-charset=UTF-8 が必要という記事もあったけど、このバージョンだとなくてもUTF8の日本語を読みあげてくれる)


5)

辞書ファイル

open_jtalk_dic_utf8-1.09.tar.gz

↑を解凍して*.binと*.dicを/usr/local/OpenJTalk/dic/にコピーする


音響モデルファイル

/usr/local/OpenJTalk/フォルダにvoice/(名前はなんでも)というフォルダを作って

hts_voice_nitech_jp_atr503_m001-1.05.tar.gz

↑を解凍してフォルダごとコピーする


0)

その他の音声ファイルとしては

MMDAgent_Example-1.6.zip

の中にあるmeiという女性の声も使える。



テキストファイルを読み込ませて音声ファイルを作る

./open_jtalk
 -x /usr/local/OpenJTalk/dic
 -m /usr/local/OpenJTalk/voice/hts_voice_nitech_jp_atr503_m001/nitech_jp_atr503_m001.htsvoice
 -ow test.wav
 sample.txt

x は辞書のフォルダ

m は音響モデルファイル

ow はアウトプットwavファイル test.wav


ひとつ利点があるとすると、電子書籍にすれば音声を付けられる。視覚に障害のある子やディスクレイシアの子にとって有用…でも、スクリーンリーダーもあって、そこに読み上げ部分をハイライトさせる機能をつけるのと、音声つき電子書籍の普及とどっちがどっちなんだろか。技術的なことはわたしは素人なのでわからない。

こんなテキストを読みこませたんだけど、読み間違いがひとつもなくて吃驚した。イントネーションや区切りかたもいいなあ。


にしても、こういうのがフリーで(BSDライセンス)で作られてるんだなあ。

かたや、日立や東芝といった私企業が研究開発費をかけて作ってる音声合成エンジンあって、実用・利用されつつある。


障害者差別解消法が施行されたこともあって、音声サービスの需要が高まってるところだろう。

今年はこのあたりの動向が面白いかも。


image


障害者差別解消法うんぬんということだけではなくて、ページをめくる手がない・文字を目で追えない子育てママ・パパさんやドライバーのかたにとっても音声での読書サービスは有用だしねえ。

<<2026/2>>
       
1234567
891011121314
15161718192021
22232425262728
検索:

【最近の20件】