AozoraEpub3
JavaではZipOutputStreamで画像を渡していたが、Jszipではどのようにするのが最適か。 Javaだとストリームで渡すが、JSではバッファーで渡す。 You: JSZIPを使ってJSに書き換えるときに画像ファイルの扱い方は //表紙指定があればそれを入力に設定 先頭画像…
コマンドラインオプションの取得が思ったとおりにできていなかったが、Javaとの仕様の違いが原因だった。 -dのオプションをdではなくdstとして取得するなど省略していたので動かなかった。 You: JSに書き換えて、Commander.jsをつかって相対パスをdstPathに…
出力されたEPUBファイルがJava版よりサイズが大きいなと思ったら、JSZIPの圧縮率が低かった。圧縮率を上げてもJavaよりもサイズが大きいのでこれ以上は無理かな。 You: JSZipの圧縮率が低い this.zos = new JSZip(); // mimetypeは非圧縮 this.zos.file("mim…
見出しが抽出できない原因を探っていると、ini設定ファイルの読み込みで見出しを指定しない設定になっていた。更に原因を探ると、getBoolでpropから設定を読み込んだときに文字列ではなく数字と判定されていたので常にfalseと判定されていた。なのでstringに…
青空文庫のふりがなは|漢字《かんじ》のように縦棒や二重括弧を使うが、縦棒を省略することも多い。HTMLのrubyタグに変換するときに始まりの判別が曖昧になる。どういう時かと言うと文字種が変更された場合に省略する。 <ruby>漢字<rt>かんじ</rt></ruby> ルビ処理で連続したルビ…
velocityでオブジェクトを読み込ませると大文字になる。JSの場合はejsを使っているので小文字のまま。 ルビは対応した、問題点は改ページの調整がまだ。 画像はファイル情報がbookinfo読み取れていない。 github.com nextSectionが1行目と38行目に実行される…
EPUBチェックエラー 青空文庫の[山川方夫] カナリヤと少女では見出しが設定されていない。AozoraEpub3では少なくとも1つぐらいはあることが前提になっているのでエラーが出る。 テンプレートを見出しなしの場合にもエラーが出ないように修正したが、だいぶ…
色々調べた結果、properties-readerでiniの取得がおかしかったので修正。 convertTextLineToEpub3を通過すると文字列が消える。原因は}の付ける場所がズレていたこと。 AozoraEpub3のJavaScriptに移植版 EPUB生成まではできたが、EPUBチェックを通過していな…
getBookInfoを使って、BookInfoを取得しようとしたが結果を見ると何も取得できていなかった。 原因を見ていくと、JavaでgetChapterNameが引数に応じて処理が切り替わるけど、JSの場合はあとに書かれた内容で上書きされるので、実行されていなかった。 Javaか…
You: str = converter.replaceChukiSufTag(converter.convertGaijiChuki("[#注記付き]○○[#「××※[#米印]」の注記付き終わり]", true, false)); console.log(str); Uncaught AssertionError AssertionError [ERR_ASSERTION]: '|○《××※※》' == '|○○…
以前詰まっていたところが、動くようになったので多分AIの進歩なのだろう。コード量が多いのを分割して変換しているためにつなぎ目部分でエラーが出ても特定がしにくかった。 github.com テストコードがあるので失敗した部分はだめと出るがどこで止まってい…
Gradleビルドでwindowsインストーラー向けにjarを生成している。inttelijで実行時にテンプレートファイルが見つからないから this.jarPath = "app/"; jpackageコマンド jpackage --type msi --win-menu --win-dir-chooser --win-shortcut --win-shortcut-pro…
Windowsインストーラー版とjar版とで一部コードを変えることで同じように動かしていた。ただ、ビルドするたびに毎回修正するのが面倒なので自動で切り分けたい。 99nyorituryo.hatenablog.com あなた: iniで設定をjarファイルと同じフォルダーに保存している…
AozoraEpub3の画像タグで、alt属性がなかったのでつけようと調べたこと。 writerクラスにimageinfoを渡す public String getAlt(String srcFilePath) { return this.imageInfoReader.getImageAlt(srcFilePath); } imageInforeaderで画像ファイル名とaltテキ…
特定の条件で発生するようなのだが、発生しないように修正した。その他に気になったところ。 h1タグにPタグで囲ってしまう。 画像の説明alt属性 画像のメモリ消費が激しい。 「見出しでh1タグの場合にpタグで囲まれてしまう」の修正コード 99nyorituryo.ha…
AozoraEpub3で見出しをタグで囲わないようにする。 <p>タグの中に<h1>タグがある 見出し部分をh1に変更したのでその影響がどのあたりにあるか github.com www.ne.jp SVG表紙コマンドラインから有効化 Narou.rbのEPUB変換をタイトル、著書名でSVG表紙つけるようにし</h1></p>…
AozoraEpub3 サムネ youtube.com AozoraEpub3は、青空文庫のテキストファイルをePub3ファイルに変換するツールです。EPUB変換すると電子書籍アプリでや読書専用端末で読むことができる。E Inkのkindleやkoboなど出目が疲れない閲覧ができる。 AozoraEpub3 fo…
あなた: Google Playに公開しているAABの更新方法 ChatGPT: Google Play に公開している AAB(Android App Bundle)の更新手順は以下の通りです。 更新したいアプリの AAB ファイル(app-release.aab など)がすでにビルド済み。 Google Play Console アカウ…
あなた: androidスマホで横長の画面だと表示が崩れる
あなた: 次のような機能があるandroidアプリのuiについてアイデアを出して。できれば使いやすくして。 挿絵を読み込む 本文ファイルを読み込む 表紙画像を読み込む 設定を開く キャンセルボタン textviewでログを表示 ChatGPT: 以下は、挙げていただいた機能…
あなた: 下記のコードの重複を減らしたい /** Intent から URL を取得して処理 */ private void handleIntent(Intent intent) { if (intent == null) return; String receivedUrl = null; // 共有 (SEND) インテントからの取得 if (Intent.ACTION_SEND.equal…
アマゾンで公開する場合英語でも説明が必要になったので翻訳も追加。 あとminsdkを31にしていたら端末が0になったので28にした。 Google Playで一回否承認されたがよくわからなかった。AIでももっとわかりやすく説明するだろう。検索すると単語の重複が多い…
アンドロイドアプリでライブラリを使っているとライセンス表記をする必要がある。githubのリポジトリへのリンクに貼れば良いのかな。 qiita.com zenn.dev あなた: androidにoss-licenses-pluginを追加する手順 ChatGPT: Android プロジェクトに oss-licenses…
久しぶりにアンドロイドアプリを公開しよう 久しぶりすぎるので、手順をログとして残しておく。 Google Play コンソールにログイン。アカウントはまだ保持されていた。新規の場合はアカウント作成からスタートとなる。 用意するもの アプリアイコン スクリー…
PC版はあるけど、android板があれば出先でも変換ができるのではと思って作った。PC版の設定は大体移植ができたと思うがバグチェックは必要。kindlegenのandroid版がないのでキンドルで読むにはsend to kindleを使うしかない。 Android特有の使い方は、URLは…
ChatGPTの画像生成はなんか、文章が読めないものになってしまう。なので一旦消してから、適当に入れ替えた。左に偏っていた文字を中央に移して、半分に切れていた文字を修正した。フィーチャー グラフィックはサイズが決まっていたのでサイズ幅を修正した。…
ChatGPTにアイコンを提案させてみる。 "ePub" を模したロゴ(オリジナル風)がよくわからないロゴだったので色なじませツールで消した。 青空epub 真ん中に白抜きで本のようなロゴを入れる。 本のロゴ なんか本だけリアルすぎるので単純化 フラットデザイン…
あなた: listから選択後に編集可能にしたい <ListPreference android:key="UserAgent" android:title="ユーザーエージェント" android:summary="ユーザーエージェントを設定します" android:entries="@array/ua_entries" android:entryValues="@array/ua_values" android:defaultValue="" /> ChatGPT: ListPreference で リストから選択後にカスタム入力を許可(編集可能)にするには、標準の ListPreferen…</listpreference>
あなた: android向けに書き換えて、JavaでSharedPreferences prefsから取得するとする。 <PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory app:title="表題"> </preferencecategory></preferencescreen>
activity.xmlからstring.xmlに切り分けるのが意外と手間だったので指示するだけでいいのは楽。 あなた: 次のactivity.xmlからstring.xmlに切り分けて ChatGPT: こちらが activity.xml から文字列リソースを strings.xml に切り出した例です。 <resources> <string name="cover_button_text">表紙画像を読</string></resources>…