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

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

AozoraEpub3のビルドをAdoptOpenJDKにしてみた。

 Javaライセンスの関係からEclipseのAdoptOpenJDKでビルドしていきます。互換性はどうなのかわからないので、他でjarで実行するアプリを入れている場合は、競合はどうなるんだろうな。一個ずつ検証するのも何なので、推奨環境というものを書いておくという方針で行こうと思う。

github.com


AozoraEpub3のビルドをどうするかと考えていたんだが、JAVA8のオラクルの無償サポートが終わるようだ。代わりに、AdoptOpenJDKのJREをインストールする方向で考えている。

AdoptOpenJDKとAntでビルドすると、次のように出たのでビルドはできているようだ。。

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.10.5
Created-By: 11.0.2+9 (AdoptOpenJDK)

 ただ、オラクルjava8でも動いたので、JREをアップデートされないか懸念する。動くなら良いかもしれないが。

 

推奨環境

 AdoptOpenJDK 11 (LTS)を推奨しておく、なぜならそれで作っているから。作ったもので動かしたほうが問題起きないよね。ただ、ブラウザによるとダウンロードが成功しない場合があるようです。

adoptopenjdk.net

 インストール方法

1. Choose a Version

OpenJDK 11 (LTS)

 

2. Choose a JVM

HotSpot

 

OSを選んで

Install JRE Installerをダウンロードする。

インストールすると、jarをダブルクリックすると、AdoptOpenJDKで動くようになる。

 

qiita.com

www.st.ryukoku.ac.jp

OpenJDK関連を調べた。

 Javaはあんまり詳しくないまま、OpenJDK問題にな直面して混乱しております。このあたり今からJavaを始める人は混乱するのではないかと。

 アンドロイドスタジオではOpenJDKに移行しているようだ。調べたらOpenJDKと出てきたので確認しています。その他に、AozoraEpub3をどうしようかと見てた。Pleiades All in One Eclipseを使っていたので、最新のバージョンを見るとAdoptOpenJDKを使うようになっていた。

 アンドロイドスタジオと同じように、IntelliJに乗り換えても良いかもしれないがまだいいかな。

 

https://mergedoc.osdn.jp/

 

 影響が大きいのはサーバー側で実行する場合なのだろう。

www.slideshare.net

togetter.com

Javaアプリ配布するときにJREまで配布が必要みたいだ。ただ、jre8が入っている人が多いだろうが。ElectronやNW,jsみたいな感じになっている。

www.oracle.com

arakan-pgm-ai.hatenablog.com

 

 

OpenJDKでJavaアプリ配布パッケージを作る

 

https://blogs.osdn.jp/2018/11/26/openjdk-app.html

 

namekata.in.net

ルビ振りアンドロイドアプリが動くようになった。

 これが完成したアプリです。

ふりがな付与

ふりがな付与

 

 

 取りあえず動くところまではできたので、まとめておこう。まだ、エラー処理ができていない。
99nyorituryo.hatenablog.com

 

 JavaScriptで作っていたXMLのDOM操作をJavaに書き換えてみた、そしてアンドロイドで動かした。はじめはXmlPullParserを使う予定だったが、あまりにも使い方がわからなかったので、JavaScriptでなれているDOMにした。

99nyorituryo.hatenablog.com

  JavaのDOMの面倒なところが、#textがどこからともなく入ってきて除外できないこと。だから、子ノード3のところでも長さが7として出力される。なので、取得したいノードを特定するのが面倒だった。Javaの好きじゃないところはprintlnに投げても、意味がわかる文字で表示してくれないところ。console.logだと、とりあえず観てわかるように表示してくれたありがたさがあった。

 Javaを使って思うのは型推論がなくて、明示的に書かない手入力の段階で突っ込まれるのがわかった。javascriptだとvarで動くのでいまいち型が何なのかがわからなくなるというのがわかった。

f:id:kyukyunyorituryo:20190109224137j:plain

 

gabekore.org

 Javaで==によって文字列比較したら一致しなくてハマった。どうもequalsを使わないといけなかったようだ。

 基本の制御構文は大体の言語が似ているので割とそのままでいけた。配列の宣言がだいぶ違うので悩んだ。

qiita.com

Yahoo APIを使うとクレジット表示をしないといけないが、

developer.yahoo.co.jp

クレジット表示はImageViewで表示してタップしたら、

https://developer.yahoo.co.jp/aboutに飛ばすようにすればいいか。

androidroid.info


eng-entrance.com

www.dd.e-mansion.com

ルビ振りAPIのパース

ルビ振りAPIの覚書

 ルビ振りマクロを作ったが、Jscript向けだったので今の書き方とだいぶ違っていた。だからそのあたりを最近の書き方にしながら忘れないように書き留めておく。

 

developer.yahoo.co.jp

「漢字かな交じり文にふりがなを振ること。」

 

https://jlp.yahooapis.jp/FuriganaService/V1/furigana?appid=dj0zaiZpPVJqcVRmNUk2S0p1SSZzPWNvbnN1bWVyc2VjcmV0Jng9MTc-&grade=1&sentence=%E6%BC%A2%E5%AD%97%E3%81%8B%E3%81%AA%E4%BA%A4%E3%81%98%E3%82%8A%E6%96%87%E3%81%AB%E3%81%B5%E3%82%8A%E3%81%8C%E3%81%AA%E3%82%92%E6%8C%AF%E3%82%8B%E3%81%93%E3%81%A8%E3%80%82

 

 

 

Jscript向けに作ったやつをJavaScriptにした。Node.js版にしようと思えばできそうな感じではある。探したらあったけど。

qiita.com

 JavaScriptに近いからそのまま動くかなと思ったんだけど。タグのテキストを取得するのが、textでは動かず、textContentを指定しなければならなかった。childNodesはtextの分だけ増えて、lengthで取得すると長さが変わってしまってうまく動かなかった。

github.com

textをtextContentに書き換え

childNodesをchildrenに書き換えた

  暇があったらNode.jsに書き換えて、Herokuででも立てようと思う。

 

ルビ振りAPIようXMLパース

future-is-now-k02.blogspot.com

 

  振り仮名を付けるアンドロイドアプリを作りました。

ふりがな付与

ふりがな付与

 

 

親にタブレットを渡してどうなったか

 親がパソコンを使っている理由がソリティアがしたいであった。それならタブレットでもできそうだなと思って、数独ソリティアなどを入れて使い方を教えて渡してみた。んーずっとゲームやっていて、他に手を伸ばそうとしないという感じである。言葉の意味を調べたいといっていたので辞書アプリを入れてみた。

 ゲームというのはタブレットの使い方を覚えるのに最適だなとは思っていた。電子書籍を読んだりとかメールしたりということを誘導してみたがあまりうまく行っていない。

 タブレットで物を作れるのかという議論がよくある。でも、パソコンも昔はワークステーションで作ったものを動かすためのものだった。タブレットで物を作れるソフトを作ればいいようになっていくのだろうか。

 タブレットじゃ長文を書くのが難しいと言われたけど、音声入力あるし、bluetoothキーボードつけてもいいし。絵を描く文章を書く、となんとなくできることが増えてきている。