├── .classpath ├── .github ├── FUNDING.yml └── workflows │ └── nightly.yml ├── .gitignore ├── .project ├── AozoraEpub3.ico ├── LICENSE.txt ├── README.en.md ├── README.md ├── README.txt ├── README_Changes.txt ├── ant.xml ├── build.gradle ├── chuki_alt.txt ├── chuki_ivs.txt ├── chuki_latin.txt ├── chuki_tag.txt ├── chuki_tag_suf.txt ├── chuki_utf.txt ├── gaiji ├── README.txt ├── convert.pe └── dakuten │ ├── u303b-u3099.ttf │ ├── u3041-u3099.ttf │ ├── u3041-u309a.ttf │ ├── u3042-u3099.ttf │ ├── u3042-u309a.ttf │ ├── u3043-u3099.ttf │ ├── u3043-u309a.ttf │ ├── u3044-u3099.ttf │ ├── u3044-u309a.ttf │ ├── u3045-u3099.ttf │ ├── u3045-u309a.ttf │ ├── u3046-u309a.ttf │ ├── u3047-u3099.ttf │ ├── u3047-u309a.ttf │ ├── u3048-u3099.ttf │ ├── u3048-u309a.ttf │ ├── u3049-u3099.ttf │ ├── u3049-u309a.ttf │ ├── u304a-u3099.ttf │ ├── u304a-u309a.ttf │ ├── u304b-u309a.ttf │ ├── u304d-u309a.ttf │ ├── u304f-u309a.ttf │ ├── u3051-u309a.ttf │ ├── u3053-u309a.ttf │ ├── u3055-u309a.ttf │ ├── u3057-u309a.ttf │ ├── u3059-u309a.ttf │ ├── u305b-u309a.ttf │ ├── u305d-u309a.ttf │ ├── u305f-u309a.ttf │ ├── u3061-u309a.ttf │ ├── u3063-u3099.ttf │ ├── u3063-u309a.ttf │ ├── u3064-u309a.ttf │ ├── u3066-u309a.ttf │ ├── u3068-u309a.ttf │ ├── u306a-u3099.ttf │ ├── u306a-u309a.ttf │ ├── u306b-u3099.ttf │ ├── u306b-u309a.ttf │ ├── u306c-u3099.ttf │ ├── u306c-u309a.ttf │ ├── u306d-u3099.ttf │ ├── u306d-u309a.ttf │ ├── u306e-u3099.ttf │ ├── u306e-u309a.ttf │ ├── u307e-u3099.ttf │ ├── u307e-u309a.ttf │ ├── u307f-u3099.ttf │ ├── u307f-u309a.ttf │ ├── u3080-u3099.ttf │ ├── u3080-u309a.ttf │ ├── u3081-u3099.ttf │ ├── u3081-u309a.ttf │ ├── u3082-u3099.ttf │ ├── u3082-u309a.ttf │ ├── u3083-u3099.ttf │ ├── u3083-u309a.ttf │ ├── u3084-u3099.ttf │ ├── u3084-u309a.ttf │ ├── u3085-u3099.ttf │ ├── u3085-u309a.ttf │ ├── u3086-u3099.ttf │ ├── u3086-u309a.ttf │ ├── u3087-u3099.ttf │ ├── u3087-u309a.ttf │ ├── u3088-u3099.ttf │ ├── u3088-u309a.ttf │ ├── u3089-u3099.ttf │ ├── u3089-u309a.ttf │ ├── u308a-u3099.ttf │ ├── u308a-u309a.ttf │ ├── u308b-u3099.ttf │ ├── u308b-u309a.ttf │ ├── u308c-u3099.ttf │ ├── u308c-u309a.ttf │ ├── u308d-u3099.ttf │ ├── u308d-u309a.ttf │ ├── u308e-u3099.ttf │ ├── u308e-u309a.ttf │ ├── u308f-u3099.ttf │ ├── u308f-u309a.ttf │ ├── u3090-u3099.ttf │ ├── u3090-u309a.ttf │ ├── u3091-u3099.ttf │ ├── u3091-u309a.ttf │ ├── u3092-u3099.ttf │ ├── u3092-u309a.ttf │ ├── u3093-u3099.ttf │ ├── u3093-u309a.ttf │ ├── u3095-u3099.ttf │ ├── u3095-u309a.ttf │ ├── u3096-u3099.ttf │ ├── u3096-u309a.ttf │ ├── u309d-u309a.ttf │ ├── u30a1-u3099.ttf │ ├── u30a1-u309a.ttf │ ├── u30a2-u3099.ttf │ ├── u30a2-u309a.ttf │ ├── u30a3-u3099.ttf │ ├── u30a3-u309a.ttf │ ├── u30a4-u3099.ttf │ ├── u30a4-u309a.ttf │ ├── u30a5-u3099.ttf │ ├── u30a5-u309a.ttf │ ├── u30a6-u309a.ttf │ ├── u30a7-u3099.ttf │ ├── u30a7-u309a.ttf │ ├── u30a8-u3099.ttf │ ├── u30a8-u309a.ttf │ ├── u30a9-u3099.ttf │ ├── u30a9-u309a.ttf │ ├── u30aa-u3099.ttf │ ├── u30aa-u309a.ttf │ ├── u30ab-u309a.ttf │ ├── u30ad-u309a.ttf │ ├── u30af-u309a.ttf │ ├── u30b1-u309a.ttf │ ├── u30b3-u309a.ttf │ ├── u30b5-u309a.ttf │ ├── u30b7-u309a.ttf │ ├── u30b9-u309a.ttf │ ├── u30bb-u309a.ttf │ ├── u30bd-u309a.ttf │ ├── u30bf-u309a.ttf │ ├── u30c1-u309a.ttf │ ├── u30c3-u3099.ttf │ ├── u30c3-u309a.ttf │ ├── u30c4-u309a.ttf │ ├── u30c6-u309a.ttf │ ├── u30c8-u309a.ttf │ ├── u30ca-u3099.ttf │ ├── u30ca-u309a.ttf │ ├── u30cb-u3099.ttf │ ├── u30cb-u309a.ttf │ ├── u30cc-u3099.ttf │ ├── u30cc-u309a.ttf │ ├── u30cd-u3099.ttf │ ├── u30cd-u309a.ttf │ ├── u30ce-u3099.ttf │ ├── u30ce-u309a.ttf │ ├── u30de-u3099.ttf │ ├── u30de-u309a.ttf │ ├── u30df-u3099.ttf │ ├── u30df-u309a.ttf │ ├── u30e0-u3099.ttf │ ├── u30e0-u309a.ttf │ ├── u30e1-u3099.ttf │ ├── u30e1-u309a.ttf │ ├── u30e2-u3099.ttf │ ├── u30e2-u309a.ttf │ ├── u30e3-u3099.ttf │ ├── u30e3-u309a.ttf │ ├── u30e4-u3099.ttf │ ├── u30e4-u309a.ttf │ ├── u30e5-u3099.ttf │ ├── u30e5-u309a.ttf │ ├── u30e6-u3099.ttf │ ├── u30e6-u309a.ttf │ ├── u30e7-u3099.ttf │ ├── u30e7-u309a.ttf │ ├── u30e8-u3099.ttf │ ├── u30e8-u309a.ttf │ ├── u30e9-u3099.ttf │ ├── u30e9-u309a.ttf │ ├── u30ea-u3099.ttf │ ├── u30ea-u309a.ttf │ ├── u30eb-u3099.ttf │ ├── u30eb-u309a.ttf │ ├── u30ec-u3099.ttf │ ├── u30ec-u309a.ttf │ ├── u30ed-u3099.ttf │ ├── u30ed-u309a.ttf │ ├── u30ee-u3099.ttf │ ├── u30ee-u309a.ttf │ ├── u30ef-u309a.ttf │ ├── u30f0-u309a.ttf │ ├── u30f1-u309a.ttf │ ├── u30f2-u309a.ttf │ ├── u30f3-u3099.ttf │ ├── u30f3-u309a.ttf │ ├── u30f5-u3099.ttf │ ├── u30f5-u309a.ttf │ ├── u30f6-u3099.ttf │ ├── u30f6-u309a.ttf │ ├── u30fc-u3099.ttf │ ├── u30fc-u309a.ttf │ ├── u30fd-u309a.ttf │ ├── u31f0-u3099.ttf │ ├── u31f0-u309a.ttf │ ├── u31f1-u3099.ttf │ ├── u31f1-u309a.ttf │ ├── u31f2-u3099.ttf │ ├── u31f2-u309a.ttf │ ├── u31f3-u3099.ttf │ ├── u31f3-u309a.ttf │ ├── u31f4-u3099.ttf │ ├── u31f4-u309a.ttf │ ├── u31f5-u3099.ttf │ ├── u31f5-u309a.ttf │ ├── u31f6-u3099.ttf │ ├── u31f6-u309a.ttf │ ├── u31f7-u3099.ttf │ ├── u31f7-u309a.ttf │ ├── u31f8-u3099.ttf │ ├── u31f8-u309a.ttf │ ├── u31f9-u3099.ttf │ ├── u31f9-u309a.ttf │ ├── u31fa-u3099.ttf │ ├── u31fa-u309a.ttf │ ├── u31fb-u3099.ttf │ ├── u31fb-u309a.ttf │ ├── u31fc-u3099.ttf │ ├── u31fc-u309a.ttf │ ├── u31fd-u3099.ttf │ ├── u31fd-u309a.ttf │ ├── u31fe-u3099.ttf │ ├── u31fe-u309a.ttf │ ├── u31ff-u3099.ttf │ ├── u31ff-u309a.ttf │ └── u3b9-u3099.ttf ├── gpl.txt ├── gradlew ├── gradlew.bat ├── lib └── LICENSE │ ├── commons.txt │ ├── jai.txt │ ├── jsoup.txt │ ├── juniversalchardet.txt │ ├── junrar.txt │ └── velocity.txt ├── presets ├── kindle_fire.ini ├── kindle_pw.ini ├── kobo__full.ini ├── kobo_glo.ini ├── kobo_touch.ini ├── reader.ini └── reader_t3.ini ├── replace_sample.txt ├── src ├── AozoraEpub3.java ├── AozoraEpub3Applet.java ├── com │ └── github │ │ └── hmdev │ │ ├── converter │ │ ├── AozoraEpub3Converter.java │ │ ├── AozoraGaijiConverter.java │ │ ├── GlyphConverter.java │ │ ├── JisConverter.java │ │ ├── LatinConverter.java │ │ ├── PageBreakType.java │ │ └── RubyCharType.java │ │ ├── image │ │ ├── ImageInfoReader.java │ │ └── ImageUtils.java │ │ ├── info │ │ ├── BookInfo.java │ │ ├── BookInfoHistory.java │ │ ├── ChapterInfo.java │ │ ├── ChapterLineInfo.java │ │ ├── CoverEditInfo.java │ │ ├── GaijiInfo.java │ │ ├── ImageInfo.java │ │ ├── ProfileInfo.java │ │ └── SectionInfo.java │ │ ├── swing │ │ ├── JConfirmDialog.java │ │ ├── JCoverImagePanel.java │ │ ├── JProfileDialog.java │ │ ├── JTocTable.java │ │ └── NarrowTitledBorder.java │ │ ├── util │ │ ├── CharUtils.java │ │ ├── Detector.java │ │ ├── FileNameComparator.java │ │ └── LogAppender.java │ │ ├── web │ │ ├── ExtractInfo.java │ │ └── WebAozoraConverter.java │ │ └── writer │ │ ├── Epub3ImageWriter.java │ │ └── Epub3Writer.java └── images │ ├── add.png │ ├── apply.png │ ├── arrow_down.png │ ├── arrow_horizontal.png │ ├── arrow_out.png │ ├── arrow_up.png │ ├── arrow_vertical.png │ ├── cancel.png │ ├── char.png │ ├── convert.png │ ├── copy.png │ ├── cover.png │ ├── cover_full.png │ ├── cover_narrow.png │ ├── cover_wide.png │ ├── cross.png │ ├── del_cut.png │ ├── delete.png │ ├── dst_path.png │ ├── edit.png │ ├── epub.png │ ├── filename_copy.png │ ├── first.png │ ├── icon.png │ ├── image.png │ ├── kindle.png │ ├── kobo.png │ ├── last.png │ ├── next.png │ ├── page.png │ ├── page_horizontal.png │ ├── page_setting.png │ ├── page_vertical.png │ ├── paste.png │ ├── prev.png │ ├── reader.png │ ├── reader_app.png │ ├── replace.png │ ├── skip.png │ ├── spin_down.png │ ├── spin_up.png │ ├── style.png │ ├── title_reload.png │ ├── toc.png │ ├── viewer.png │ ├── web.png │ ├── zoomin.png │ └── zoomout.png ├── template ├── META-INF │ └── container.xml ├── item │ ├── css_custom │ │ ├── horizontal_font_reader.css │ │ ├── horizontal_font_sample.css │ │ ├── vertical_font_reader.css │ │ └── vertical_font_sample.css │ ├── package.vm │ ├── style │ │ ├── aozora.css │ │ ├── book-style.css │ │ ├── fixed-layout-jp.css │ │ ├── font.css │ │ ├── style-advance.css │ │ ├── style-reset.css │ │ ├── style-standard.css │ │ └── text.vm │ ├── toc.ncx.vm │ └── xhtml │ │ ├── cover.vm │ │ ├── svg_image.vm │ │ ├── title_horizontal.vm │ │ ├── title_middle.vm │ │ ├── xhtml_footer.vm │ │ ├── xhtml_header.vm │ │ └── xhtml_nav.vm └── mimetype ├── test └── com │ └── github │ └── hmdev │ └── converter │ └── AozoraEpub3ConverterTest.java ├── test_data ├── .gitignore ├── img │ ├── fig1317_15.png │ ├── fig1317_16.png │ ├── fig1317_17.png │ ├── fig1317_18.png │ ├── fig1317_19.png │ ├── fig1317_20.png │ ├── fig1317_21.png │ ├── fig1317_22.png │ ├── fig1317_23.png │ ├── fig46187_01.png │ ├── fig46187_02.png │ ├── fig46187_03.png │ ├── fig46187_04.png │ ├── fig52468_15.png │ ├── icon.png │ ├── 大画像.jpg │ ├── 左画像.png │ ├── 縦長.png │ └── 表紙.jpg ├── test_bom.txt ├── test_bouten.txt ├── test_btm.txt ├── test_chapter.txt ├── test_chuki.txt ├── test_dakuten.txt ├── test_denshokyou.txt ├── test_gaiji.txt ├── test_gaiji_image.txt ├── test_image.txt ├── test_ivs.txt ├── test_kinsoku.txt ├── test_latin.txt ├── test_mado.txt ├── test_png.zip ├── test_ruby.txt ├── test_tcy.txt ├── test_title.txt ├── test_upr.txt ├── test_wrc.txt └── test_yoko.txt └── web ├── 2.novelist.jp └── extract.txt ├── extract_sample.txt ├── kakuyomu.jp └── extract.txt ├── ncode.syosetu.com └── extract.txt ├── novel.fc2.com └── extract.txt ├── novel18.syosetu.com └── extract.txt ├── novelist.jp └── extract.txt ├── novelup.plus └── extract.txt ├── syosetu.org └── extract.txt ├── www.akatsuki-novels.com └── extract.txt ├── www.dnovels.net └── extract.txt ├── www.mai-net.net └── extract.txt └── www.newvel.jp └── extract.txt /.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: kyukyunyorituryo 4 | # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 5 | patreon: # Replace with a single Patreon username 6 | open_collective: # Replace with a single Open Collective username 7 | ko_fi: # Replace with a single Ko-fi username 8 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 9 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 10 | liberapay: # Replace with a single Liberapay username 11 | issuehunt: # Replace with a single IssueHunt username 12 | otechie: # Replace with a single Otechie username 13 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 14 | -------------------------------------------------------------------------------- /.github/workflows/nightly.yml: -------------------------------------------------------------------------------- 1 | name: Nightly Build 2 | on: 3 | - push 4 | - workflow_dispatch 5 | jobs: 6 | build_artifacts: 7 | runs-on: ubuntu-latest 8 | steps: 9 | - uses: actions/checkout@v4 10 | - name: Get version from source code. 11 | run: | 12 | >> $GITHUB_ENV echo PKG_VER=$(egrep 'VERSION\s+=' src/AozoraEpub3.java | awk -F '"' '{print $2}') 13 | - uses: actions/setup-java@v4 14 | with: 15 | java-version: '21' 16 | distribution: 'zulu' 17 | cache: 'gradle' 18 | - run: gradle build 19 | - run: mkdir -p bin 20 | - run: gradle create_run_jar 21 | - run: cp -v build/libs/AozoraEpub3.jar out/ 22 | - run: cp -vr lib/LICENSE out/ 23 | - uses: actions/upload-artifact@v4 24 | with: 25 | name: AozoraEpub3-${{ env.PKG_VER }} 26 | path: out/ -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /AozoraEpub3.ini 2 | /bin 3 | /.settings 4 | /AozoraEpub3.jar 5 | /.cache 6 | /_kindlegen.exe 7 | /replace.txt 8 | /パッケージ作成* 9 | /profiles 10 | /kindlegen.exe 11 | /.idea 12 | /.gradle 13 | /gradle 14 | /build 15 | /out 16 | .gitignore -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | AozoraEpub3 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | org.eclipse.buildship.core.gradleprojectbuilder 15 | 16 | 17 | 18 | 19 | 20 | org.eclipse.jdt.core.javanature 21 | org.eclipse.buildship.core.gradleprojectnature 22 | 23 | 24 | -------------------------------------------------------------------------------- /AozoraEpub3.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/AozoraEpub3.ico -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | AozoraEpub3 2 | Copyright (C) 2015 https://github.com/hmdev/AozoraEpub3 3 | 4 | This program is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License. 7 | 8 | This program is distributed in the hope that it will be useful, 9 | but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | GNU General Public License for more details. 12 | 13 | You should have received a copy of the GNU General Public License 14 | along with this program. If not, see . -------------------------------------------------------------------------------- /README.txt: -------------------------------------------------------------------------------- 1 | 青空文庫EPUB変換 改造版AozoraEpub3 2 | Copyright (C) 2021 https://github.com/kyukyunyorituryo/AozoraEpub3 3 | https://github.com/hmdev/AozoraEpub3 をもとにしたフォーク版です。GPL v3を継承しています。 4 | 5 | ----------------------------------------------------------------------------------------- 6 | ■紹介 7 | ----------------------------------------------------------------------------------------- 8 | 青空文庫をEPUBやMOBIファイルなどに変換して、kobo、kindle,などのEPUBリーダーなどで読むことができるソフトウェアです。作成したEPUBは電子書籍販売サイトで販売できるので、電子出版ツールとしても使うことができます。WEB小説から青空文庫に変換してEPUB出力する機能もあるので、WEB小説を電子書籍端末で読める形式に変換することが可能になります。 9 | 10 | ----------------------------------------------------------------------------------------- 11 | ■ライセンスについて 12 | ----------------------------------------------------------------------------------------- 13 | ソースコードおよびバイナリ GPL v3 ( http://www.gnu.org/licenses/gpl-3.0.html ) ※ソースコードの流用、改変、再配布を行った場合もGPL v3が適用されます。 14 | 15 | 作成したデータ AozoraEpub3で変換したePubファイルの著作権は入力データと同一になります。 ePubファイルの修正や配布は入力データの著作権内で自由に行うことができます。 16 | 17 | 18 | ----------------------------------------------------------------------------------------- 19 | ■インストール 20 | ----------------------------------------------------------------------------------------- 21 | JAVAのインストール 22 | https://adoptium.net/temurin/releases/ 23 | Windowsの場合はOperating System:Windows、Architecture:x64、Package Type:JRE、Version:21を選んでインストールしてください。 24 | 25 | Windows Ubuntu MacOSX で動作確認済 26 | 27 |  Linux版のkindlegenの配布が終了されました。そのため、mobiの変換はLinuxではできなくなりました。 28 | 29 | AozoraEpub3-*.zip を任意のフォルダに解凍します。 30 | ----------------------------------------------------------------------------------------- 31 | ■使い方 32 | ----------------------------------------------------------------------------------------- 33 | AozoraEpub3.jar をダブルクリックして実行します。  またはコンソールから "java -jar AozoraEpub3.jar" でも実行可。  ※javaが見えなければフルパスで指定   例: "C:/Program Files/Eclipse Adoptium/jre-21.0.2.13-hotspot/bin/java.exe" -jar AozoraEpub3.jar 34 | 35 | ■例として青空文庫の「吾輩は猫である」をEPUBに変換する。 36 | 下記リンクから、テキストファイルのZIPファイルをダウンロードする 37 | https://www.aozora.gr.jp/cards/000148/card789.html 38 | テキストファイル(ルビあり) zip 789_ruby_5639.zip 39 | 40 |  AozoraEpub3を起動後に拡張子でEPUBを選ぶとEPUB、mobiを選ぶとキンドル用に変換します。 41 | AozoraEpub3に「ファイルまたはURL文字列をここにドラッグ&ドロップ/ペーストで変換します」の場所にzipファイルをドラッグ・アンド・ドロップします。そうすると、変換確認画面が表示されるので、表紙を入れるなどして変換する。 42 | 43 | ■WEB小説の変換 44 | WEB小説サイトは「小説家になろう/小説を読もう!」(+関連サイト)「NEWVEL-LIBRARY」「FC2小説」「HAMELN」「Arcadia」「novelist.jp」「dNoVeLs」「暁」「カクヨム」「ノベルアップ+」から取得が可能です。 45 | 46 | 小説家になろうの例 47 | https://ncode.syosetu.com/n7788ft/ アドレスの左側の鍵アイコンをデスクトップなどにドラッグ・アンド・ドロップすることでショートカットファイルを作成できる。Web小説サイトの作品一覧ページのURLまたはURLショートカット(.url)のドラッグ&ドロップでの取得と変換も可能です。ショートカットを保存しておいてから複数を一括してドラッグ・アンド・ドロップすると一括して変換できる。 48 | 49 | ■自作のテキストからEPUBを作成する 50 |  青空文庫形式で、テキストを制作するとEPUBファイルに変換できます。 51 |  青空文庫形式の書き方は下記リンクを参考にしてください。 52 |  https://www.aozora.gr.jp/aozora-manual/index-input.html 53 | 青空文庫形式の入力補助ツールなど 54 | https://99nyorituryo.hatenablog.com/entry/2013/10/09/220711 55 | ----------------------------------------------------------------------------------------- 56 | ■サポート 57 | ----------------------------------------------------------------------------------------- 58 | バグを見つけた場合や、要望などはお知らせ下さい。 59 | 60 | github: https://github.com/kyukyunyorituryo/AozoraEpub3 61 | twitter: https://twitter.com/99nyorituryo 62 | 公式ページ: https://kyukyunyorituryo.github.io/ 63 | メール: kyukyunyorituryo@live.jp -------------------------------------------------------------------------------- /build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'java' 3 | id 'application' 4 | } 5 | // compileJavaタスクのエンコーディング 6 | compileJava.options.encoding = 'UTF-8' 7 | // compileTestJavaタスクのエンコーディング 8 | compileTestJava.options.encoding = 'UTF-8' 9 | // javadocタスクのエンコーディング 10 | javadoc.options.encoding = 'UTF-8' 11 | //mainClassName = 'AozoraEpub3Applet' 12 | 13 | repositories { 14 | mavenCentral() 15 | } 16 | sourceSets { 17 | main { 18 | java { 19 | srcDirs = ['src'] 20 | } 21 | resources { 22 | srcDirs= ["src"] 23 | } 24 | } 25 | } 26 | java { 27 | toolchain { 28 | languageVersion.set(JavaLanguageVersion.of(21)) 29 | } 30 | } 31 | application { 32 | // Define the main class for the application. 33 | mainClass.set('AozoraEpub3Applet') 34 | } 35 | jar { 36 | 37 | duplicatesStrategy = DuplicatesStrategy.EXCLUDE 38 | 39 | manifest { 40 | // attributes 'Main-Class': 'AozoraEpub3' 41 | attributes 'Main-Class': 'AozoraEpub3Applet' 42 | } 43 | 44 | from { 45 | configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } 46 | } 47 | } 48 | /* */ 49 | tasks.withType(JavaCompile).configureEach { 50 | options.compilerArgs << '-Xlint:deprecation' 51 | } 52 | 53 | ant.importBuild 'ant.xml' 54 | 55 | dependencies { 56 | // https://mvnrepository.com/artifact/org.apache.velocity/velocity-engine-core 57 | implementation group: 'org.apache.velocity', name: 'velocity-engine-core', version: '2.4.1' 58 | 59 | // https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 60 | implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.17.0' 61 | 62 | // https://mvnrepository.com/artifact/org.slf4j/slf4j-api 63 | implementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.17' 64 | // https://mvnrepository.com/artifact/org.slf4j/slf4j-simple 65 | implementation group: 'org.slf4j', name: 'slf4j-simple', version: '2.0.17' 66 | // https://mvnrepository.com/artifact/org.apache.commons/commons-collections4 67 | implementation group: 'org.apache.commons', name: 'commons-collections4', version: '4.5.0' 68 | 69 | 70 | // https://mvnrepository.com/artifact/com.github.junrar/junrar 71 | implementation group: 'com.github.junrar', name: 'junrar', version: '7.5.5' 72 | // https://mvnrepository.com/artifact/org.jsoup/jsoup 73 | implementation group: 'org.jsoup', name: 'jsoup', version: '1.20.1' 74 | // https://mvnrepository.com/artifact/org.apache.commons/commons-compress 75 | implementation group: 'org.apache.commons', name: 'commons-compress', version: '1.27.1' 76 | // https://mvnrepository.com/artifact/commons-cli/commons-cli 77 | implementation group: 'commons-cli', name: 'commons-cli', version: '1.9.0' 78 | // https://mvnrepository.com/artifact/com.github.albfernandez/juniversalchardet 79 | implementation group: 'com.github.albfernandez', name: 'juniversalchardet', version: '2.5.0' 80 | // https://mvnrepository.com/artifact/org.json/json 81 | implementation group: 'org.json', name: 'json', version: '20250107' 82 | 83 | 84 | } -------------------------------------------------------------------------------- /chuki_alt.txt: -------------------------------------------------------------------------------- 1 | ######## 代替文字 ######## 2 | ### 注記を含むもの 3 | 4 | ##【その他】記述記号 5 | [#縦中横]!!![#縦中横終わり] ※[#感嘆符三つ] 6 | [#縦中横]?!![#縦中横終わり] ※[#疑問符一つ感嘆符二つ] 7 | 8 | #【その他】平仮名 9 | [#小書き]こ[#小書き終わり] ※[#小書き平仮名こ] 10 | [#小書き]た[#小書き終わり] ※[#小書き平仮名た] 11 | [#小書き]な[#小書き終わり] ※[#小書き平仮名な] 12 | [#小書き]ゑ[#小書き終わり] ※[#小書き平仮名ゑ] 13 | [#小書き]ん[#小書き終わり] ※[#小書き平仮名ん] 14 | [#小書き]づ[#小書き終わり] ※[#濁点付き小書き平仮名つ] 15 | 16 | ##【その他】片仮名 17 | [#小書き]タ[#小書き終わり] ※[#小書き片仮名タ] 18 | [#小書き]チ[#小書き終わり] ※[#小書き片仮名チ] 19 | [#小書き]ノ[#小書き終わり] ※[#小書き片仮名ノ] 20 | [#小書き]マ[#小書き終わり] ※[#小書き片仮名マ] 21 | [#小書き]ヲ[#小書き終わり] ※[#小書き片仮名ヲ] 22 | [#小書き]ン[#小書き終わり] ※[#小書き片仮名ン] 23 | [#小書き]ヰ[#小書き終わり] ※[#小書き片仮名ヰ] 24 | [#小書き]ヱ[#小書き終わり] ※[#小書き片仮名ヱ] 25 | 26 | -------------------------------------------------------------------------------- /chuki_latin.txt: -------------------------------------------------------------------------------- 1 | ######## 拡張ラテン文字変換 ######## 2 | ###分割表記 UTF-8 CID CID縦 3 | 4 | ###Latin-1 Supplement 5 | !@ ¡ 101 9062 6 | ª 140 8859 7 | ?@ ¿ 126 9063 8 | A` À 164 8883 9 | A' Á 165 8884 10 | A^  166 8885 11 | A~ à 167 8886 12 | A: Ä 168 8887 13 | A& Å 169 8888 14 | AE& Æ 139 8858 15 | C, Ç 170 8889 16 | E` È 171 8890 17 | E' É 172 8891 18 | E^ Ê 173 8892 19 | E: Ë 174 8893 20 | I` Ì 175 8894 21 | I' Í 176 8895 22 | I^ Î 177 8896 23 | I: Ï 178 8897 24 | Ð 179 8898 25 | N~ Ñ 180 8899 26 | O` Ò 181 8900 27 | O' Ó 182 8901 28 | O^ Ô 183 8902 29 | O~ Õ 184 8903 30 | O: Ö 185 8904 31 | ## × 186 32 | O/ Ø 142 8861 33 | U` Ù 187 8906 34 | U' Ú 188 8907 35 | U^ Û 189 8908 36 | U: Ü 190 8909 37 | Y' Ý 191 8910 38 | Þ 192 8911 39 | s& ß 150 8869 40 | a` à 193 8912 41 | a' á 194 8913 42 | a^ â 195 8914 43 | a~ ã 196 8915 44 | a: ä 197 8916 45 | a& å 198 8917 46 | ae& æ 145 8864 47 | c, ç 199 8918 48 | e` è 200 8919 49 | e' é 201 8920 50 | e^ ê 202 8921 51 | e: ë 203 8922 52 | i` ì 204 8923 53 | i' í 205 8924 54 | i^ î 206 8925 55 | i: ï 207 8926 56 | ð 208 8927 57 | n~ ñ 209 8928 58 | o` ò 210 8929 59 | o' ó 211 8930 60 | o^ ô 212 8931 61 | o~ õ 213 8932 62 | o: ö 214 8933 63 | ## ÷ 215 64 | o/ ø 148 8867 65 | u` ù 216 8935 66 | u' ú 217 8936 67 | u^ û 218 8937 68 | u: ü 219 8938 69 | y' ý 220 8939 70 | þ 221 8940 71 | y: ÿ 222 8941 72 | 73 | ###Latin Extended-A 74 | A_ Ā 9366 12882 75 | a_ ā 9361 12877 76 | Ă 77 | ă 78 | Ą 79 | ą 80 | C' Ć 81 | c' ć 82 | C^ Ĉ 83 | c^ ĉ 84 | Ċ 85 | ċ 86 | Č 87 | č 88 | Ď 89 | ď 90 | D_ Đ 91 | d_ đ 92 | E_ Ē 9369 12885 93 | e_ ē 9364 12880 94 | Ĕ 95 | ĕ 96 | Ė 97 | ė 98 | Ę 99 | ę 100 | Ě 101 | ě 102 | G^ Ĝ 103 | g^ ĝ 104 | Ğ 105 | ğ 106 | Ġ 107 | ġ 108 | G, Ģ 109 | ģ 110 | H^ Ĥ 111 | h^ ĥ 112 | H_ Ħ 113 | h_ ħ 114 | I~ Ĩ 115 | i~ ĩ 116 | I_ Ī 9367 12883 117 | i_ ī 9362 12878 118 | Ĭ 119 | ĭ 120 | Į 121 | į 122 | İ 123 | ı 146 8865 124 | IJ& IJ 125 | ij& ij 126 | J^ Ĵ 127 | j^ ĵ 128 | K, Ķ 129 | k, ķ 130 | ĸ 131 | L' Ĺ 132 | l' ĺ 133 | L, Ļ 134 | l, ļ 135 | Ľ 136 | ľ 137 | Ŀ 138 | ŀ 139 | L/ Ł 141 8860 140 | l/ ł 147 8866 141 | N' Ń 142 | n' ń 143 | N, Ņ 144 | n, ņ 145 | Ň 146 | ň 147 | ʼn 148 | Ŋ 149 | ŋ 150 | O_ Ō 9370 12886 151 | o_ ō 9365 12881 152 | Ŏ 153 | ŏ 154 | O" Ő 155 | o" ő 156 | OE& Œ 143 8862 157 | oe& œ 149 8868 158 | R' Ŕ 159 | r' ŕ 160 | R, Ŗ 161 | r, ŗ 162 | Ř 163 | ř 164 | S' Ś 165 | s' ś 166 | S^ Ŝ 167 | s^ ŝ 168 | S, Ş 169 | s, ş 170 | Š 223 8942 171 | š 227 8946 172 | T, Ţ 173 | t, ţ 174 | Ť 175 | ť 176 | T_ Ŧ 177 | t_ ŧ 178 | U~ Ũ 179 | u~ ũ 180 | U_ Ū 9368 12884 181 | u_ ū 9363 12879 182 | Ŭ 183 | ŭ 184 | U& Ů 185 | u& ů 186 | U" Ű 187 | u" ű 188 | Ų 189 | ų 190 | W^ Ŵ 191 | w^ ŵ 192 | Y^ Ŷ 193 | y^ ŷ 194 | Y: Ÿ 224 8943 195 | Z' Ź 196 | z' ź 197 | Ż 198 | ż 199 | Ž 225 8944 200 | ž 229 8948 201 | ſ 202 | -------------------------------------------------------------------------------- /chuki_tag_suf.txt: -------------------------------------------------------------------------------- 1 | ##○○[#「○○」の場合にインライン注記に変換 2 | # 3 | #圏点と縦中横が重複したら後の注記を無視 4 | #青空《あおぞら》[[#「青空」に傍点][#「青空」は太字]文庫《ぶんこ》[#「青空文庫」に傍線] 5 | #圏点はfontの中に入れる 6 | #青空[#「青空」は太字][#「青空」に傍点]文庫《ぶんこ》[#「青空文庫」に傍線] 7 | 8 | ##kenten 末尾が「点」 9 | に傍点 傍点 傍点終わり 10 | に白ゴマ傍点 白ゴマ傍点 白ゴマ傍点終わり 11 | に丸傍点 丸傍点 丸傍点終わり 12 | に白丸傍点 白丸傍点 白丸傍点終わり 13 | に黒三角傍点 黒三角傍点 黒三角傍点終わり 14 | に白三角傍点 白三角傍点 白三角傍点終わり 15 | に二重丸傍点 二重丸傍点 二重丸傍点終わり 16 | に蛇の目傍点 蛇の目傍点 蛇の目傍点終わり 17 | にばつ傍点 ばつ傍点 ばつ傍点終わり 18 | に×傍点 ×傍点 ×傍点終わり 19 | 20 | の左に傍点 左に傍点 左に傍点終わり 21 | の左に白ゴマ傍点 左に白ゴマ傍点 左に白ゴマ傍点終わり 22 | の左に丸傍点 左に丸傍点 左に丸傍点終わり 23 | の左に白丸傍点 左に白丸傍点 左に白丸傍点終わり 24 | の左に黒三角傍点 左に黒三角傍点 左に黒三角傍点終わり 25 | の左に白三角傍点 左に白三角傍点 左に白三角傍点終わり 26 | の左に二重丸傍点 左に二重丸傍点 左に二重丸傍点終わり 27 | の左に蛇の目傍点 左に蛇の目傍点 左に蛇の目傍点終わり 28 | の左にばつ傍点 左にばつ傍点 左にばつ傍点終わり 29 | の左に×傍点 左に×傍点 左に×傍点終わり 30 | 31 | は縦中横 縦中横 縦中横終わり 32 | 33 | は見出し 見出し 見出し終わり 34 | は大見出し 大見出し 大見出し終わり 35 | は中見出し 中見出し 中見出し終わり 36 | は小見出し 小見出し 小見出し終わり 37 | 38 | は同行大見出し 同行大見出し 同行大見出し終わり 39 | は同行中見出し 同行中見出し 同行中見出し終わり 40 | は同行小見出し 同行小見出し 同行小見出し終わり 41 | 42 | は窓大見出し 窓大見出し 窓大見出し終わり 43 | は窓中見出し 窓中見出し 窓中見出し終わり 44 | は窓小見出し 窓小見出し 窓小見出し終わり 45 | 46 | に傍線 傍線 傍線終わり 47 | に二重傍線 二重傍線 二重傍線終わり 48 | に鎖線 鎖線 鎖線終わり 49 | に破線 破線 破線終わり 50 | に波線 波線 波線終わり 51 | の左に傍線 左に傍線 左に傍線終わり 52 | 53 | に取消線 取消線 取消線終わり 54 | に取り消し線 取り消し線 取り消し線終わり 55 | に二重取消線 二重取消線 二重取消線終わり 56 | に二重取り消し線 二重取り消し線 二重取り消し線終わり 57 | 58 | は太字 太字 太字終わり 59 | は斜体 斜体 斜体終わり 60 | はゴシック体 ゴシック体 ゴシック体終わり 61 | 62 | は1段階大きな文字 1段階大きな文字 大きな文字終わり 63 | は2段階大きな文字 2段階大きな文字 大きな文字終わり 64 | は3段階大きな文字 3段階大きな文字 大きな文字終わり 65 | は4段階大きな文字 4段階大きな文字 大きな文字終わり 66 | は5段階大きな文字 5段階大きな文字 大きな文字終わり 67 | は6段階大きな文字 6段階大きな文字 大きな文字終わり 68 | は1段階小さな文字 1段階小さな文字 小さな文字終わり 69 | は2段階小さな文字 2段階小さな文字 小さな文字終わり 70 | は3段階小さな文字 3段階小さな文字 小さな文字終わり 71 | は4段階小さな文字 4段階小さな文字 小さな文字終わり 72 | は5段階小さな文字 5段階小さな文字 小さな文字終わり 73 | は6段階小さな文字 6段階小さな文字 小さな文字終わり 74 | 75 | は割り注 割り注 割り注終わり 76 | は行右小書き 行右小書き 行右小書き終わり 77 | は行左小書き 行左小書き 行左小書き終わり 78 | は小書き 小書き 小書き終わり 79 | は上付き小文字 上付き小文字 上付き小文字終わり 80 | は下付き小文字 下付き小文字 下付き小文字終わり 81 | は罫囲み 罫囲み 罫囲み終わり 82 | は破線罫囲み 破線罫囲み 破線罫囲み終わり 83 | は破線の罫囲み 破線の罫囲み 破線の罫囲み終わり 84 | は枠囲み 枠囲み 枠囲み終わり 85 | は破線枠囲み 破線枠囲み 破線枠囲み終わり 86 | は横組み 横組み 横組み終わり 87 | 88 | は返り点 返り点 返り点終わり 89 | 90 | はキャプション キャプション キャプション終わり 91 | 92 | #青空注記外 93 | は正立 正立 正立終わり 94 | 95 | ##文字色 96 | は銀色 銀色 銀色終わり 97 | は白鼠色 白鼠色 白鼠色終わり 98 | は白色 白色 白色終わり 99 | は黒地白色 黒地白色 黒地白色終わり 100 | は透明色 透明色 透明色終わり 101 | は灰地透明色 灰地透明色 灰地透明色終わり 102 | は赤色 赤色 赤色終わり 103 | は青色 青色 青色終わり 104 | は水色 水色 水色終わり 105 | は赤紫色 赤紫色 赤紫色終わり 106 | は橙色 橙色 橙色終わり 107 | 108 | ##背景 109 | は灰背景 灰背景 灰背景終わり 110 | は鼠背景 鼠背景 鼠背景終わり 111 | は銀背景 銀背景 銀背景終わり 112 | は白鼠背景 白鼠背景 白鼠背景終わり 113 | は白背景 白背景 白背景終わり 114 | は透明背景 透明背景 透明背景終わり 115 | は赤背景 赤背景 赤背景終わり 116 | は青背景 青背景 青背景終わり 117 | は水背景 水背景 水背景終わり 118 | は赤紫背景 赤紫背景 赤紫背景終わり 119 | は橙背景 橙背景 橙背景終わり -------------------------------------------------------------------------------- /gaiji/README.txt: -------------------------------------------------------------------------------- 1 | 外字用1文字フォント格納パス 2 | ============ 3 | 4 | 説明 5 | ------------ 6 | このパスに1文字フォントファイルを配置することで、1文字フォントファイル名に 7 | 対応した文字を1文字フォントで表示します。 8 | 9 | 1文字フォントは http://glyphwiki.org/wiki/ からダウンロードできます。 10 | 1文字フォント利用時は文字は1文字フォント対応文字の 〓 に変換されてePubに出力します。 11 | 12 | ファイル名はGlyphWikiの1文字フォントの形式(小文字)のみ対応になります。 13 | 通常の文字: "u"+ Unicode +".ttf" 14 | IVS付きの文字: "u"+ Unicode +"-u"+ IVSコード +".ttf" 15 | 例: 16 | ※[#「叢-取」、U+4E35] → u4e35.ttf 17 | ※[#U+4E35] → u4e35.ttf 18 | ※[#「王+車」、U+2496D]→ u2496d.ttf 19 | ※[#U+2496D]→ u2496d.ttf 20 | ※[#「にんべん+誨のつくり」] → u4fae-ue0101.ttf (侮の異体字) 21 | ※[#U+4FAE-E0101] → u4fae-ue0101.ttf (侮の異体字) 22 | 23 | 24 | フォントの調整 25 | ------------ 26 | GlyphWikiの1文字フォントのそのまま利用で、上下に余白が出たり細すぎる場合は、 27 | 以下の手順で修正できます。 28 | 29 | ####fontforgeの画面上での操作 30 | 31 | 1.fontforgeをインストール 32 | fontforge: https://fontforge.org/ 33 | 2.フォントを選択 34 | 起動時に1文字フォントファイルを開く 35 | エンコーディング → 定義済のグリフのみ表示 → フォントを選択 36 | 3.u0020とu3000を選択してカット 37 | 4.エレメント → フォント情報 → 一般情報 → 縦書きメトリックが存在 を選択 → OK 38 | 5.太くする場合はウェイト変更 39 | エレメント → スタイル→ウェイトを変更 → Embolden by [6]~[12]ぐらいを指定 → OK 40 | ※ウェイトは端末のフォントに合わせて若干太くすると違和感が無くなります 41 | 6.出力 42 | エレメント → 座標を丸める → 整数に 43 | ファイル → フォントを出力 → OK 44 | 45 | 46 | ####スクリプトでの一括変換 (Windowsの場合) 47 | 48 | 1.複数の1文字フォントを gaiji 以外の適当なフォルダに保存 49 | 2.1文字フォントのフォルダに gaiji/convert.pe をコピー 50 | 3.1文字フォントのフォルダをコマンドプロンプトで開く 51 | 4.スクリプトを実行(フォントのあるフォルダで実行すること) 52 | [fontforgeのパス]fontforge.exe -script convert.pe [AozoraEpub3のインストールパス]\gaiji *.ttf 53 | 例: c:\fontforge-cygwin\cygwin\bin\fontforge.exe -script convert.pe "c:\Program Files\AozoraEpub3\gaiji" *.ttf 54 | 55 | * エラーが出た場合 56 | 該当フォントをfontforgeで確認して重なり等を修正する 57 | または convert.pe 内の ExpandStroke() の値を調整 58 | -------------------------------------------------------------------------------- /gaiji/convert.pe: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/fontforge 2 | ## Revise 1-character font from http://glyphwiki.org/ 3 | ## d:\fontforge-cygwin\cygwin\bin\fontforge.exe -script "d:\git\AozoraEpub3\gaiji\convert.pe" "d:\git\AozoraEpub3\gaiji" *.ttf 4 | 5 | output = $argv[1] 6 | i=2 7 | while (i < $argc) 8 | filename = $argv[i] 9 | Print(filename); 10 | Open(filename); 11 | ClearHints(); 12 | Select(0u0020); 13 | Clear(); 14 | Select(0u3000); 15 | Clear(); 16 | Select(0u3013); 17 | CopyFgToBg(); 18 | ClearInstrs(); 19 | UnlinkReference(); 20 | ExpandStroke(6,0,1,0,1) 21 | CorrectDirection(); 22 | RoundToInt(); 23 | SetFontHasVerticalMetrics(1); 24 | Generate(output+"/"+filename); 25 | i = i+1 26 | endloop 27 | -------------------------------------------------------------------------------- /gaiji/dakuten/u303b-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u303b-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3041-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3041-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3041-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3041-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3042-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3042-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3042-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3042-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3043-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3043-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3043-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3043-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3044-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3044-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3044-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3044-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3045-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3045-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3045-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3045-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3046-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3046-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3047-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3047-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3047-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3047-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3048-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3048-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3048-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3048-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3049-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3049-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3049-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3049-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u304a-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u304a-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u304a-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u304a-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u304b-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u304b-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u304d-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u304d-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u304f-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u304f-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3051-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3051-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3053-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3053-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3055-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3055-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3057-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3057-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3059-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3059-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u305b-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u305b-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u305d-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u305d-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u305f-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u305f-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3061-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3061-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3063-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3063-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3063-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3063-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3064-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3064-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3066-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3066-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3068-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3068-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u306a-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u306a-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u306a-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u306a-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u306b-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u306b-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u306b-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u306b-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u306c-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u306c-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u306c-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u306c-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u306d-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u306d-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u306d-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u306d-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u306e-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u306e-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u306e-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u306e-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u307e-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u307e-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u307e-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u307e-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u307f-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u307f-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u307f-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u307f-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3080-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3080-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3080-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3080-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3081-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3081-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3081-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3081-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3082-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3082-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3082-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3082-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3083-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3083-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3083-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3083-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3084-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3084-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3084-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3084-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3085-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3085-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3085-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3085-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3086-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3086-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3086-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3086-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3087-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3087-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3087-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3087-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3088-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3088-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3088-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3088-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3089-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3089-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3089-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3089-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u308a-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u308a-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u308a-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u308a-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u308b-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u308b-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u308b-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u308b-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u308c-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u308c-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u308c-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u308c-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u308d-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u308d-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u308d-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u308d-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u308e-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u308e-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u308e-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u308e-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u308f-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u308f-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u308f-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u308f-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3090-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3090-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3090-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3090-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3091-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3091-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3091-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3091-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3092-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3092-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3092-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3092-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3093-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3093-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3093-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3093-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3095-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3095-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3095-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3095-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3096-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3096-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3096-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3096-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u309d-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u309d-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30a1-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30a1-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30a1-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30a1-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30a2-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30a2-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30a2-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30a2-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30a3-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30a3-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30a3-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30a3-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30a4-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30a4-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30a4-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30a4-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30a5-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30a5-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30a5-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30a5-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30a6-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30a6-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30a7-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30a7-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30a7-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30a7-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30a8-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30a8-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30a8-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30a8-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30a9-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30a9-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30a9-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30a9-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30aa-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30aa-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30aa-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30aa-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30ab-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30ab-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30ad-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30ad-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30af-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30af-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30b1-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30b1-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30b3-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30b3-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30b5-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30b5-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30b7-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30b7-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30b9-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30b9-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30bb-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30bb-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30bd-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30bd-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30bf-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30bf-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30c1-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30c1-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30c3-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30c3-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30c3-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30c3-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30c4-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30c4-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30c6-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30c6-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30c8-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30c8-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30ca-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30ca-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30ca-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30ca-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30cb-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30cb-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30cb-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30cb-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30cc-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30cc-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30cc-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30cc-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30cd-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30cd-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30cd-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30cd-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30ce-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30ce-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30ce-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30ce-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30de-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30de-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30de-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30de-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30df-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30df-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30df-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30df-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30e0-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30e0-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30e0-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30e0-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30e1-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30e1-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30e1-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30e1-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30e2-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30e2-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30e2-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30e2-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30e3-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30e3-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30e3-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30e3-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30e4-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30e4-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30e4-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30e4-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30e5-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30e5-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30e5-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30e5-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30e6-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30e6-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30e6-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30e6-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30e7-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30e7-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30e7-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30e7-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30e8-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30e8-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30e8-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30e8-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30e9-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30e9-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30e9-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30e9-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30ea-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30ea-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30ea-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30ea-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30eb-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30eb-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30eb-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30eb-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30ec-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30ec-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30ec-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30ec-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30ed-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30ed-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30ed-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30ed-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30ee-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30ee-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30ee-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30ee-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30ef-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30ef-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30f0-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30f0-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30f1-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30f1-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30f2-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30f2-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30f3-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30f3-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30f3-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30f3-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30f5-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30f5-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30f5-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30f5-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30f6-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30f6-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30f6-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30f6-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30fc-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30fc-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30fc-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30fc-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u30fd-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u30fd-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31f0-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31f0-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31f0-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31f0-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31f1-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31f1-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31f1-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31f1-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31f2-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31f2-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31f2-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31f2-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31f3-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31f3-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31f3-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31f3-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31f4-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31f4-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31f4-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31f4-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31f5-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31f5-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31f5-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31f5-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31f6-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31f6-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31f6-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31f6-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31f7-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31f7-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31f7-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31f7-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31f8-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31f8-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31f8-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31f8-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31f9-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31f9-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31f9-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31f9-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31fa-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31fa-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31fa-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31fa-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31fb-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31fb-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31fb-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31fb-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31fc-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31fc-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31fc-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31fc-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31fd-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31fd-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31fd-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31fd-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31fe-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31fe-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31fe-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31fe-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31ff-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31ff-u3099.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u31ff-u309a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u31ff-u309a.ttf -------------------------------------------------------------------------------- /gaiji/dakuten/u3b9-u3099.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/gaiji/dakuten/u3b9-u3099.ttf -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- 1 | @rem 2 | @rem Copyright 2015 the original author or authors. 3 | @rem 4 | @rem Licensed under the Apache License, Version 2.0 (the "License"); 5 | @rem you may not use this file except in compliance with the License. 6 | @rem You may obtain a copy of the License at 7 | @rem 8 | @rem https://www.apache.org/licenses/LICENSE-2.0 9 | @rem 10 | @rem Unless required by applicable law or agreed to in writing, software 11 | @rem distributed under the License is distributed on an "AS IS" BASIS, 12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | @rem See the License for the specific language governing permissions and 14 | @rem limitations under the License. 15 | @rem 16 | 17 | @if "%DEBUG%"=="" @echo off 18 | @rem ########################################################################## 19 | @rem 20 | @rem Gradle startup script for Windows 21 | @rem 22 | @rem ########################################################################## 23 | 24 | @rem Set local scope for the variables with windows NT shell 25 | if "%OS%"=="Windows_NT" setlocal 26 | 27 | set DIRNAME=%~dp0 28 | if "%DIRNAME%"=="" set DIRNAME=. 29 | set APP_BASE_NAME=%~n0 30 | set APP_HOME=%DIRNAME% 31 | 32 | @rem Resolve any "." and ".." in APP_HOME to make it shorter. 33 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi 34 | 35 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 36 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" 37 | 38 | @rem Find java.exe 39 | if defined JAVA_HOME goto findJavaFromJavaHome 40 | 41 | set JAVA_EXE=java.exe 42 | %JAVA_EXE% -version >NUL 2>&1 43 | if %ERRORLEVEL% equ 0 goto execute 44 | 45 | echo. 46 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 47 | echo. 48 | echo Please set the JAVA_HOME variable in your environment to match the 49 | echo location of your Java installation. 50 | 51 | goto fail 52 | 53 | :findJavaFromJavaHome 54 | set JAVA_HOME=%JAVA_HOME:"=% 55 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 56 | 57 | if exist "%JAVA_EXE%" goto execute 58 | 59 | echo. 60 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 61 | echo. 62 | echo Please set the JAVA_HOME variable in your environment to match the 63 | echo location of your Java installation. 64 | 65 | goto fail 66 | 67 | :execute 68 | @rem Setup the command line 69 | 70 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 71 | 72 | 73 | @rem Execute Gradle 74 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* 75 | 76 | :end 77 | @rem End local scope for the variables with windows NT shell 78 | if %ERRORLEVEL% equ 0 goto mainEnd 79 | 80 | :fail 81 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 82 | rem the _cmd.exe /c_ return code! 83 | set EXIT_CODE=%ERRORLEVEL% 84 | if %EXIT_CODE% equ 0 set EXIT_CODE=1 85 | if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% 86 | exit /b %EXIT_CODE% 87 | 88 | :mainEnd 89 | if "%OS%"=="Windows_NT" endlocal 90 | 91 | :omega 92 | -------------------------------------------------------------------------------- /lib/LICENSE/jsoup.txt: -------------------------------------------------------------------------------- 1 | jsoup License 2 | 3 | The jsoup code-base (include source and compiled packages) are distributed 4 | under the open source MIT license as described below. 5 | 6 | The MIT License 7 | 8 | Copyright © 2009 - 2012 Jonathan Hedley (jonathan@hedley.net) 9 | 10 | Permission is hereby granted, free of charge, to any person obtaining 11 | a copy of this software and associated documentation files (the "Software"), 12 | to deal in the Software without restriction, including without limitation 13 | the rights to use, copy, modify, merge, publish, distribute, sublicense, 14 | and/or sell copies of the Software, and to permit persons to whom the 15 | Software is furnished to do so, subject to the following conditions: 16 | 17 | The above copyright notice and this permission notice shall be included 18 | in all copies or substantial portions of the Software. 19 | 20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 23 | THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | THE SOFTWARE. 27 | 28 | 29 | http://jsoup.org/ -------------------------------------------------------------------------------- /lib/LICENSE/junrar.txt: -------------------------------------------------------------------------------- 1 |  ****** ***** ****** UnRAR - free utility for RAR archives 2 | ** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3 | ****** ******* ****** License for use and distribution of 4 | ** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5 | ** ** ** ** ** ** FREE portable version 6 | ~~~~~~~~~~~~~~~~~~~~~ 7 | 8 | The source code of UnRAR utility is freeware. This means: 9 | 10 | 1. All copyrights to RAR and the utility UnRAR are exclusively 11 | owned by the author - Alexander Roshal. 12 | 13 | 2. The UnRAR sources may be used in any software to handle RAR 14 | archives without limitations free of charge, but cannot be used 15 | to re-create the RAR compression algorithm, which is proprietary. 16 | Distribution of modified UnRAR sources in separate form or as a 17 | part of other software is permitted, provided that it is clearly 18 | stated in the documentation and source comments that the code may 19 | not be used to develop a RAR (WinRAR) compatible archiver. 20 | 21 | 3. The UnRAR utility may be freely distributed. It is allowed 22 | to distribute UnRAR inside of other software packages. 23 | 24 | 4. THE RAR ARCHIVER AND THE UnRAR UTILITY ARE DISTRIBUTED "AS IS". 25 | NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED. YOU USE AT 26 | YOUR OWN RISK. THE AUTHOR WILL NOT BE LIABLE FOR DATA LOSS, 27 | DAMAGES, LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING 28 | OR MISUSING THIS SOFTWARE. 29 | 30 | 5. Installing and using the UnRAR utility signifies acceptance of 31 | these terms and conditions of the license. 32 | 33 | 6. If you don't agree with terms of the license you must remove 34 | UnRAR files from your storage devices and cease to use the 35 | utility. 36 | 37 | Thank you for your interest in RAR and UnRAR. 38 | 39 | 40 | Alexander L. Roshal 41 | 42 | 43 | https://github.com/edmund-wagner/junrar -------------------------------------------------------------------------------- /lib/LICENSE/velocity.txt: -------------------------------------------------------------------------------- 1 | Apache Velocity 2 | 3 | Copyright (C) 2000-2007 The Apache Software Foundation 4 | 5 | This product includes software developed at 6 | The Apache Software Foundation (http://www.apache.org/). 7 | 8 | 9 | http://velocity.apache.org/ -------------------------------------------------------------------------------- /presets/kindle_fire.ini: -------------------------------------------------------------------------------- 1 | #AozoraEpub3 Preset 2 | 3 | PresetName=Kindle fire 4 | PresetIcon=kindle.png 5 | 6 | Ext=.mobi 7 | 8 | PageBreak= 9 | 10 | DispW=1600 11 | DispH=2560 12 | CoverW=0 13 | CoverH=0 14 | 15 | ImageSizeType=1 16 | FitImage=0 17 | ImageFloatPage=0 18 | ImageFloatBlock=0 19 | SvgImage=0 20 | 21 | MarkId= 22 | Gaiji32=1 23 | 24 | SpaceHyphenation=1 25 | 26 | PageMargin=0,0,0,0 27 | PageMarginUnit=0 28 | BodyMargin=0,0,0,0 29 | BodyMarginUnit=0 30 | LineHeight=1.5 31 | FontSize=100 32 | BoldUseGothic=0 -------------------------------------------------------------------------------- /presets/kindle_pw.ini: -------------------------------------------------------------------------------- 1 | #AozoraEpub3 Preset 2 | 3 | PresetName=Kindle PW 4 | PresetIcon=kindle.png 5 | 6 | Ext=.mobi 7 | 8 | PageBreak= 9 | 10 | DispW=629 11 | DispH=984 12 | CoverW=758 13 | CoverH=1024 14 | 15 | ImageSizeType=1 16 | FitImage=0 17 | ImageFloatPage=0 18 | ImageFloatBlock=0 19 | SvgImage=0 20 | 21 | MarkId= 22 | Gaiji32=1 23 | 24 | SpaceHyphenation=1 25 | 26 | PageMargin=0,0,0,0 27 | PageMarginUnit=0 28 | BodyMargin=0,0,0,0 29 | BodyMarginUnit=0 30 | LineHeight=1.5 31 | FontSize=100 32 | BoldUseGothic=0 -------------------------------------------------------------------------------- /presets/kobo__full.ini: -------------------------------------------------------------------------------- 1 | #AozoraEpub3 Preset 2 | 3 | PresetName=+ kobo\u5168\u753B\u9762 4 | PresetIcon=kobo.png 5 | 6 | Ext=.fxl.kepub.epub 7 | 8 | PageMargin=0,0,0,0 9 | PageMarginUnit=0 10 | BodyMargin=1,0.5,1,0.5 11 | -------------------------------------------------------------------------------- /presets/kobo_glo.ini: -------------------------------------------------------------------------------- 1 | #AozoraEpub3 Preset 2 | 3 | PresetName=kobo glo 4 | PresetIcon=kobo.png 5 | 6 | Ext=.kepub.epub 7 | 8 | PageBreak=1 9 | PageBreakSize=400 10 | PageBreakEmptySize=300 11 | PageBreakChapterSize=250 12 | 13 | DispW=758 14 | DispH=1024 15 | CoverW=758 16 | CoverH=1024 17 | 18 | ImageSizeType=1 19 | FitImage=1 20 | ImageFloatPage=0 21 | ImageFloatBlock=0 22 | SvgImage=1 23 | 24 | MarkId=1 25 | Gaiji32=1 26 | 27 | SpaceHyphenation=1 28 | 29 | PageMargin=0,0.5,0,0 30 | PageMarginUnit=0 31 | BodyMargin=0,0,0,0 32 | BodyMarginUnit=0 33 | LineHeight=1.8 34 | FontSize=100 35 | BoldUseGothic=0 -------------------------------------------------------------------------------- /presets/kobo_touch.ini: -------------------------------------------------------------------------------- 1 | #AozoraEpub3 Preset 2 | 3 | PresetName=kobo Touch / mini 4 | PresetIcon=kobo.png 5 | 6 | Ext=.kepub.epub 7 | 8 | PageBreak=1 9 | PageBreakSize=400 10 | PageBreakEmptySize=300 11 | PageBreakChapterSize=250 12 | 13 | DispW=600 14 | DispH=800 15 | CoverW=600 16 | CoverH=800 17 | 18 | ImageSizeType=1 19 | FitImage=1 20 | ImageFloatPage=0 21 | ImageFloatBlock=0 22 | SvgImage=1 23 | 24 | MarkId=1 25 | Gaiji32=1 26 | 27 | SpaceHyphenation=1 28 | 29 | PageMargin=0,0.5,0,0 30 | PageMarginUnit=0 31 | BodyMargin=0,0,0,0 32 | BodyMarginUnit=0 33 | LineHeight=1.8 34 | FontSize=100 35 | BoldUseGothic=0 -------------------------------------------------------------------------------- /presets/reader.ini: -------------------------------------------------------------------------------- 1 | #AozoraEpub3 Preset 2 | 3 | PresetName=Sony Reader T1/T2 4 | PresetIcon=reader.png 5 | 6 | Ext=.epub 7 | 8 | PageBreak=1 9 | PageBreakSize=300 10 | PageBreakEmptySize=250 11 | PageBreakChapterSize=200 12 | 13 | DispW=584 14 | DispH=754 15 | CoverW=600 16 | CoverH=800 17 | 18 | ImageSizeType=3 19 | FitImage=1 20 | ImageFloatPage=1 21 | ImageFloatBlock=1 22 | SvgImage=1 23 | 24 | MarkId= 25 | Gaiji32=1 26 | ResizeW=1 27 | ResizeH=1 28 | ResizeNumW=2048 29 | ResizeNumH=2048 30 | 31 | SpaceHyphenation=2 32 | 33 | PageMargin=0,0,0,0 34 | PageMarginUnit=0 35 | BodyMargin=1,1,0.5,0.5 36 | BodyMarginUnit=0 37 | LineHeight=1.8 38 | FontSize=100 39 | GothicUseBold=1 -------------------------------------------------------------------------------- /presets/reader_t3.ini: -------------------------------------------------------------------------------- 1 | #AozoraEpub3 Preset 2 | 3 | PresetName=Sony Reader T3 4 | PresetIcon=reader.png 5 | 6 | Ext=.epub 7 | 8 | PageBreak=1 9 | PageBreakSize=300 10 | PageBreakEmptySize=250 11 | PageBreakChapterSize=200 12 | 13 | DispW=738 14 | DispH=965 15 | CoverW=758 16 | CoverH=1024 17 | 18 | ImageSizeType=3 19 | FitImage=1 20 | ImageFloatPage=1 21 | ImageFloatBlock=1 22 | SvgImage=1 23 | 24 | MarkId= 25 | Gaiji32=1 26 | ResizeW=1 27 | ResizeH=1 28 | ResizeNumW=2048 29 | ResizeNumH=2048 30 | 31 | SpaceHyphenation=2 32 | 33 | PageMargin=0,0,0,0 34 | PageMarginUnit=0 35 | BodyMargin=1,1,0.5,0.5 36 | BodyMarginUnit=0 37 | LineHeight=1.8 38 | FontSize=100 39 | GothicUseBold=1 -------------------------------------------------------------------------------- /replace_sample.txt: -------------------------------------------------------------------------------- 1 | ######## 文字置換 ######## 2 | ### 利用する場合は replace.txt にリネーム 3 | ### 置換前文字(1~2文字のみ)と置換後文字列をタブ区切りで指定 4 | ### 置換後文字列に閉じていないタグの < か > が含まれているとxhtmlエラーになるので注意 5 | ### 縦書き時 “→〝,”→〟,<<→《,<<→《,≪→《,>>→》,>>→》,≫→》の変換はハードコーディング 6 | 7 | ##Readerで回転されない文字 8 | - ― 9 | < 〈 10 | > 〉 11 | 12 | ##カギ括弧閉じ前の 。 を削除 13 | 。」 」 14 | 15 | -------------------------------------------------------------------------------- /src/com/github/hmdev/converter/GlyphConverter.java: -------------------------------------------------------------------------------- 1 | package com.github.hmdev.converter; 2 | import java.io.BufferedReader; 3 | import java.io.BufferedWriter; 4 | import java.io.File; 5 | import java.io.FileInputStream; 6 | import java.io.IOException; 7 | import java.io.InputStreamReader; 8 | import java.io.OutputStreamWriter; 9 | import java.nio.charset.StandardCharsets; 10 | import java.util.HashMap; 11 | 12 | import com.github.hmdev.util.LogAppender; 13 | 14 | /** 15 | * パラメータファイルで指定されたUTF-8をグリフタグに変換するクラス 16 | * XMDF変換で利用していてePub3では未使用 17 | */ 18 | public class GlyphConverter 19 | { 20 | /** 分解表記文字列→拡張ラテン文字の対応テーブル */ 21 | HashMap cidMap = new HashMap(); 22 | 23 | /** 初期化 パラメータファイル読み込み 24 | * @throws IOException */ 25 | public GlyphConverter(StringBuilder log, String dir) throws IOException 26 | { 27 | File dirFile = new File(dir); 28 | if (dirFile.isDirectory()) { 29 | for (File file : dirFile.listFiles()) { 30 | System.out.println(file.getPath()); 31 | this.loadCidFile(log, file, cidMap); 32 | } 33 | } 34 | } 35 | 36 | /** 注記変換ファイル読み込み 37 | * @throws IOException */ 38 | private void loadCidFile(StringBuilder log, File srcFile, HashMap cidMap) throws IOException 39 | { 40 | try (BufferedReader src = new BufferedReader(new InputStreamReader(new FileInputStream(srcFile), StandardCharsets.UTF_8))) { 41 | String line; 42 | int lineNum = 0; 43 | while ((line = src.readLine()) != null) { 44 | lineNum++; 45 | if (!line.isEmpty() && line.charAt(0) != '#') { 46 | try { 47 | String[] values = line.split("\t"); 48 | char ch = values[0].charAt(0); 49 | if (!cidMap.containsKey(ch)) cidMap.put(ch, values[1]); 50 | } catch (Exception e) { 51 | LogAppender.error(lineNum, srcFile.getName(), line); 52 | } 53 | } 54 | } 55 | } 56 | } 57 | 58 | /** UTF-8をグリフタグに変換 59 | * @throws IOException */ 60 | public void convertGlyph(BufferedReader src, BufferedWriter out) throws IOException 61 | { 62 | String line; 63 | char[] arr; 64 | while ((line=src.readLine()) != null) { 65 | arr = line.toCharArray(); 66 | for (int i=0; i"); 82 | } 83 | } 84 | 85 | public static void main(String[] args) 86 | { 87 | StringBuilder log = new StringBuilder(); 88 | try { 89 | GlyphConverter converter = new GlyphConverter(log, "Glyph_JIS1-4"); 90 | BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out)); 91 | converter.printGlyphTag(out, '㎎'); 92 | out.close(); 93 | } catch (IOException e) { 94 | e.printStackTrace(); 95 | } 96 | } 97 | } 98 | -------------------------------------------------------------------------------- /src/com/github/hmdev/converter/LatinConverter.java: -------------------------------------------------------------------------------- 1 | package com.github.hmdev.converter; 2 | 3 | import java.io.BufferedReader; 4 | import java.io.File; 5 | import java.io.FileInputStream; 6 | import java.io.IOException; 7 | import java.io.InputStreamReader; 8 | import java.nio.charset.StandardCharsets; 9 | import java.util.HashMap; 10 | 11 | import com.github.hmdev.util.LogAppender; 12 | 13 | 14 | /** 15 | * 「基本ラテン文字のみによる拡張ラテン文字Aの分解表記」の変換クラス 16 | */ 17 | public class LatinConverter 18 | { 19 | /** 分解表記文字列→拡張ラテン文字の対応テーブル */ 20 | HashMap latinMap = new HashMap(); 21 | /** 分解表記文字列→CIDコードの対応テーブル 22 | * int[]{横書き時のグリフのCID, 縦書き時(右90度)のグリフのCID} */ 23 | HashMap latinCidMap = new HashMap(); 24 | 25 | public LatinConverter(File file) throws IOException 26 | { 27 | //String srcFileName = "chuki_latin.txt"; 28 | try (BufferedReader src = new BufferedReader(new InputStreamReader(new FileInputStream(file), StandardCharsets.UTF_8))) { 29 | String line; 30 | int lineNum = 0; 31 | while ((line = src.readLine()) != null) { 32 | lineNum++; 33 | if (!line.isEmpty() && line.charAt(0) != '#') { 34 | try { 35 | String[] values = line.split("\t"); 36 | char ch = values[1].charAt(0); 37 | if (!values[0].isEmpty()) latinMap.put(values[0], ch); 38 | if (values.length > 3) latinCidMap.put(ch, new String[]{values[2], values[3]}); 39 | } catch (Exception e) { 40 | LogAppender.error(lineNum, file.getName(), line); 41 | } 42 | } 43 | } 44 | } 45 | } 46 | 47 | /** 分解表記の文字単体をUTF-8文字に変換 */ 48 | Character toLatinCharacter(String separated) 49 | { 50 | return latinMap.get(separated); 51 | } 52 | 53 | /** 分解表記を含む英字文字列をUTF-8文字列に変換 */ 54 | public String toLatinString(String separated) 55 | { 56 | char[] ch = separated.toCharArray(); 57 | char[] out = new char[ch.length]; 58 | Character latin; 59 | int outIdx = 0; 60 | for (int i=0; i"; 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /src/com/github/hmdev/converter/PageBreakType.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 改ページ情報 3 | */ 4 | package com.github.hmdev.converter; 5 | 6 | public class PageBreakType 7 | { 8 | /** 次のページは画像単ページではない */ 9 | final static public int IMAGE_PAGE_NONE = 0; 10 | /** 単ページ 幅100% */ 11 | final static public int IMAGE_PAGE_W = 1; 12 | /** 単ページ 高さ100% */ 13 | final static public int IMAGE_PAGE_H = 2; 14 | /** 単ページ サイズ変更無し */ 15 | final static public int IMAGE_PAGE_NOFIT = 5; 16 | /** 単ページ サイズに応じて自動調整 未使用? */ 17 | final static public int IMAGE_PAGE_AUTO = 10; 18 | 19 | /** 幅合わせ 画面サイズよりも大きい場合 */ 20 | final static public int IMAGE_INLINE_W = 11; 21 | /** 高さ合わせ 画面サイズよりも大きい場合 */ 22 | final static public int IMAGE_INLINE_H = 12; 23 | 24 | /** 回り込み上 */ 25 | final static public int IMAGE_INLINE_TOP = 20; 26 | /** 回り込み下 */ 27 | final static public int IMAGE_INLINE_BOTTOM = 21; 28 | /** 回り込み上 幅合わせ */ 29 | final static public int IMAGE_INLINE_TOP_W = 25; 30 | /** 回り込み下 幅合わせ */ 31 | final static public int IMAGE_INLINE_BOTTOM_W = 26; 32 | 33 | /** ページタイプ 通常 */ 34 | final static public int PAGE_NORMAL = 0; 35 | /** ページタイプ 中央寄せ */ 36 | final static public int PAGE_MIDDLE = 1; 37 | /** ページタイプ 下付き */ 38 | final static public int PAGE_BOTTOM = 2; 39 | 40 | /** 空のページは無視する */ 41 | boolean ignoreEmptyPage = true; 42 | /** 次のページは左右中央 */ 43 | int pageType = PAGE_NORMAL; 44 | /** 次のページは画像 */ 45 | int imagePageType = IMAGE_PAGE_NONE; 46 | 47 | /** 目次に出力しない */ 48 | boolean noChapter = false; 49 | 50 | /** 画像単一ページの場合の画像ファイル名 */ 51 | String srcFileName = null; 52 | /** 出力時のファイル名 */ 53 | String dstFileName = null; 54 | 55 | /** 56 | * @param ignoreEmptyPage 57 | * //@param isMiddle 58 | * //@param isImage */ 59 | public PageBreakType(boolean ignoreEmptyPage, int pageType, int imagePageType) 60 | { 61 | this(ignoreEmptyPage, pageType, imagePageType, false); 62 | } 63 | public PageBreakType(boolean ignoreEmptyPage, int pageType, int imagePageType, boolean noChapter) 64 | { 65 | super(); 66 | this.ignoreEmptyPage = ignoreEmptyPage; 67 | this.pageType = pageType; 68 | this.imagePageType = imagePageType; 69 | this.noChapter = noChapter; 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /src/com/github/hmdev/converter/RubyCharType.java: -------------------------------------------------------------------------------- 1 | package com.github.hmdev.converter; 2 | 3 | public enum RubyCharType 4 | { 5 | NULL, KANJI, ALPHA, FULLALPHA, HIRAGANA, KATAKANA 6 | } 7 | -------------------------------------------------------------------------------- /src/com/github/hmdev/info/BookInfoHistory.java: -------------------------------------------------------------------------------- 1 | package com.github.hmdev.info; 2 | 3 | /** 前回の変換時の履歴 4 | * 表示編集情報 5 | * */ 6 | public class BookInfoHistory 7 | { 8 | /** 表紙編集情報 */ 9 | public CoverEditInfo coverEditInfo; 10 | /** 表紙ファイル名 フルパスかURL ""なら先頭の挿絵 nullなら表紙無し */ 11 | public String coverFileName; 12 | /** 表紙に使う挿絵の本文内Index -1なら本文内の挿絵は使わない */ 13 | public int coverImageIndex = -1; 14 | /** imageにしたとき用の元ファイルの拡張子 */ 15 | public String coverExt; 16 | 17 | public String title; 18 | public String titleAs; 19 | public String creator; 20 | public String creatorAs; 21 | public String publisher; 22 | 23 | public BookInfoHistory(BookInfo bookInfo) 24 | { 25 | this.coverEditInfo = bookInfo.coverEditInfo; 26 | this.coverFileName = bookInfo.coverFileName; 27 | this.coverImageIndex = bookInfo.coverImageIndex; 28 | this.coverExt = bookInfo.coverExt; 29 | 30 | this.title = bookInfo.title; 31 | this.titleAs = bookInfo.titleAs; 32 | this.creator = bookInfo.creator; 33 | this.creatorAs = bookInfo.creatorAs; 34 | this.publisher = bookInfo.publisher; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/com/github/hmdev/info/ChapterInfo.java: -------------------------------------------------------------------------------- 1 | package com.github.hmdev.info; 2 | 3 | import java.util.List; 4 | import com.github.hmdev.util.CharUtils; 5 | 6 | /** 目次用の章の情報を格納(仮) */ 7 | public class ChapterInfo 8 | { 9 | /** xhtmlファイルのセクション毎の連番ID */ 10 | String sectionId; 11 | /** 章ID 見出し行につけたspanのID */ 12 | String chapterId; 13 | /** 章名称 */ 14 | String chapterName; 15 | 16 | /** 目次階層レベル */ 17 | public int chapterLevel; 18 | 19 | /** 出力前に階層化開始タグを入れる回数 通常は1回 */ 20 | public int levelStart = 0; 21 | /** 出力後に階層化終了タグを入れる回数 */ 22 | public int levelEnd = 0; 23 | /** navPointを閉じる回数 */ 24 | public int navClose = 1; 25 | 26 | public ChapterInfo(String sectionId, String chapterId, String chapterName, int chapterLevel) 27 | { 28 | this.sectionId = sectionId; 29 | this.chapterId = chapterId; 30 | this.chapterName = chapterName; 31 | this.chapterLevel = chapterLevel; 32 | } 33 | 34 | public String getSectionId() 35 | { 36 | return sectionId; 37 | } 38 | public void setSectionId(String sectionId) 39 | { 40 | this.sectionId = sectionId; 41 | } 42 | 43 | public String getChapterId() 44 | { 45 | return chapterId; 46 | } 47 | public void setChapterId(String chapterId) 48 | { 49 | this.chapterId = chapterId; 50 | } 51 | 52 | public String getChapterName() 53 | { 54 | return chapterName; 55 | } 56 | public void setChapterName(String chapterName) 57 | { 58 | this.chapterName = chapterName; 59 | } 60 | public String getNoTagChapterName() 61 | { 62 | return CharUtils.removeTag(chapterName); 63 | } 64 | 65 | public int getChapterLevel() 66 | { 67 | return chapterLevel; 68 | } 69 | 70 | /** Velocityでループするために配列を返す */ 71 | public int[] getLevelStart() 72 | { 73 | if (this.levelStart == 0) return null; 74 | return new int[this.levelStart]; 75 | } 76 | /** Velocityでループするために配列を返す */ 77 | public int[] getLevelEnd() 78 | { 79 | if (this.levelEnd == 0) return null; 80 | return new int[this.levelEnd]; 81 | } 82 | /** Velocityでループするために配列を返す */ 83 | public int[] getNavClose() 84 | { 85 | if (this.navClose <= 0) return null; 86 | return new int[this.navClose]; 87 | } 88 | 89 | /** 90 | * 目次の階層情報を設定する。 91 | * 92 | * chapterLevel: 目次の階層レベルを設定する 93 | * levelStart : 目次階層が深くなる場合の ol 開始タグの出力回数。親を持つ最初の子ノードに1を設定する。それ以外は0を設定する 94 | * levelEnd : 目次階層が浅くなる場合の ol 終了タグの出力回数。(A)次のレベルが浅くなるノードと(B)最後のノードに設定する 95 | * (A)には次のノードとのレベル差、(B)には自分のレベルを設定する 96 | * navClose : navPoint 終了タグの出力回数。 子ノードを持つノードの場合は 0 として、それ以外の場合は levelEnd + 1 とする 97 | * 98 | * @param navNest 99 | * @param ncxNest 100 | * @param chapterInfos 101 | * @param insertTitleToc 102 | */ 103 | public static void setTocNestLevel(boolean navNest, boolean ncxNest, List chapterInfos, boolean insertTitleToc) 104 | { 105 | if (chapterInfos.isEmpty()) { 106 | return; 107 | } 108 | 109 | //表題のレベルを2つめと同じにする 110 | if (insertTitleToc && chapterInfos.size() >= 2) { 111 | chapterInfos.get(0).chapterLevel = chapterInfos.get(1).chapterLevel; 112 | } 113 | 114 | // 見出しレベルをコピーする 115 | int[] levels = new int[chapterInfos.size()]; 116 | for (int i = 0; i < chapterInfos.size(); i++) { 117 | levels[i] = chapterInfos.get(i).chapterLevel; 118 | } 119 | 120 | //---------------------------------------------- 121 | // 目次の階層レベルの設定 122 | //---------------------------------------------- 123 | // (参考) 124 | // 以下、逆順にループすれば int配列(levels)を作らずに済みそうだが int配列を作ったほうが処理が速い、かつ分かりやすい 125 | // また chapterInfos の具象クラスは java.util.Vector のため、入れ子でループすると余計に遅くなる 126 | for (int i = 0; i < chapterInfos.size(); i++) { 127 | int count = 0; 128 | 129 | //現在のレベルを取得 130 | int curr_level = levels[i]; 131 | // 親の数を数える 132 | for (int j = i - 1; j >= 0; j--) { 133 | if (levels[j] < curr_level) { 134 | count++; 135 | // 親のレベルを現在のレベルにする 136 | curr_level = levels[j]; 137 | } 138 | } 139 | // 親の数がそのノードの深さ(レベル)となる 140 | chapterInfos.get(i).chapterLevel = count; 141 | } 142 | 143 | //---------------------------------------------- 144 | // Velocity用のフィールド設定 145 | //---------------------------------------------- 146 | ChapterInfo curr = chapterInfos.getFirst(); 147 | curr.levelStart = 0; 148 | 149 | ChapterInfo prev = curr; 150 | 151 | // ループは 2番目の要素から開始 152 | for (int i = 1; i < chapterInfos.size(); i++) { 153 | curr = chapterInfos.get(i); 154 | 155 | int diff = curr.chapterLevel - prev.chapterLevel; 156 | assert diff <= 1; //上記の処理を経て diff > 1 となることはない 157 | if (diff > 0) { 158 | // 前より深い場合 159 | curr.levelStart = diff; 160 | prev.levelEnd = 0; 161 | } else { 162 | // 前より深くない場合 163 | assert curr.chapterLevel <= prev.chapterLevel; 164 | curr.levelStart = 0; 165 | prev.levelEnd = -diff; 166 | } 167 | prev = curr; 168 | } 169 | curr.levelEnd = curr.chapterLevel; 170 | 171 | if (ncxNest) { 172 | prev = null; 173 | for (ChapterInfo chapterInfo : chapterInfos) { 174 | curr = chapterInfo; 175 | curr.navClose = curr.levelEnd + 1; 176 | if (curr.levelStart > 0 && prev != null) { 177 | //前が親ノードなら、前のノードの navClose を 0 にする 178 | prev.navClose = 0; 179 | } 180 | prev = curr; 181 | } 182 | } 183 | 184 | } 185 | 186 | @Override 187 | public String toString() { 188 | return "{chapterLevel: " + chapterLevel + 189 | ", levelStart: " + levelStart + 190 | ", levelEnd: " + levelEnd + 191 | ", navClose: " + navClose + 192 | ", sectionId: \"" + sectionId + 193 | "\", chapterId: \"" + chapterId + 194 | "\", chapterName: \"" + chapterName + 195 | "\"}"; 196 | } 197 | } 198 | -------------------------------------------------------------------------------- /src/com/github/hmdev/info/ChapterLineInfo.java: -------------------------------------------------------------------------------- 1 | package com.github.hmdev.info; 2 | 3 | public class ChapterLineInfo 4 | { 5 | /** 見出しの行番号 */ 6 | public int lineNum; 7 | 8 | /** 見出し種別 */ 9 | public int type; 10 | /** 見出しレベル 自動抽出は+10 */ 11 | public int level; 12 | 13 | public boolean pageBreakChapter = false; 14 | 15 | /** 前の行が空行かどうか */ 16 | public boolean emptyNext; 17 | 18 | /** 目次に使う文字列の開始位置 */ 19 | String chapterName; 20 | 21 | public static final int TYPE_TITLE = 1; 22 | public static final int TYPE_PAGEBREAK = 2; 23 | public static final int TYPE_CHUKI_H = 10; 24 | public static final int TYPE_CHUKI_H1 = 11; 25 | public static final int TYPE_CHUKI_H2 = 12; 26 | public static final int TYPE_CHUKI_H3 = 13; 27 | public static final int TYPE_CHAPTER_NAME = 21; 28 | public static final int TYPE_CHAPTER_NUM = 22; 29 | public static final int TYPE_PATTERN = 30; 30 | 31 | public static final int LEVEL_TITLE = 0; 32 | public static final int LEVEL_SECTION = 1; 33 | public static final int LEVEL_H1 = 1; 34 | public static final int LEVEL_H2 = 2; 35 | public static final int LEVEL_H3 = 3; 36 | 37 | public ChapterLineInfo(int lineNum, int type, boolean pageBreak, int level, boolean emptyLineNext) 38 | { 39 | this(lineNum, type, pageBreak, level, emptyLineNext, null); 40 | } 41 | public ChapterLineInfo(int lineNum, int type, boolean pageBreak, int level, boolean emptyLineNext, String chapterName) 42 | { 43 | this.lineNum = lineNum; 44 | this.type = type; 45 | this.pageBreakChapter = pageBreak; 46 | this.level = level; 47 | this.emptyNext = emptyLineNext; 48 | this.chapterName = chapterName; 49 | } 50 | 51 | @Override 52 | public String toString() 53 | { 54 | return this.chapterName; 55 | } 56 | 57 | public String getTypeId() 58 | { 59 | switch (this.type) { 60 | case TYPE_TITLE: return "題"; 61 | case TYPE_PAGEBREAK: return ""; //一覧で表示しない 62 | case TYPE_CHUKI_H: return "見"; 63 | case TYPE_CHUKI_H1: return "大"; 64 | case TYPE_CHUKI_H2: return "中"; 65 | case TYPE_CHUKI_H3: return "小"; 66 | case TYPE_CHAPTER_NAME: return "章"; 67 | case TYPE_CHAPTER_NUM: return "数"; 68 | case TYPE_PATTERN: return "他"; 69 | } 70 | return ""; 71 | } 72 | static public int getChapterType(char typeId) 73 | { 74 | switch (typeId) { 75 | case '題': return TYPE_TITLE; 76 | case '改': return TYPE_PAGEBREAK; 77 | case '見': return TYPE_CHUKI_H; 78 | case '大': return TYPE_CHUKI_H1; 79 | case '中': return TYPE_CHUKI_H2; 80 | case '小': return TYPE_CHUKI_H3; 81 | case '章': return TYPE_CHAPTER_NAME; 82 | case '数': return TYPE_CHAPTER_NUM; 83 | case '他': return TYPE_PATTERN; 84 | } 85 | return 0; 86 | } 87 | static public int getLevel(int type) 88 | { 89 | switch (type) { 90 | case TYPE_TITLE: return LEVEL_TITLE; 91 | case TYPE_PAGEBREAK: return LEVEL_SECTION; 92 | case TYPE_CHUKI_H1: return LEVEL_H1; 93 | case TYPE_CHUKI_H2: return LEVEL_H2; 94 | case TYPE_CHUKI_H3: return LEVEL_H3; 95 | case TYPE_CHAPTER_NUM: return LEVEL_H2; 96 | } 97 | return LEVEL_H1; 98 | } 99 | 100 | /** 章名や数字やパターンでマッチした行ならtrue */ 101 | public boolean isPattern() 102 | { 103 | switch (type) { 104 | case TYPE_TITLE: 105 | case TYPE_PAGEBREAK: 106 | case TYPE_CHUKI_H1: 107 | case TYPE_CHUKI_H2: 108 | case TYPE_CHUKI_H3: return false; 109 | } 110 | return true; 111 | } 112 | 113 | public String getChapterName() 114 | { 115 | return this.chapterName; 116 | } 117 | public void setChapterName(String chapterName) 118 | { 119 | this.chapterName = chapterName; 120 | } 121 | public void joinChapterName(String chapterName) 122 | { 123 | if (this.chapterName == null) this.chapterName = chapterName; 124 | else this.chapterName = this.chapterName+" "+chapterName; 125 | } 126 | } 127 | -------------------------------------------------------------------------------- /src/com/github/hmdev/info/CoverEditInfo.java: -------------------------------------------------------------------------------- 1 | package com.github.hmdev.info; 2 | 3 | public class CoverEditInfo 4 | { 5 | public int panelWidth; 6 | public int panelHeight; 7 | public int fitType; 8 | public double scale; 9 | public double offsetX; 10 | public double offsetY; 11 | public double visibleWidth; 12 | 13 | public CoverEditInfo(int panelWidth, int panelHeight, int fitType, double scale, double offsetX, double offsetY, double visibleWidth) 14 | { 15 | this.panelWidth = panelWidth; 16 | this.panelHeight = panelHeight; 17 | this.fitType = fitType; 18 | this.scale = scale; 19 | this.offsetX = offsetX; 20 | this.offsetY = offsetY; 21 | this.visibleWidth = visibleWidth; 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/com/github/hmdev/info/GaijiInfo.java: -------------------------------------------------------------------------------- 1 | package com.github.hmdev.info; 2 | 3 | import java.io.File; 4 | 5 | /** 外字フォントとクラス名を格納 6 | * toStringで名称を返す */ 7 | public class GaijiInfo 8 | { 9 | String className; 10 | File gaijiFile; 11 | 12 | public GaijiInfo(String className, File gaijiFile) 13 | { 14 | this.className = className; 15 | this.gaijiFile = gaijiFile; 16 | } 17 | 18 | public String getFileName() 19 | { 20 | return gaijiFile.getName(); 21 | } 22 | public File getFile() 23 | { 24 | return gaijiFile; 25 | } 26 | public void setFile(File gaijiFile) 27 | { 28 | this.gaijiFile = gaijiFile; 29 | } 30 | public String getClassName() 31 | { 32 | return className; 33 | } 34 | public void setClassName(String className) 35 | { 36 | this.className = className; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/com/github/hmdev/info/ImageInfo.java: -------------------------------------------------------------------------------- 1 | package com.github.hmdev.info; 2 | 3 | import java.awt.image.BufferedImage; 4 | import java.io.BufferedInputStream; 5 | import java.io.File; 6 | import java.io.FileInputStream; 7 | import java.io.IOException; 8 | import java.io.InputStream; 9 | import java.util.Iterator; 10 | 11 | import javax.imageio.ImageIO; 12 | import javax.imageio.ImageReader; 13 | import javax.imageio.stream.ImageInputStream; 14 | 15 | /** 画像情報 16 | * Velocity内でも利用するための情報も格納する */ 17 | public class ImageInfo 18 | { 19 | /** ファイルのID 0001 */ 20 | String id; 21 | /** 出力ファイル名 拡張子付き 0001.png */ 22 | String outFileName; 23 | /** 画像フォーマット png jpg gif */ 24 | String ext; 25 | 26 | /** 画像幅 */ 27 | int width = -1; 28 | /** 画像高さ */ 29 | int height = -1; 30 | 31 | /** 出力画像幅 */ 32 | int outWidth = -1; 33 | /** 出力画像高さ */ 34 | int outHeight = -1; 35 | 36 | /** カバー画像ならtrue */ 37 | boolean isCover; 38 | 39 | /** 回転角度 右 90 左 -90 */ 40 | public int rotateAngle = 0; 41 | 42 | /** 画像の情報を生成 43 | * @param ext png jpg gif の文字列 */ 44 | public ImageInfo(String ext, int width, int height) 45 | { 46 | super(); 47 | this.ext = ext.toLowerCase(); 48 | this.width = width; 49 | this.height = height; 50 | } 51 | 52 | /** ファイルから画像情報を生成 */ 53 | static public ImageInfo getImageInfo(File imageFile) throws IOException 54 | { 55 | BufferedInputStream bis = new BufferedInputStream(new FileInputStream(imageFile)); 56 | ImageInfo imageInfo = ImageInfo.getImageInfo(bis); 57 | bis.close(); 58 | return imageInfo; 59 | } 60 | 61 | /** 画像ストリームから画像情報を生成 62 | * @throws IOException */ 63 | static public ImageInfo getImageInfo(InputStream is) throws IOException 64 | { 65 | ImageInfo imageInfo = null; 66 | ImageInputStream iis = ImageIO.createImageInputStream(is); 67 | Iterator readers = ImageIO.getImageReaders(iis); 68 | if (readers.hasNext()) { 69 | ImageReader reader = readers.next(); 70 | if (readers.hasNext() && reader.getClass().getName().endsWith("CLibPNGImageReader")) readers.next(); 71 | reader.setInput(iis); 72 | String ext = reader.getFormatName(); 73 | imageInfo = new ImageInfo(ext, reader.getWidth(0), reader.getHeight(0)); 74 | reader.dispose(); 75 | } 76 | return imageInfo; 77 | } 78 | 79 | static public ImageInfo getImageInfo(String ext, BufferedImage image) { 80 | return new ImageInfo(ext, image.getWidth(), image.getHeight()); 81 | } 82 | 83 | public String getId() 84 | { 85 | return id; 86 | } 87 | 88 | public void setId(String id) 89 | { 90 | this.id = id; 91 | } 92 | 93 | public String getOutFileName() 94 | { 95 | return outFileName; 96 | } 97 | 98 | public void setOutFileName(String file) 99 | { 100 | this.outFileName = file; 101 | } 102 | 103 | public void setExt(String ext) 104 | { 105 | this.ext = ext; 106 | } 107 | public String getExt() 108 | { 109 | return this.ext; 110 | } 111 | /** mime形式(image/png)の形式フォーマット文字列を返却 */ 112 | public String getFormat() 113 | { 114 | return "image/"+(this.ext.equals("jpg")?"jpeg":this.ext); 115 | } 116 | 117 | public boolean getIsCover() 118 | { 119 | return this.isCover; 120 | } 121 | 122 | public void setIsCover(boolean isCover) 123 | { 124 | this.isCover = isCover; 125 | } 126 | public int getWidth() 127 | { 128 | return width; 129 | } 130 | public void setWidth(int width) 131 | { 132 | this.width = width; 133 | } 134 | public int getHeight() 135 | { 136 | return height; 137 | } 138 | public void setHeight(int height) 139 | { 140 | this.height = height; 141 | } 142 | 143 | public int getOutWidth() 144 | { 145 | return outWidth; 146 | } 147 | public void setOutWidth(int outWidth) 148 | { 149 | this.outWidth = outWidth; 150 | } 151 | public int getOutHeight() 152 | { 153 | return outHeight; 154 | } 155 | public void setOutHeight(int outHeight) 156 | { 157 | this.outHeight = outHeight; 158 | } 159 | } 160 | -------------------------------------------------------------------------------- /src/com/github/hmdev/info/ProfileInfo.java: -------------------------------------------------------------------------------- 1 | package com.github.hmdev.info; 2 | 3 | import java.io.File; 4 | import java.io.FileNotFoundException; 5 | import java.io.FileOutputStream; 6 | import java.io.IOException; 7 | import java.util.Properties; 8 | 9 | /** iniファイルの設定を格納するクラス 10 | * toStringで名称を返す */ 11 | public class ProfileInfo 12 | { 13 | String name; 14 | String fileName; 15 | Properties props; 16 | 17 | public ProfileInfo(String fileName, String name, Properties props) 18 | { 19 | this.fileName = fileName; 20 | this.name = name; 21 | this.props = props; 22 | } 23 | 24 | /** 更新 */ 25 | public void update(File profilePath) throws IOException 26 | { 27 | if (fileName != null) { 28 | FileOutputStream fos = new FileOutputStream(profilePath+"/"+fileName); 29 | this.props.store(fos, "AozoraEpub3 Profile"); 30 | fos.close(); 31 | } 32 | } 33 | 34 | @Override 35 | public String toString() 36 | { 37 | return name; 38 | } 39 | 40 | public String getFileName() 41 | { 42 | return fileName; 43 | } 44 | public void setFileName(String fileName) 45 | { 46 | this.fileName = fileName; 47 | } 48 | public String getName() 49 | { 50 | return name; 51 | } 52 | public void setName(String name) 53 | { 54 | this.name = name; 55 | } 56 | 57 | public Properties getProperties() 58 | { 59 | return props; 60 | } 61 | public void setProps(Properties props) 62 | { 63 | this.props = props; 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /src/com/github/hmdev/info/SectionInfo.java: -------------------------------------------------------------------------------- 1 | package com.github.hmdev.info; 2 | 3 | /** セクションの情報 xhtmlに対応 */ 4 | public class SectionInfo 5 | { 6 | /** セクションID 0001~ */ 7 | public String sectionId; 8 | 9 | /** 画像のみのページ時にtrue */ 10 | public boolean imagePage = false; 11 | 12 | /** 単ページサイズ指定無し */ 13 | final static public int IMAGE_SIZE_TYPE_AUTO = 1; 14 | /** 単ページサイズ高さ指定 */ 15 | final static public int IMAGE_SIZE_TYPE_HEIGHT = 2; 16 | /** 単ページサイズ画面縦横比 */ 17 | final static public int IMAGE_SIZE_TYPE_ASPECT = 3; 18 | 19 | /** 画像のみのページで高さ%指定 -1なら指定無し */ 20 | public double imageHeight = -1; 21 | /** 画像のみのページで幅に合わる場合にtrue */ 22 | public boolean imageFitW = false; 23 | /** 画像のみのページで高さに合わる場合にtrue */ 24 | public boolean imageFitH = false; 25 | 26 | /** ページ左右中央ならtrue */ 27 | public boolean isMiddle = false; 28 | 29 | /** ページ左ならtrue */ 30 | public boolean isBottom = false; 31 | 32 | /** セクション開始行 */ 33 | public int startLine = 0; 34 | 35 | /** セクション終了行 */ 36 | public int endLine = 0; 37 | 38 | public SectionInfo(String sectionId) 39 | { 40 | this.sectionId = sectionId; 41 | } 42 | 43 | public String getSectionId() 44 | { 45 | return sectionId; 46 | } 47 | public void setSectionId(String sectionId) 48 | { 49 | this.sectionId = sectionId; 50 | } 51 | 52 | public boolean isImagePage() 53 | { 54 | return imagePage; 55 | } 56 | public void setImagePage(boolean imagePage) 57 | { 58 | this.imagePage = imagePage; 59 | } 60 | 61 | public double getImageHeight() 62 | { 63 | return imageHeight; 64 | } 65 | public void setImageHeight(double imageHeight) 66 | { 67 | this.imageHeight = imageHeight; 68 | } 69 | public double getImageHeightPercent() 70 | { 71 | return (int)(imageHeight*1000)/10.0; 72 | } 73 | public double getImageHeightPadding() 74 | { 75 | return (int)((1-imageHeight)*1000)/20.0; 76 | } 77 | 78 | public boolean isImageFitW() 79 | { 80 | return imageFitW; 81 | } 82 | public void setImageFitW(boolean imageFitW) 83 | { 84 | this.imageFitW = imageFitW; 85 | } 86 | 87 | public boolean isImageFitH() 88 | { 89 | return imageFitH; 90 | } 91 | public void setImageFitH(boolean imageFitH) 92 | { 93 | this.imageFitH = imageFitH; 94 | } 95 | 96 | public boolean isMiddle() 97 | { 98 | return isMiddle; 99 | } 100 | public void setMiddle(boolean isMiddle) 101 | { 102 | this.isMiddle = isMiddle; 103 | } 104 | 105 | public boolean isBottom() 106 | { 107 | return isBottom; 108 | } 109 | public void setBottom(boolean isBottom) 110 | { 111 | this.isBottom = isBottom; 112 | } 113 | 114 | public int getStartLine() 115 | { 116 | return startLine; 117 | } 118 | public void setStartLine(int startLine) 119 | { 120 | this.startLine = startLine; 121 | } 122 | 123 | public int getEndLine() 124 | { 125 | return endLine; 126 | } 127 | public void setEndLine(int endLine) 128 | { 129 | this.endLine = endLine; 130 | } 131 | } 132 | -------------------------------------------------------------------------------- /src/com/github/hmdev/swing/JTocTable.java: -------------------------------------------------------------------------------- 1 | package com.github.hmdev.swing; 2 | 3 | import java.awt.Color; 4 | import java.awt.Component; 5 | import java.io.Serial; 6 | 7 | import javax.swing.JTable; 8 | import javax.swing.table.DefaultTableModel; 9 | import javax.swing.table.TableCellRenderer; 10 | import javax.swing.table.TableColumnModel; 11 | 12 | import com.github.hmdev.info.ChapterLineInfo; 13 | 14 | public class JTocTable extends JTable 15 | { 16 | @Serial 17 | private static final long serialVersionUID = 1L; 18 | 19 | TocTableDataModel model; 20 | 21 | public JTocTable() 22 | { 23 | super(); 24 | this.model = new TocTableDataModel(new String[]{"", "", "", "行", "目次名称"}, 0, this); 25 | super.setModel(this.model); 26 | TableColumnModel columnModel = this.getColumnModel(); 27 | columnModel.getColumn(0).setMaxWidth(22); 28 | columnModel.getColumn(1).setMaxWidth(30); 29 | columnModel.getColumn(1).setPreferredWidth(20); 30 | columnModel.getColumn(2).setMaxWidth(30); 31 | columnModel.getColumn(2).setPreferredWidth(20); 32 | columnModel.getColumn(3).setMaxWidth(60); 33 | columnModel.getColumn(3).setPreferredWidth(35); 34 | 35 | this.model.addTableModelListener(e -> model.table.repaint()); 36 | } 37 | 38 | @Override 39 | public TocTableDataModel getModel() 40 | { 41 | return this.model; 42 | } 43 | 44 | @Override 45 | public Component prepareRenderer(TableCellRenderer renderer, int row, int column) 46 | { 47 | Component component = super.prepareRenderer(renderer, row, column); 48 | if (this.model.isSelected(row)) component.setForeground(Color.BLACK); 49 | else component.setForeground(Color.LIGHT_GRAY); 50 | return component; 51 | } 52 | 53 | public class TocTableDataModel extends DefaultTableModel 54 | { 55 | @Serial 56 | private static final long serialVersionUID = 1L; 57 | 58 | JTocTable table; 59 | 60 | TocTableDataModel(String[] columnNames, int rowNum, JTocTable table){ 61 | super(columnNames, rowNum); 62 | this.table = table; 63 | } 64 | @SuppressWarnings({ "unchecked", "rawtypes" }) 65 | public Class getColumnClass(int col) { 66 | switch (col) { 67 | case 0: return Boolean.class; 68 | case 3: return Integer.class; 69 | } 70 | return String.class; 71 | } 72 | @Override 73 | public boolean isCellEditable(int row, int col) 74 | { 75 | switch (col) { 76 | case 0: 77 | case 4: 78 | return true; 79 | } 80 | return false; 81 | } 82 | 83 | public void setSelected(int row, boolean select) 84 | { 85 | this.setValueAt(select, row, 0); 86 | table.repaint(); 87 | } 88 | public boolean isSelected(int row) 89 | { 90 | return (Boolean)this.getValueAt(row, 0); 91 | } 92 | public boolean isPageBreak(int row) 93 | { 94 | return "改".equals(this.getValueAt(row, 1)); 95 | } 96 | public int getChapterType(int row) 97 | { 98 | String value = (String)this.getValueAt(row, 2); 99 | if (value.isEmpty()) return 0; 100 | return ChapterLineInfo.getChapterType(value.charAt(0)); 101 | } 102 | public int getLineNum(int row) 103 | { 104 | return (Integer)this.getValueAt(row, 3); 105 | } 106 | public String getTocName(int row) 107 | { 108 | return (String)this.getValueAt(row, 4); 109 | } 110 | } 111 | } 112 | -------------------------------------------------------------------------------- /src/com/github/hmdev/swing/NarrowTitledBorder.java: -------------------------------------------------------------------------------- 1 | package com.github.hmdev.swing; 2 | 3 | import java.awt.Component; 4 | import java.awt.Insets; 5 | import java.io.Serial; 6 | 7 | import javax.swing.border.TitledBorder; 8 | 9 | public class NarrowTitledBorder extends TitledBorder 10 | { 11 | @Serial 12 | private static final long serialVersionUID = 1L; 13 | 14 | public NarrowTitledBorder(String title) 15 | { 16 | super(title); 17 | } 18 | 19 | @Override 20 | public Insets getBorderInsets(Component c) 21 | { 22 | return new Insets(15, 7, 6, 7); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/com/github/hmdev/util/Detector.java: -------------------------------------------------------------------------------- 1 | package com.github.hmdev.util; 2 | 3 | import java.io.IOException; 4 | import java.io.InputStream; 5 | 6 | import org.mozilla.universalchardet.UniversalDetector; 7 | 8 | public class Detector { 9 | public static String getCharset(InputStream is) throws IOException { 10 | byte[] buf = new byte[4096]; 11 | // (1) 12 | UniversalDetector detector = new UniversalDetector(); 13 | 14 | // (2) 15 | int nread; 16 | while ((nread = is.read(buf)) > 0 && !detector.isDone()) { 17 | detector.handleData(buf, 0, nread); 18 | } 19 | // (3) 20 | detector.dataEnd(); 21 | 22 | // (4) 23 | String encoding = detector.getDetectedCharset(); 24 | if (encoding != null) { 25 | System.out.println("Detected encoding = " + encoding); 26 | } else { 27 | System.out.println("No encoding detected."); 28 | 29 | } 30 | 31 | // (5) 32 | detector.reset(); 33 | 34 | return encoding; 35 | } 36 | 37 | } 38 | -------------------------------------------------------------------------------- /src/com/github/hmdev/util/FileNameComparator.java: -------------------------------------------------------------------------------- 1 | package com.github.hmdev.util; 2 | 3 | import java.util.Comparator; 4 | 5 | /** ファイル名並び替え用 */ 6 | public class FileNameComparator implements Comparator 7 | { 8 | @Override 9 | public int compare(String o1, String o2) 10 | { 11 | char[] c1 = o1.toLowerCase().toCharArray(); 12 | char[] c2 = o2.toLowerCase().toCharArray(); 13 | int len = Math.min(c1.length, c2.length); 14 | int diff; 15 | for (int i=0; i 1) { 37 | this.idx = new int [values.length-1]; 38 | for (int i=0; i 2 | 6 | 7 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /template/item/css_custom/horizontal_font_reader.css: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | @namespace "http://www.w3.org/1999/xhtml"; 3 | 4 | /** 横書きフォント変更 Sony Reader用 5 | ファイル名を font.css に変更すると有効 6 | READER/fonts/ の下にフォントファイルをコピーしてsrc:urlのフォントをコピーしたファイル名に変更 7 | フォントファイルが無い場合は標準フォントが利用される */ 8 | 9 | @font-face { 10 | font-family: "CustomFont"; 11 | src: url(res:///ebook/fonts/../../mnt/sdcard/fonts/Dfpaburi.ttc); 12 | } 13 | 14 | /** 横書きフォント */ 15 | .hltr body { 16 | font-family: "CustomFont", "MS 明朝", "MS Mincho", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", serif, sans-serif; 17 | } 18 | /** 縦書きフォント */ 19 | .vrtl body { 20 | font-family: "@MS 明朝", "@MS Mincho", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", serif, sans-serif; 21 | } -------------------------------------------------------------------------------- /template/item/css_custom/horizontal_font_sample.css: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | @namespace "http://www.w3.org/1999/xhtml"; 3 | 4 | /** 横書きフォント変更 埋め込み用 5 | ファイル名を font.css に変更すると有効 6 | template/fonts 以下にあるフォントファイルはePubファイルに追加されます */ 7 | 8 | @font-face { 9 | font-family: "CustomFont"; 10 | src: url(res:///ebook/fonts/../../mnt/sdcard/fonts/Dfpaburi.ttc); 11 | } 12 | 13 | /** 横書きフォント */ 14 | .hltr body { 15 | font-family: "CustomFont", "MS 明朝", "MS Mincho", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", serif, sans-serif; 16 | } 17 | /** 縦書きフォント */ 18 | .vrtl body { 19 | font-family: "@MS 明朝", "@MS Mincho", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", serif, sans-serif; 20 | } -------------------------------------------------------------------------------- /template/item/css_custom/vertical_font_reader.css: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | @namespace "http://www.w3.org/1999/xhtml"; 3 | 4 | /** 縦書きフォント変更 Sony Reader用 5 | ファイル名を font.css に変更すると有効 6 | READER/fonts/ の下にフォントファイルをコピーしてsrc:urlのフォントをコピーしたファイル名に変更 7 | フォントファイルが無い場合は標準フォントが利用される */ 8 | @font-face { 9 | font-family: "CustomFont"; 10 | src: url(res:///ebook/fonts/../../mnt/sdcard/fonts/Dfpaburi.ttc); 11 | } 12 | 13 | /** 横書きフォント */ 14 | .hltr body { 15 | font-family: "CustomFont", "@MS 明朝", "@MS Mincho", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", serif, sans-serif; 16 | } 17 | /** 縦書きフォント */ 18 | .vrtl body { 19 | font-family: "@MS 明朝", "@MS Mincho", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", serif, sans-serif; 20 | } -------------------------------------------------------------------------------- /template/item/css_custom/vertical_font_sample.css: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | @namespace "http://www.w3.org/1999/xhtml"; 3 | 4 | /** 縦書きフォント変更 埋め込み用 5 | ファイル名を font.css に変更すると有効 6 | template/fonts 以下にあるフォントファイルはePubファイルに追加されます */ 7 | @font-face { 8 | font-family: "CustomFont"; 9 | src: url(../fonts/aokin-mincho.ttf); 10 | } 11 | 12 | /** 横書きフォント */ 13 | .hltr body { 14 | font-family: "CustomFont", "@MS 明朝", "@MS Mincho", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", serif, sans-serif; 15 | } 16 | /** 縦書きフォント */ 17 | .vrtl body { 18 | font-family: "@MS 明朝", "@MS Mincho", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", serif, sans-serif; 19 | } -------------------------------------------------------------------------------- /template/item/package.vm: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | ${title} 15 | #if (${titleAs}) 16 | ${titleAs} 17 | #end 18 | #if (${creator}) 19 | 20 | 21 | ${creator} 22 | #if (${creatorAs}) 23 | aut 24 | ${creatorAs} 25 | 1 26 | #end 27 | #end 28 | #if (${publisher}) 29 | 30 | ${publisher} 31 | #end 32 | 33 | ${language} 34 | 35 | urn:uuid:${identifier} 36 | 37 | ${modified} 38 | 39 | #if (${bookInfo.ImageOnly}) 40 | 41 | pre-paginated 42 | landscape 43 | 44 | 45 | #if (${bookInfo.Vertical}) 46 | 47 | #else 48 | 49 | #end 50 | #end 51 | 52 | 1.1.3 53 | 1.1.2 54 | 55 | 56 | 57 | 58 | 59 | 60 | #if (${bookInfo.ImageOnly}) 61 | 62 | #else 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | #end 72 | 73 | #foreach($image in ${images}) 74 | #if ($image.IsCover) 75 | 76 | #else 77 | 78 | #end 79 | #end 80 | 81 | #if (${bookInfo.InsertCoverPage}) 82 | 83 | 84 | #end 85 | #if (${title_page}) 86 | 87 | #end 88 | 89 | #if (${bookInfo.ImageOnly}) 90 | #foreach(${sectionInfo} in ${sections}) 91 | 92 | #end 93 | #else 94 | #foreach(${sectionInfo} in ${sections}) 95 | 96 | #end 97 | #end 98 | #foreach(${gaijiInfo} in ${vecGaijiInfo}) 99 | 100 | #end 101 | 102 | 103 | 104 | #if (${bookInfo.Vertical}) 105 | 106 | #else 107 | 108 | #end 109 | #if (${bookInfo.InsertCoverPage}) 110 | 111 | #end 112 | #if (${title_page}) 113 | 114 | #end 115 | #if (${bookInfo.InsertTocPage}) 116 | 117 | #end 118 | 119 | #foreach(${sectionInfo} in ${sections}) 120 | #if (${bookInfo.ImageOnly} && ${bookInfo.Vertical}) 121 | #if ($foreach.count % 2 == 0) 122 | 123 | #else 124 | 125 | #end 126 | #elseif (${bookInfo.ImageOnly} && !${bookInfo.Vertical}) 127 | #if ($foreach.count % 2 == 0) 128 | 129 | #else 130 | 131 | #end 132 | #else 133 | 134 | #end 135 | #end 136 | 137 | 138 | -------------------------------------------------------------------------------- /template/item/style/book-style.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | @import "style-reset.css"; 3 | @import "style-standard.css"; 4 | @import "style-advance.css"; 5 | @import "aozora.css"; 6 | @import "font.css"; 7 | @import "text.css"; 8 | 9 | /* ------------------------------------------------------------- 10 | Windows でチェックするときは以下の指定を利用 11 | ※チェックが済んだら必ず削除かコメントアウトすること 12 | @import "style-check.css"; 13 | ---------------------------------------------------------------- */ 14 | 15 | 16 | 17 | /* ファイル情報 18 | ---------------------------------------------------------------- 19 | 【内容】 20 | 外部 CSS の一括読み込み と 作品別カスタマイズ指定 21 | 22 | 【CSSファイルバージョン】 23 | ver.1.1.1 24 | 25 | 【当ファイル更新時の電書協EPUB 3 制作ガイドバージョン】 26 | ver.1.1.3 27 | 28 | 【細目】 29 | ・外部 CSS の import 30 | ・作品別カスタマイズ領域 31 | 32 | 【更新履歴】 33 | 2014/08/25 ver.1.1.1 34 | ・「特殊リンク指定」を追加 35 | ・「注釈リンクの下線と色」を変更 36 | 37 | 2012/12/07 ver.1.1.0 38 | ・ファイル更新時の電書協EPUB 3 制作ガイドバージョン表記を追加 39 | 40 | 2012/08/21 ver.1.0b1 41 | ・公開版 42 | ---------------------------------------------------------------- */ 43 | 44 | 45 | /* ------------------------------------------------------------- 46 | * 作品別カスタマイズ領域 47 | * ------------------------------------------------------------- */ 48 | 49 | /* 見出しのデフォルト書体指定 50 | ---------------------------------------------------------------- */ 51 | /* 横組み用 */ 52 | .hltr h1, 53 | .hltr h2, 54 | .hltr h3, 55 | .hltr h4, 56 | .hltr h5, 57 | .hltr h6 { 58 | font-family: serif-ja, serif; 59 | } 60 | /* 縦組み用 */ 61 | .vrtl h1, 62 | .vrtl h2, 63 | .vrtl h3, 64 | .vrtl h4, 65 | .vrtl h5, 66 | .vrtl h6 { 67 | font-family: serif-ja-v, serif-ja, serif; 68 | } 69 | 70 | /* リンク指定 71 | ---------------------------------------------------------------- */ 72 | /* 基本設定(上:横組み 下:縦組み) */ 73 | .hltr a { 74 | } 75 | .vrtl a { 76 | } 77 | /* 未訪問リンク */ 78 | a:link { 79 | } 80 | /* 訪問済みリンク */ 81 | a:visited { 82 | } 83 | /* マウスオーバー時 */ 84 | a:hover { 85 | } 86 | /* フォーカス時 */ 87 | a:focus { 88 | } 89 | /* アクティブ時 */ 90 | a:active { 91 | } 92 | 93 | /* 特殊リンク指定 94 | ---------------------------------------------------------------- */ 95 | /* 基本設定(上:横組み 下:縦組み) */ 96 | .hltr a.link-01 { 97 | text-decoration: none; 98 | } 99 | .vrtl a.link-01 { 100 | text-decoration: none; 101 | } 102 | /* 未訪問リンク */ 103 | a.link-01:link { 104 | color: #000000; 105 | } 106 | /* 訪問済みリンク */ 107 | a.link-01:visited { 108 | color: #000000; 109 | } 110 | /* マウスオーバー時 */ 111 | a.link-01:hover { 112 | color: #FF0000; 113 | } 114 | /* フォーカス時 */ 115 | a.link-01:focus { 116 | color: #FF0000; 117 | } 118 | /* アクティブ時 */ 119 | a.link-01:active { 120 | color: #FF0000; 121 | } 122 | 123 | 124 | /* 注釈リンクの下線と色 (注釈参照側) 125 | ---------------------------------------------------------------- */ 126 | /* 基本設定(上:横組み 下:縦組み) */ 127 | .hltr a.noteref { 128 | } 129 | .vrtl a.noteref { 130 | } 131 | /* 未訪問リンク */ 132 | a.noteref:link { 133 | } 134 | /* 訪問済みリンク */ 135 | a.noteref:visited { 136 | } 137 | /* マウスオーバー時 */ 138 | a.noteref:hover { 139 | } 140 | /* フォーカス時 */ 141 | a.noteref:focus { 142 | } 143 | /* アクティブ時 */ 144 | a.noteref:active { 145 | } 146 | 147 | 148 | /* 注釈リンクの下線と色 (注釈内容側) 149 | ---------------------------------------------------------------- */ 150 | /* 基本設定(上:横組み 下:縦組み) */ 151 | .hltr a.note { 152 | } 153 | .vrtl a.note { 154 | } 155 | /* 未訪問リンク */ 156 | a.note:link { 157 | } 158 | /* 訪問済みリンク */ 159 | a.note:visited { 160 | } 161 | /* マウスオーバー時 */ 162 | a.note:hover { 163 | } 164 | /* フォーカス時 */ 165 | a.note:focus { 166 | } 167 | /* アクティブ時 */ 168 | a.note:active { 169 | } 170 | 171 | /* 見出しの指定(上:横組み 下:縦組み) 172 | ---------------------------------------------------------------- */ 173 | /* 扉見出し */ 174 | .hltr .tobira-midashi { 175 | } 176 | .vrtl .tobira-midashi { 177 | } 178 | /* 大見出し */ 179 | .hltr .oo-midashi { 180 | } 181 | .vrtl .oo-midashi { 182 | } 183 | /* 中見出し */ 184 | .hltr .naka-midashi { 185 | } 186 | .vrtl .naka-midashi { 187 | } 188 | /* 小見出し */ 189 | .hltr .ko-midashi { 190 | } 191 | .vrtl .ko-midashi { 192 | } 193 | 194 | /* カバーページ 195 | ---------------------------------------------------------------- 196 | 描画領域の余白をゼロに 197 | デフォルトで左右中央揃えに 198 | ---------------------------------------------------------------- */ 199 | body.p-cover { 200 | margin: 0; 201 | padding: 0; 202 | text-align: center; 203 | } 204 | body.p-cover .main { 205 | } 206 | 207 | 208 | /* 画像のみのページ 209 | ---------------------------------------------------------------- 210 | 描画領域の余白をゼロに 211 | デフォルトで左右中央揃えに 212 | ---------------------------------------------------------------- */ 213 | body.p-image { 214 | margin: 0; 215 | padding: 0; 216 | text-align: center; 217 | } 218 | body.p-image .main { 219 | } 220 | 221 | 222 | /* テキスト中心のページ 223 | ---------------------------------------------------------------- */ 224 | body.p-text { 225 | } 226 | body.p-text .main { 227 | } 228 | 229 | 230 | /* 本扉ページ 231 | ---------------------------------------------------------------- */ 232 | body.p-titlepage { 233 | } 234 | body.p-titlepage .main { 235 | } 236 | 237 | 238 | /* 奥付ページ 239 | ---------------------------------------------------------------- */ 240 | body.p-colophon { 241 | } 242 | body.p-colophon .main { 243 | padding: 1em; 244 | } 245 | /* 以下、本サンプル用に追加 */ 246 | body.p-colophon .book-title-before { 247 | font-family: sans-serif-ja, sans-serif; 248 | font-size: 0.85em; 249 | } 250 | body.p-colophon .book-title-main { 251 | font-size: 1.20em; 252 | } 253 | body.p-colophon .author, 254 | body.p-colophon .original-books { 255 | margin-top: 1.75em; 256 | } 257 | body.p-colophon .label { 258 | margin-top: 0.75em; 259 | padding-top: 0.75em; 260 | border-top: 1px solid #000; 261 | } 262 | 263 | /* 目次ページ 264 | ---------------------------------------------------------------- */ 265 | body.p-toc { 266 | } 267 | body.p-toc .main { 268 | } 269 | 270 | 271 | /* 電子版用の注意書きページ 272 | ---------------------------------------------------------------- */ 273 | body.p-caution { 274 | } 275 | body.p-caution .main { 276 | } 277 | 278 | 279 | /* 広告ページ 280 | ---------------------------------------------------------------- */ 281 | body.p-ad { 282 | } 283 | body.p-ad .main { 284 | } 285 | -------------------------------------------------------------------------------- /template/item/style/fixed-layout-jp.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | html, 4 | body { 5 | margin: 0; 6 | padding: 0; 7 | font-size: 0; 8 | } 9 | svg { 10 | margin: 0; 11 | padding: 0; 12 | } 13 | -------------------------------------------------------------------------------- /template/item/style/font.css: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | @namespace "http://www.w3.org/1999/xhtml"; 3 | 4 | /** 横書きフォント */ 5 | .hltr body { 6 | font-family: "MS 明朝", "MS Mincho", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", serif, sans-serif; 7 | } 8 | /** 縦書きフォント */ 9 | .vrtl body { 10 | font-family: "@MS 明朝", "@MS Mincho", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", serif, sans-serif; 11 | } 12 | -------------------------------------------------------------------------------- /template/item/style/style-reset.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | 4 | /* ファイル情報 5 | ---------------------------------------------------------------- 6 | 【内容】 7 | CSS リセット 8 | 9 | 【CSSファイルバージョン】 10 | ver.1.2.1 11 | 12 | 【当ファイル更新時の電書協EPUB 3 制作ガイドバージョン】 13 | ver.1.1.3 14 | 15 | 【細目】 16 | ・css reset 17 | 18 | 【更新履歴】 19 | 2014/08/25 ver.1.2.1 20 | ・「text-underline-position」を「-epub-text-underline-position」に変更 21 | 22 | 2012/12/07 ver.1.2.0 23 | ・ファイル更新時の電書協EPUB 3 制作ガイドバージョン表記を追加 24 | ・「text-underline-position: below left;」の「below」部分を「under」に変更 25 | 26 | 2012/10/29 ver.1.1b1 27 | ・body に text-underline-position を指定 28 | ※ページ内すべての overline を縦組み時に右線(傍線)、 29 | underline を左線として設定 30 | 31 | 2012/08/21 ver.1.0b1 32 | ・公開版 33 | ---------------------------------------------------------------- */ 34 | 35 | 36 | /* css reset 37 | ---------------------------------------------------------------- */ 38 | body { 39 | margin: 0; 40 | padding: 0; 41 | font-size: 100%; 42 | vertical-align: baseline; 43 | line-height: 1.75; 44 | background: transparent; 45 | 46 | word-spacing: normal; 47 | letter-spacing: normal; 48 | white-space: normal; 49 | word-wrap: break-word; 50 | text-align: justify; 51 | 52 | -webkit-text-align-last: left; 53 | -epub-text-align-last: left; 54 | 55 | -webkit-line-break: normal; 56 | -epub-line-break: normal; 57 | 58 | -webkit-word-break: normal; 59 | -epub-word-break: normal; 60 | 61 | -webkit-hyphens: auto; 62 | -epub-hyphens: auto; 63 | 64 | -webkit-text-underline-position: under left; 65 | -epub-text-underline-position: under left; 66 | } 67 | div,p { 68 | display: block; 69 | width: auto; 70 | height: auto; 71 | margin: 0; 72 | padding: 0; 73 | } 74 | body,div,p { 75 | text-indent: 0; 76 | } 77 | body > p, 78 | div > p { 79 | text-indent: inherit; 80 | } 81 | h1,h2,h3,h4,h5,h6 { 82 | display: block; 83 | margin: 0; 84 | padding: 0; 85 | font-size: 100%; 86 | font-weight: inherit; 87 | background: transparent; 88 | } 89 | img { 90 | width: auto; 91 | height: auto; 92 | margin: 0; 93 | padding: 0; 94 | border: none; 95 | vertical-align: baseline; 96 | background: transparent; 97 | } 98 | a { 99 | font-style: inherit; 100 | font-weight: inherit; 101 | text-decoration: inherit; 102 | color: inherit; 103 | background: transparent; 104 | } 105 | 106 | 107 | -------------------------------------------------------------------------------- /template/item/style/text.vm: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | @namespace "http://www.w3.org/1999/xhtml"; 3 | 4 | /** 共通 テキスト用スタイル */ 5 | @page { 6 | margin: ${pageMargin[0]} ${pageMargin[1]} ${pageMargin[2]} ${pageMargin[3]}; 7 | } 8 | body { 9 | margin: 0; 10 | padding: 0; 11 | display: block; 12 | color: #000; 13 | font-size: ${fontSize}%; 14 | line-height: ${lineHeight}; 15 | vertical-align: baseline; 16 | } 17 | /** 縦書き テキスト用スタイル */ 18 | html.vrtl { 19 | margin: ${bodyMargin[0]} ${bodyMargin[1]} ${bodyMargin[2]} ${bodyMargin[3]}; 20 | padding: 0; 21 | writing-mode: vertical-rl; 22 | -webkit-writing-mode: vertical-rl; 23 | -epub-writing-mode: vertical-rl; 24 | -epub-line-break: strict; 25 | line-break: strict; 26 | -epub-word-break: normal; 27 | word-break: normal; 28 | } 29 | 30 | 31 | /** 太字、ゴシック */ 32 | #if (${boldUseGothic}) 33 | .vrtl .b, 34 | #end 35 | .vrtl .gtc { 36 | font-family: '@MS ゴシック','@MS Gothic',sans-serif; 37 | } 38 | #if (${gothicUseBold}) 39 | .gtc, 40 | #end 41 | .b { font-weight: bold; } 42 | .i { font-style: italic; } 43 | 44 | /** 外字フォント */ 45 | #foreach(${gaijiInfo} in ${vecGaijiInfo}) 46 | @font-face {font-family:"${gaijiInfo.ClassName}"; src:url(../gaiji/${gaijiInfo.FileName});} 47 | .${gaijiInfo.ClassName} {font-family:"${gaijiInfo.ClassName}";} 48 | #end 49 | 50 | /** 横書き テキスト用スタイル */ 51 | 52 | html.hltr { 53 | margin: ${bodyMargin[0]} ${bodyMargin[1]} ${bodyMargin[2]} ${bodyMargin[3]}; 54 | padding: 0; 55 | writing-mode: horizontal-tb; 56 | -webkit-writing-mode: horizontal-tb; 57 | -epub-writing-mode: horizontal-tb; 58 | -epub-line-break: strict; 59 | line-break: strict; 60 | -epub-word-break: normal; 61 | word-break: normal; 62 | } 63 | 64 | /** 太字、ゴシック */ 65 | #if (${boldUseGothic}) 66 | .hltr .b, 67 | #end 68 | .hltr .gtc { 69 | font-family: 'MS ゴシック','MS Gothic',sans-serif; 70 | } 71 | #if (${gothicUseBold}) 72 | .gtc, 73 | #end 74 | .hltr .b { font-weight: bold; } 75 | .hltr .i { font-style: italic; } 76 | -------------------------------------------------------------------------------- /template/item/toc.ncx.vm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ${title} 11 | 12 | 13 | #set($idx=0) 14 | #if (${bookInfo.InsertCoverPage} && ${bookInfo.InsertCoverPageToc}) 15 | #set($idx=$idx+1) 16 | 17 | 18 | ${cover_name} 19 | 20 | 21 | 22 | #end 23 | #foreach(${chapter} in ${chapters}) 24 | #if ($chapter.ChapterName) 25 | #set($idx=$idx+1) 26 | 27 | 28 | ${chapter.NoTagChapterName} 29 | 30 | #if ($chapter.ChapterId) 31 | 32 | #else 33 | 34 | #end 35 | #foreach(${end} in ${chapter.NavClose}) 36 | 37 | #end 38 | #end 39 | #end 40 | 41 | 42 | -------------------------------------------------------------------------------- /template/item/xhtml/cover.vm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | ${title} 11 | 12 | #if (${bookInfo.svgCoverImage}) 13 | 14 | #else 15 | 16 | #end 17 | 18 | 19 |
20 | #if (${bookInfo.svgCoverImage}) 21 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | ${title} 42 | 43 | 44 | 45 | 46 | ${creator} 47 | 48 | 49 | #else 50 | 53 | 54 | 55 | #end 56 |
57 | 58 | -------------------------------------------------------------------------------- /template/item/xhtml/svg_image.vm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | ${title} 11 | 12 | 13 | 14 | 15 |
16 | 19 | 20 | 21 |
22 | 23 | -------------------------------------------------------------------------------- /template/item/xhtml/title_horizontal.vm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 11 | ${title} 12 | 13 | 14 | 15 |
16 | 17 |
18 | #if (${SERIES}) 19 |
20 |

${SERIES}

21 |
22 | #end 23 |
24 |

${TITLE}

25 |
26 | #if (${SUBTITLE}) 27 |
28 |

${SUBTITLE}

29 |
30 | #end 31 |
32 | 33 |
34 | #if (${CREATOR}) 35 |

${CREATOR}

36 | #end 37 | #if (${SUBCREATOR}) 38 |

${SUBCREATOR}

39 | #end 40 |
41 | #if (${PUBLISHER}) 42 |
43 |

${PUBLISHER}

44 |
45 | #end 46 |
47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /template/item/xhtml/title_middle.vm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 13 | 14 | 15 | 16 | ${title} 17 | 18 | 19 | 20 | #if ($kindle) 21 | #set ($kindle_cls=" kindle") 22 | #end 23 | 24 |
25 | #if (${PUBLISHER}) 26 |
${PUBLISHER}
27 |
28 | #end 29 | 30 | #if (${CREATOR}) 31 |
32 | #end 33 | #if (${SUBCREATOR}) 34 |
35 | #end 36 | 37 |
38 | #if (${SERIES}) 39 |

${SERIES}

40 | #end 41 |

${TITLE}

42 | #if (${ORGTITLE}) 43 |
${ORGTITLE}
44 | #end 45 | #if (${SUBTITLE}) 46 |
${SUBTITLE}
47 | #end 48 | #if (${SUBORGTITLE}) 49 |
${SUBORGTITLE}
50 | #end 51 |
52 | #if (${CREATOR}) 53 |
${CREATOR}
54 | #end 55 | #if (${SUBCREATOR}) 56 |
${SUBCREATOR}
57 | #end 58 | 59 |
60 | 61 | -------------------------------------------------------------------------------- /template/item/xhtml/xhtml_footer.vm: -------------------------------------------------------------------------------- 1 | #if (${sectionInfo.Middle} || ${sectionInfo.Bottom}) 2 | 3 | #end 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /template/item/xhtml/xhtml_header.vm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 15 | 16 | 17 | ${title} 18 | 19 | 20 | #if (${sectionInfo.ImageHeight} > 0) 21 | 27 | #end 28 | 29 | #set ($body_class = "") 30 | #set ($sep = "") 31 | #if ($sectionInfo.ImageFitW || $sectionInfo.ImageFitH) 32 | #set ($body_class = "p-image") 33 | #set ($sep = " ") 34 | #elseif ($sectionInfo.Middle || $sectionInfo.Bottom) 35 | #set ($body_class = "p-text") 36 | #set ($sep = " ") 37 | #end 38 | #if ($kindle) 39 | #set ($body_class = "$!{body_class}$!{sep}kindle") 40 | #set ($sep = " ") 41 | #end 42 | #if ($body_class != "") 43 | #set ($body_class = " class=""${body_class}""") 44 | #end 45 | 46 | #if ($sectionInfo.Middle) 47 |
48 |
49 | #elseif ($sectionInfo.Bottom) 50 |
51 |
52 | #else 53 |
54 | #end -------------------------------------------------------------------------------- /template/item/xhtml/xhtml_nav.vm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | ${title} 7 | 44 | 45 | 46 | 47 | ## epub3 landmarks nav ========================== 48 | 66 | ## epub3 toc nav ================================ 67 | 99 | 100 | 101 | -------------------------------------------------------------------------------- /template/mimetype: -------------------------------------------------------------------------------- 1 | application/epub+zip -------------------------------------------------------------------------------- /test_data/.gitignore: -------------------------------------------------------------------------------- 1 | /*.epub 2 | /*.kepub 3 | /*.mobi 4 | /テスト* 5 | /[テスト]* -------------------------------------------------------------------------------- /test_data/img/fig1317_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/img/fig1317_15.png -------------------------------------------------------------------------------- /test_data/img/fig1317_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/img/fig1317_16.png -------------------------------------------------------------------------------- /test_data/img/fig1317_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/img/fig1317_17.png -------------------------------------------------------------------------------- /test_data/img/fig1317_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/img/fig1317_18.png -------------------------------------------------------------------------------- /test_data/img/fig1317_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/img/fig1317_19.png -------------------------------------------------------------------------------- /test_data/img/fig1317_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/img/fig1317_20.png -------------------------------------------------------------------------------- /test_data/img/fig1317_21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/img/fig1317_21.png -------------------------------------------------------------------------------- /test_data/img/fig1317_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/img/fig1317_22.png -------------------------------------------------------------------------------- /test_data/img/fig1317_23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/img/fig1317_23.png -------------------------------------------------------------------------------- /test_data/img/fig46187_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/img/fig46187_01.png -------------------------------------------------------------------------------- /test_data/img/fig46187_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/img/fig46187_02.png -------------------------------------------------------------------------------- /test_data/img/fig46187_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/img/fig46187_03.png -------------------------------------------------------------------------------- /test_data/img/fig46187_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/img/fig46187_04.png -------------------------------------------------------------------------------- /test_data/img/fig52468_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/img/fig52468_15.png -------------------------------------------------------------------------------- /test_data/img/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/img/icon.png -------------------------------------------------------------------------------- /test_data/img/大画像.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/img/大画像.jpg -------------------------------------------------------------------------------- /test_data/img/左画像.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/img/左画像.png -------------------------------------------------------------------------------- /test_data/img/縦長.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/img/縦長.png -------------------------------------------------------------------------------- /test_data/img/表紙.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/img/表紙.jpg -------------------------------------------------------------------------------- /test_data/test_bom.txt: -------------------------------------------------------------------------------- 1 | BOM付きUTF-8 2 | テスト 3 | [#改ページ] 4 | 5 | 私の文学上のまた他の不安が、そして生涯の皮肉が、きつと私の額の大きな疲れを離れるでせう 6 | この日が大きな平和のうちにありますやうに。 7 | 私が死を望むのは、それは全く身振りを作る者達のやうにではありません、本当に全く素朴に、 8 | 人形のやうに、小さな子供のやうにです。…… 9 | -------------------------------------------------------------------------------- /test_data/test_bouten.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/test_bouten.txt -------------------------------------------------------------------------------- /test_data/test_btm.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/test_btm.txt -------------------------------------------------------------------------------- /test_data/test_chapter.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/test_chapter.txt -------------------------------------------------------------------------------- /test_data/test_chuki.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/test_chuki.txt -------------------------------------------------------------------------------- /test_data/test_dakuten.txt: -------------------------------------------------------------------------------- 1 | 濁点 2 | テスト 3 | 4 | 全角 5 | あ゛い゛う゛え゛お゛か゛き゛く゛け゛こ゛さ゛し゛す゛せ゛そ゛た゛ち゛つ゛て゛と゛な゛に゛ぬ゛ね゛の゛ 6 | は゛ひ゛ふ゛へ゛ほ゛ま゛み゛む゛め゛も゛や゛ゆ゛よ゛わ゛を゛ん゛ 7 | ぁ゛ぃ゛ぅ゛ぇ゛ぉ゛ゃ゛ゅ゛ょ゛ゕ゛ゖ゛ゎ゛ 8 | ア゛イ゛ウ゛エ゛オ゛カ゛キ゛ク゛ケ゛コ゛サ゛シ゛ス゛セ゛ソ゛タ゛チ゛ツ゛テ゛ト゛ナ゛ニ゛ヌ゛ネ゛ノ゛ 9 | ハ゛ヒ゛フ゛ヘ゛ホ゛マ゛ミ゛ム゛メ゛モ゛ヤ゛ユ゛ヨ゛ワ゛ヲ゛ン゛ 10 | ァ゛ィ゛ゥ゛ェ゛ォ゛ヵ゛ㇰ゛ヶ゛ㇱ゛ㇲ゛ッ゛ㇳ゛ㇴ゛ㇵ゛ㇶ゛ㇷ゛ㇸ゛ㇹ゛ㇺ゛ャ゛ュ゛ョ゛ㇻ゛ㇼ゛ㇽ゛ㇾ゛ㇿ゛ヮ゛ 11 | 12 | あ゜い゜う゜え゜お゜か゜き゜く゜け゜こ゜さ゜し゜す゜せ゜そ゜た゜ち゜つ゜て゜と゜な゜に゜ぬ゜ね゜の゜ 13 | は゜ひ゜ふ゜へ゜ほ゜ま゜み゜む゜め゜も゜や゜ゆ゜よ゜わ゜を゜ん゜ 14 | ぁ゜ぃ゜ぅ゜ぇ゜ぉ゜ゃ゜ゅ゜ょ゜ゕ゜ゖ゜ゎ゜ 15 | ア゜イ゜ウ゜エ゜オ゜カ゜キ゜ク゜ケ゜コ゜サ゜シ゜ス゜セ゜ソ゜タ゜チ゜ツ゜テ゜ト゜ナ゜ニ゜ヌ゜ネ゜ノ゜ 16 | ハ゜ヒ゜フ゜ヘ゜ホ゜マ゜ミ゜ム゜メ゜モ゜ヤ゜ユ゜ヨ゜ワ゜ヲ゜ン゜ 17 | ァ゜ィ゜ゥ゜ェ゜ォ゜ヵ゜ㇰ゜ヶ゜ㇱ゜ㇲ゜ッ゜ㇳ゜ㇴ゜ㇵ゜ㇶ゜ㇷ゜ㇸ゜ㇹ゜ㇺ゜ャ゜ュ゜ョ゜ㇻ゜ㇼ゜ㇽ゜ㇾ゜ㇿ゜ヮ゜ 18 | 19 | ー゛ー゜ゐ゛ゐ゜ゑ゛ゑ゜ゝ゛ゝ゜ヽ゛ヽ゜〻゛〻゜ 20 | ι゛ι゜ㄟ゛ㄟ゜ㄟ⁰ 21 | 22 | 結合文字 23 | あ゙い゙ゔえ゙お゙がぎぐげござじずぜぞだぢづでどな゙に゙ぬ゙ね゙の゙ 24 | ばびぶべぼま゙み゙む゙め゙も゙や゙ゆ゙よ゙わ゙を゙ん゙ 25 | ぁ゙ぃ゙ぅ゙ぇ゙ぉ゙ゃ゙ゅ゙ょ゙ゕ゙ゖ゙ゎ゙ 26 | ア゙イ゙ヴエ゙オ゙ガギグゲゴザジズゼゾダヂヅデドナ゙ニ゙ヌ゙ネ゙ノ゙ 27 | バビブベボマ゙ミ゙ム゙メ゙モ゙ヤ゙ユ゙ヨ゙ヷヺン゙ 28 | ァ゙ィ゙ゥ゙ェ゙ォ゙ヵ゙ㇰ゙ヶ゙ㇱ゙ㇲ゙ッ゙ㇳ゙ㇴ゙ㇵ゙ㇶ゙ㇷ゙ㇸ゙ㇹ゙ㇺ゙ャ゙ュ゙ョ゙ㇻ゙ㇼ゙ㇽ゙ㇾ゙ㇿ゙ヮ゙ 29 | 30 | あ゚い゚う゚え゚お゚か゚き゚く゚け゚こ゚さ゚し゚す゚せ゚そ゚た゚ち゚つ゚て゚と゚な゚に゚ぬ゚ね゚の゚ 31 | ぱぴぷぺぽま゚み゚む゚め゚も゚や゚ゆ゚よ゚わ゚を゚ん゚ 32 | ぁ゚ぃ゚ぅ゚ぇ゚ぉ゚ゃ゚ゅ゚ょ゚ゕ゚ゖ゚ゎ゚ 33 | ア゚イ゚ウ゚エ゚オ゚カ゚キ゚ク゚ケ゚コ゚サ゚シ゚ス゚セ゚ソ゚タ゚チ゚ツ゚テ゚ト゚ナ゚ニ゚ヌ゚ネ゚ノ゚ 34 | パピプペポマ゚ミ゚ム゚メ゚モ゚ヤ゚ユ゚ヨ゚ワ゚ヲ゚ン゚ 35 | ヵ゚ㇰ゚ヶ゚ㇱ゚ㇲ゚ッ゚ㇳ゚ㇴ゚ㇵ゚ㇶ゚ㇷ゚ㇸ゚ㇹ゚ㇺ゚ャ゚ュ゚ョ゚ㇻ゚ㇼ゚ㇽ゚ㇾ゚ㇿ゚ヮ゚ 36 | 37 | ー゙ー゚ゐ゙ゐ゚ゑ゙ゑ゚ゞゝ゚ヾヽ゚〻゙〻゚ 38 | ι゙ι゚ㄟ゙ㄟ゚ 39 | 40 | JIS 41 | ※[#濁点付き平仮名う、1-4-84] 42 | ※[#半濁点付き平仮名か、1-4-87] 43 | ※[#半濁点付き平仮名き、1-4-88] 44 | ※[#半濁点付き平仮名く、1-4-89] 45 | ※[#半濁点付き平仮名け、1-4-90] 46 | ※[#半濁点付き平仮名こ、1-4-91] 47 | カ゚キ゚ク゚ケ゚コ゚セ゚ツ゚ト゚ 48 | ※[#半濁点付き片仮名カ、1-5-87] 49 | ※[#半濁点付き片仮名キ、1-5-88] 50 | ※[#半濁点付き片仮名ク、1-5-89] 51 | ※[#半濁点付き片仮名ケ、1-5-90] 52 | ※[#半濁点付き片仮名コ、1-5-91] 53 | ※[#半濁点付き片仮名セ、1-5-92] 54 | ※[#半濁点付き片仮名ツ、1-5-93] 55 | ※[#半濁点付き片仮名ト、1-5-94] 56 | ヷヸヹヺ 57 | ※[#濁点付き片仮名ワ、1-7-82] 58 | ※[#濁点付き片仮名ヰ、1-7-83] 59 | ※[#濁点付き片仮名ヱ、1-7-84] 60 | ※[#濁点付き片仮名ヲ、1-7-85] 61 | 62 | あいうえお《あ゛い゛う゛え゛お゛》 63 | あ゛い゛う゛え゛お゛《あ゜い゜う゜え゜お゜》 64 | 65 | [#ここから2字下げ] 66 | [#ここから太字] 67 | あいうえお《あ゛い゛う゛え゛お゛》 68 | あ゛い゛う゛え゛お゛《あ゜い゜う゜え゜お゜》 69 | [#ここで太字終わり] 70 | 71 | [#ここから斜体] 72 | あいうえお《あ゛い゛う゛え゛お゛》 73 | あ゛い゛う゛え゛お゛《あ゜い゜う゜え゜お゜》 74 | 75 | [#ここから太字] 76 | あいうえお《あ゛い゛う゛え゛お゛》 77 | あ゛い゛う゛え゛お゛《あ゜い゜う゜え゜お゜》 78 | [#ここで太字終わり] 79 | [#ここで斜体終わり] 80 | [#ここで字下げ終わり] 81 | 82 | [#ここからゴシック体] 83 | あいうえお《あ゛い゛う゛え゛お゛》 84 | あ゛い゛う゛え゛お゛《あ゜い゜う゜え゜お゜》 85 | [#ここでゴシック体終わり] 86 | 87 | 88 | 注記 89 | ※[#濁点付き平仮名え、ページ数-行数] 90 | ※[#濁点付き小書き平仮名つ、ページ数-行数] 91 | ※[#濁点付き片仮名ラ、ページ数-行数] 92 | ※[#半濁点付き片仮名ラ、ページ数-行数] 93 | ※[#濁点付き二の字点、ページ数-行数] 94 | 95 | ルビ 96 | 97 | 漢字 98 | 亜゛伊゛宇゛ 99 | -------------------------------------------------------------------------------- /test_data/test_denshokyou.txt: -------------------------------------------------------------------------------- 1 | 電書協EPUBサンプル青空文庫注記 2 | 急急如律令 3 | 4 | [#大見出し] 目次[#大見出し終わり] 5 | デモンストレーション 6 | 7 | 配置の基礎確認 8 | #c001【配置の基礎】ボックスモデル簡易確認 9 | #c002【配置の基礎】右開き(右綴じ)書籍中での横組みページ確認 10 | 11 | 縦組み確認 12 | #001ページフィット(改ページせず挿入) 13 | #002【縦組み】文字色(電書協ガイドCSS基本色) 14 | #003【縦組み】背景色(電書協ガイドCSS基本色) 15 | #004【縦組み】文字参照・数値参照 16 | #005【縦組み】外字 17 | #006【縦組み】縦中横 18 | #007【縦組み】上付・下付・小書き・訓点 19 | #008【縦組み】縦組み時の文字向き回転 20 | #009【縦組み】ルビ 21 | #010【縦組み】傍点・圏点 22 | #011【縦組み】行高 23 | #012【縦組み】文字間 24 | #013【縦組み】文字サイズ 25 | #014【縦組み】基本書体の確認 26 | #015【縦組み】ゴシック 27 | #016【縦組み】太字 28 | #017【縦組み】斜体 29 | #018【縦組み】傍線 30 | #019【縦組み】傍線(反対側) 31 | #020【縦組み】打消線 32 | #021【縦組み】行内囲み罫(border) 33 | #022【縦組み】行全体の囲み罫(border) 34 | #023【縦組み】罫線(border) 35 | #024【縦組み】リンク指定 36 | #025【縦組み】行揃え 37 | #026【縦組み】行長方向のサイズ 38 | #027【縦組み】行長方向の最大サイズ 39 | #028【縦組み】行幅方向のサイズ 40 | #029【縦組み】行幅方向の最大サイズ 41 | #030【縦組み】ブロック要素の位置揃え 42 | #031【縦組み】ブロック外側の余白(margin) %で指定 43 | #032【縦組み】ブロック外側の余白(margin) emで指定 44 | #033【縦組み】ブロック内側の余白(padding) %で指定 45 | #034【縦組み】ブロック内側の余白(padding) emで指定 46 | #035【縦組み】インライン要素の余白(margin・padding) 47 | #036【縦組み】字上げ・字下げ 48 | #037【縦組み】行頭インデント 49 | #038【縦組み】ぶら下がりインデント 50 | #039【縦組み】改行のルール 51 | #040【縦組み】改ページ 52 | #041【縦組み】ボックスの種類 53 | #042【縦組み】インライン要素の配置(vertical-align) 54 | #043【縦組み】画像・ブロックへの単純な回り込み 55 | 56 | 参考 57 | #ex001【参考】画像の原寸サイズの見え方 58 | #ex002【参考】縦組みでの既定の文字の向き(UTR#50 Revision 11) 59 | #ex003【参考】縦組みでの正立(upright)時の文字の向き 60 | #ex004【参考】縦組みでの横転(sideways)時の文字の向き 61 | #ex005【参考】縦組みでの縦中横(tcy)時の文字の向き 62 | #ex006【参考】Unicode のサロゲートペア文字 63 | #ex007【参考】組み方向の入れ子を利用してのブロック配置 64 | #ex008【参考】部分FL 65 | #ex009【参考】ページフィット+サイズ指定 66 | #ex010【参考】折り返し行末のハイフン 67 | #ex011【参考】フォルダ構成の変更 68 | 69 | 横組み確認 70 | #001【横組み】ページフィット(改ページせず挿入) 71 | #002【横組み】文字色(電書協ガイドCSS基本色) 72 | #003【横組み】背景色(電書協ガイドCSS基本色) 73 | #004【横組み】文字参照・数値参照 74 | #004【横組み】文字参照・数値参照 75 | #005【横組み】外字 76 | #006【横組み】縦中横 77 | #007【横組み】上付・下付・小書き・訓点 78 | #008【横組み】縦組み時の文字向き回転 79 | #009【横組み】ルビ 80 | #010【横組み】傍点・圏点 81 | #011【横組み】行高 82 | #012【横組み】文字間 83 | #013【横組み】文字サイズ 84 | #014【横組み】基本書体の確認 85 | #015【横組み】ゴシック 86 | #016【横組み】太字 87 | #017【横組み】斜体 88 | #018【横組み】傍線 89 | #019【横組み】傍線(反対側) 90 | #020【横組み】打消線 91 | #021【横組み】行内囲み罫(border) 92 | #022【横組み】行全体の囲み罫(border) 93 | #022【横組み】行全体の囲み罫(border) 94 | #023【横組み】罫線(border) 95 | #024【横組み】リンク指定 96 | #025【横組み】行揃え 97 | #026【横組み】行長方向のサイズ 98 | #027【横組み】行長方向の最大サイズ 99 | #028【横組み】行幅方向のサイズ 100 | #029【横組み】行幅方向の最大サイズ 101 | #030【横組み】ブロック要素の位置揃え 102 | #031【横組み】ブロック外側の余白(margin) %で指定 103 | #032【横組み】ブロック外側の余白(margin) emで指定 104 | #033【横組み】ブロック内側の余白(padding) %で指定 105 | #034【横組み】ブロック内側の余白(padding) emで指定 106 | #035【横組み】インライン要素の余白(margin・padding) 107 | #036【横組み】字上げ・字下げ 108 | #037【横組み】行頭インデント 109 | #038【横組み】ぶら下がりインデント 110 | #039【横組み】改行のルール 111 | #040【横組み】改ページ 112 | #041【横組み】ボックスの種類 113 | #042【横組み】インライン要素の配置(vertical-align) 114 | #043【横組み】画像・ブロックへの単純な回り込み 115 | 116 | [#改ページ] 117 | [#大見出し]#001ページフィット(改ページせず挿入)[#大見出し終わり] 118 | 119 | 120 | ※電書協ガイドCSSでは、book-style.css で 用の .p-image に { text-align: center; } が指定されています。 121 | 122 | 123 | [#ここから天付き] 124 | [#sample(sample.jpg)入る] 125 | [#ここで天付き終わり] 126 | 127 | [#ここから中央揃え] 128 | [#sample(sample.jpg)入る] 129 | [#ここで中央揃え終わり] 130 | 131 | [#ここから地付き] 132 | [#sample(sample.jpg)入る] 133 | [#ここで地付き終わり] 134 | 135 | [#改ページ] 136 | [#大見出し]#002 文字色(電書協ガイドCSS基本色)[#大見出し終わり] 137 | 138 | 139 | 文字色→●(無指定) 140 | 文字色→[#黒色]●[#黒色終わり](color-black [#000000]) 141 | 文字色→[#暗灰色]●[#暗灰色終わり](color-dimgray [#696969]) 142 | 文字色→[#灰色]●[#灰色終わり](color-gray [#808080]) 143 | 文字色→[#鼠色]●[#鼠色終わり](color-darkgray [#a9a9a9]) 144 | 文字色→[#銀色]●[#銀色終わり](color-silver [#c0c0c0]) 145 | 文字色→[#白鼠色]●[#白鼠色終わり](color-gainsboro [#dcdcdc]) 146 | 文字色→[#白色]●[#白色終わり](color-white [#ffffff]) 147 | 文字色→[#黒地白色]●[#黒地白色終わり](inverse ※黒地に白文字) 148 | 文字色→[#透明色]●[#透明色終わり](color-transparent [transparent] ※透明) 149 | 文字色→[#灰地透明色]●[#灰地透明色終わり](color-transparent & 背景 gray) 150 | 151 | #002-b 文字列に指定 ◎基本色 152 | 153 | 文字色→[#赤色]●[#赤色終わり](color-red [#ff0000]) 154 | 文字色→[#青色]●[#青色終わり](color-blue [#0000ff]) 155 | 文字色→[#水色]●[#水色終わり](color-cyan [#00ffff]) 156 | 文字色→[#赤紫色]●[#赤紫色終わり](color-magenta [#ff00ff]) 157 | 文字色→[#橙色]●[#橙色終わり](color-orangered [#ff4500]) 158 | 159 | #002-c ブロックに一括で指定 160 | 161 | 見出しに色指定はめんどいのでやらない。 162 | 163 | ↓ここから文字色・color-blue(「うえ」はcolor-red) 164 | [#ここから青色] 165 | [#小見出し]見出し あい[#赤色]うえ[#赤色終わり]お(見出しに色指定なし)[#小見出し終わり] 166 | 167 | [#小見出し][#灰色]見出し あい[#赤色]うえ[#赤色終わり]お(見出しに色指定あり)[#灰色終わり][#小見出し終わり] 168 | 段 落 あい[#赤色]うえ[#赤色終わり]お(見出しに色指定なし) 169 | [#灰色]段 落 見出し あい[#赤色]うえ[#赤色終わり]お(見出しに色指定あり)[#灰色終わり] 170 | 画像[#sample(sample.jpg)入る]画像(透過png) 171 | [#ここで青色終わり] 172 | ↑ここまで文字色・color-blue 173 | 174 | 175 | [#大見出し]#003 背景色(電書協ガイドCSS基本色)[#大見出し終わり] 176 | 177 | #003-a 文字列に指定 ◎1C用文字色 178 | 179 | 背景色→あ(無指定) 180 | 背景色→[#黒背景]あ[#黒背景終わり](bg-black) 181 | 背景色→[#暗灰背景]あ[#暗灰背景終わり](bg-dimgray) 182 | 背景色→[#灰背景]あ[#灰背景終わり](bg-gray) 183 | 背景色→[#鼠背景]あ[#鼠背景終わり](bg-darkgray) 184 | 背景色→[#銀背景]あ[#銀背景終わり](bg-silver) 185 | 背景色→[#白鼠背景]あ[#白鼠背景終わり](bg-gainsboro) 186 | 背景色→[#白背景]あ[#白背景終わり](bg-white) 187 | 背景色→[#透明背景]あ[#透明背景終わり](bg-transparent) 188 | 189 | 190 | #003-b 文字列に指定 ◎基本色 191 | 192 | 背景色→[#赤背景]●[#赤背景終わり](bg-red) 193 | 背景色→[#青背景]●[#青背景終わり](bg-blue) 194 | 背景色→[#水背景]●[#水背景終わり](bg-cyan) 195 | 背景色→[#赤紫背景]●[#赤紫背景終わり](bg-magenta) 196 | 背景色→[#橙背景]●[#橙背景終わり](bg-orangered) 197 | 198 | 背景色→●[#「●」は赤背景](bg-orangered) 199 | 200 | #003-c ブロックに一括で指定 201 | 202 | ↓ここから背景色・bg-silver(「うえ」は bg-blue+color-cyan) 203 | [#ここから銀背景] 204 | [#小見出し]見出し あい[#青背景][#水色]うえ[#水色終わり][#青背景終わり]お(見出しに色指定なし)[#小見出し終わり] 205 | [#小見出し][#赤紫背景]見出し あい[#青背景][#水色]うえ[#水色終わり][#青背景終わり]お(見出しに色指定あり)[#赤紫背景終わり][#小見出し終わり] 206 | 段 落 あい[#青背景][#水色]うえ[#水色終わり][#青背景終わり]お(段落に色指定なし) 207 | [#赤紫背景]段 落 あい[#青背景][#水色]うえ[#水色終わり][#青背景終わり]お(段落に色指定あり)[#赤紫背景終わり] 208 | 画像画像(透過png) 209 | [#ここで銀背景終わり] 210 | ↑ここまで背景色・bg-silver 211 | 212 | #003-d ページ全体への背景色 213 | 214 | この文章はサンプルです。 215 | 216 | 217 | #003-e ページ全体への背景色の中の背景色 218 | 219 | 背景に bg-cyan を指定 220 | 背景に bg-white と m-start-025per を指定 221 | 222 | ※ には背景・黒(bg-black)と文字・赤(color-red)を指定。 223 | 224 | #004-a 文字実体参照(実体参照) 225 | 226 | 【<】< 227 | 【&】& 228 | 【>】> 229 | 【"】" 230 | 【'】' 231 | 232 | #004-b 数値文字参照(文字参照) 233 | 234 | 【16進数 記】記 235 | 【10進数 記】記 236 | 【文字参照へのルビ】記ルビ…紀ルビ…記紀ルビ 237 | 【ルビに文字参照】あいう記紀 238 | 【文字参照を縦中横】-5(-5) 239 | 240 | 241 | #005-a 外字画像 242 | 243 | 標準→あいうえお 244 | □□□□■□□□□■ 245 | 縦長→あいうえお 246 | □□□□■□□□□■ 247 | 横長→あいうえお 248 | -------------------------------------------------------------------------------- /test_data/test_gaiji.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/test_gaiji.txt -------------------------------------------------------------------------------- /test_data/test_gaiji_image.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/test_gaiji_image.txt -------------------------------------------------------------------------------- /test_data/test_image.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/test_image.txt -------------------------------------------------------------------------------- /test_data/test_ivs.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/test_ivs.txt -------------------------------------------------------------------------------- /test_data/test_kinsoku.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/test_kinsoku.txt -------------------------------------------------------------------------------- /test_data/test_latin.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/test_latin.txt -------------------------------------------------------------------------------- /test_data/test_mado.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/test_mado.txt -------------------------------------------------------------------------------- /test_data/test_png.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/test_png.zip -------------------------------------------------------------------------------- /test_data/test_ruby.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/test_ruby.txt -------------------------------------------------------------------------------- /test_data/test_tcy.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/test_tcy.txt -------------------------------------------------------------------------------- /test_data/test_title.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/test_title.txt -------------------------------------------------------------------------------- /test_data/test_upr.txt: -------------------------------------------------------------------------------- 1 | 正立☆∀ 2 | テスト 3 | 4 | [#改ページ] 5 | 6 | 。置換対象 7 | ≪≫“”〝〟― 8 | 9 | ・正立する文字 10 | ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ 11 | ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻ 12 | ⓪①②③④⑤⑥⑦⑧⑨⑩ 13 | ⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ 14 | ㉑㉒㉓㉔㉕㉖㉗㉘㉙㉚ 15 | ㉛㉜㉝㉞㉟㊱㊲㊳㊴㊵ 16 | ㊶㊷㊸㊹㊺㊻㊼㊽㊾㊿ 17 | △▽▲▼☆★ 18 | ♂♀♪♭§†‡ 19 | ‼⁇⁉⁈ 20 | ©®⁑⁂ 21 | ◐◑◒◓▷▶◁◀ 22 | ♤♠♢♦♡♥♧♣❤ 23 | ☖☗☎☁☂☃♨▱⊿✿ 24 | ☹☺☻ 25 | ✓✔␣⏎♩♮♫♬ℓ№℡ 26 | ℵℏ℧ 27 | 28 | ・正立しない文字 29 | -÷±∞∴∵¶ 30 | ⇔⇒≡√∇∂∃∠⊥⌒∽∝∫∬∮∑∟⊿≠≦≧∈∋⊆⊇⊂⊃∧∨↑↓→←∀ 31 | -------------------------------------------------------------------------------- /test_data/test_wrc.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/test_wrc.txt -------------------------------------------------------------------------------- /test_data/test_yoko.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyukyunyorituryo/AozoraEpub3/a26a62ab30b3bda858ce8fd1288943f97ff7455e/test_data/test_yoko.txt -------------------------------------------------------------------------------- /web/2.novelist.jp/extract.txt: -------------------------------------------------------------------------------- 1 | ################################ 2 | ## novelist.jp 3 | ## http://novelist.jp/ 4 | ################################ 5 | 6 | ## 変換対象URLパターン 7 | ##PAGE_REGEX /\d+\.html$ 8 | 9 | ################################ 10 | ## 一覧ページの抽出設定 11 | ## タイトル 12 | TITLE #work_detail h2:0 13 | ## 著者 14 | AUTHOR #work_detail .work_right p a:0 15 | ## 説明 16 | DESCRIPTION .work_discript:0 17 | ## 表紙画像 18 | COVER_IMG #work_detail .work_left img:0 19 | 20 | ## 更新日時 比較文字列 (hrefに1:1で対応するタグ 内部のinnerHTML文字列で比較) 21 | UPDATE .noveldescription table td p:0 22 | 23 | ################ 24 | ## 各話へのリンク 25 | ##HREF a ^\/novel\.php\?mode=rd\& 26 | 27 | ################ 28 | ## ページ番号 数字のみ利用 (前優先 ^[^\d]*(\d+) ) 29 | PAGE_NUM #work_detail .work_right p:1 ^.*総ページ数:(\d+)ページ.*$ $1 30 | ## ページ番号方式のベースURL ページ番号をURLの後ろにタブで結合した文字列の置換パターン 31 | PAGE_URL #work_detail .work_left a.button01.ml26:0 ^(.*_p)\d+(\.html)\t(\d+)$ $1$3$2 32 | 33 | ################################ 34 | ###各話の抽出設定 35 | 36 | ## 各話 章タイトル 中見出しで出力 37 | CONTENT_SUBTITLE .work_read h4:0 38 | 39 | ## 各話 本文 40 | CONTENT_ARTICLE .work_read:0 41 | CONTENT_ARTICLE_START .work_read h4:0,.work_read .work_read_header:0 42 | CONTENT_ARTICLE_END .work_read .work_read_footer:0 43 | -------------------------------------------------------------------------------- /web/extract_sample.txt: -------------------------------------------------------------------------------- 1 | ################################################################ 2 | ### 一覧ページから本の情報とリンク抽出 3 | ### CONTENT_ から始まる物は各話HTMLからの抽出用 4 | ### 5 | ### 書式: (タブ区切り文字列) 6 | ###内部ID CssQuery[:位置][,CssQuery2[:位置]][ 正規表現条件[ 置換後]] 7 | ### (CssQueryの後にElemtnsの位置:0~ 負の値は後ろから:-1~ (無しはすべて)) 8 | ### (CssQuery+位置情報はカンマで複数指定可(前を優先) ) 9 | ### 10 | ###内部ID .classAll 11 | ###内部ID .classFirst:0 12 | ###内部ID .classFirst3:0:1:2 13 | ###内部ID .classLast:-1 14 | ###内部ID .class Pattern Replacement 15 | ###内部ID .class1 span:1,.class2 td:0 16 | ### 17 | ### 置換指定: 18 | ### 前書き、本文、後書き以外は 指定タグのinnerHTML(改行除去後)文字列に対して置換を行った後にタグ除外して文字列化します。 19 | ### brタグ前を除去 → ^.*
20 | ### brタグ後を除去 →
.*$ 21 | ################################################################ 22 | 23 | ################################ 24 | ## サンプルサイト 25 | ## http://example.com/ 26 | ################################ 27 | 28 | ## 一覧ページの抽出設定 29 | ## シリーズタイトル 30 | SERIES .series a:0 31 | ## タイトル 32 | TITLE .sh_heading_main_a:0 33 | ## 著者 34 | AUTHOR .username a:0,.username:0 (?作者: 35 | ## 説明 36 | DESCRIPTION .novel_comment:0 37 | ## 表紙画像 38 | COVER_IMG .novel_img img:0 39 | ## 表紙画像 (サムネイルにリンクされている場合) 40 | ##COVER_HREF .novel_img a:0 41 | 42 | ##全体の更新日時タグ文字列 (更新チェック用) 43 | ##UPDATE .noveldescription table td p:0 44 | 45 | ################ 46 | ## 各話へのリンク 47 | HREF a ^\/novel\.php\?mode=rd\& 48 | 49 | ## 一覧に記載されている各話の更新日時チェック用にタグ全体の文字列を利用 50 | ## (HREFと1:1で対応している必要有り) 51 | SUB_UPDATE .long_update 52 | 53 | ##本文に日付が無い場合 公開・更新日時の文字列に利用 54 | #CONTENT_UPDATE_LIST .long_update ^(.+?)() 74 | ##各話内に記載されている更新日時 75 | #CONTENT_UPDATE .date ^(.*)$ $1 76 | 77 | ##本文タグ外に画像がある場合本文の前に出力 78 | CONTENT_IMG .novel_img img 79 | 80 | ## 本文 抽出開始 このタグの次から 81 | #CONTENT_ARTICLE_START .novel_body hr:0 82 | ## 本文 (再帰的に出力するので置換設定無効) 83 | CONTENT_ARTICLE .novel_body 84 | ## 本文 抽出終了 このタグの前まで 85 | #CONTENT_ARTICLE_END .novel_body hr:-1 86 | ## 本文が複数のElememtの場合に間に入れるセパレータ (CssQuery部分に追加文字列を設定) 87 | #CONTENT_ARTICLE_SEPARATOR [#空行][#区切り線][#空行] 88 | 89 | ## 前書き 抽出開始 このタグの次から 90 | #CONTENT_PREAMBLE_START .novel_p .novel_view p:1 91 | ## 前書き (再帰的に出力するので置換設定無効) 92 | CONTENT_PREAMBLE .novel_p .novel_view:0 93 | ## 前書き 抽出終了 このタグの前まで 94 | #CONTENT_PREAMBLE_END .novel_p .novel_view hr:-1 95 | 96 | ## 補足 抽出開始 このタグの次から 97 | #CONTENT_APPENDIX_START .novel_a .novel_view hr:1 98 | ## 補足 (再帰的に出力するので置換設定無効) 99 | CONTENT_APPENDIX .novel_a .novel_view:0 100 | ## 補足 抽出終了 このタグの前まで 101 | #CONTENT_APPENDIX_END .novel_a .novel_view p:-1 102 | -------------------------------------------------------------------------------- /web/kakuyomu.jp/extract.txt: -------------------------------------------------------------------------------- 1 | ################################ 2 | ### カクヨム 3 | ### https://kakuyomu.jp/works/ 4 | ################################ 5 | 6 | ## 変換対象URLパターン 7 | ##PAGE_REGEX .*/\d+/episodes/\d+/$ 8 | 9 | ################################ 10 | ##一覧ページの抽出設定 11 | ## タイトル 12 | TITLE #workTitle a:0 13 | ## 著者 14 | AUTHOR #workAuthor-activityName a:0 15 | ## 説明 16 | DESCRIPTION #introduction:0 17 | 18 | ################ 19 | ## 各話へのリンク 20 | HREF .widget-toc-items a 21 | ##HREF a \/\d*\/episodes\/\d* 22 | ##一覧に記載されている各話の更新日時 23 | SUB_UPDATE .widget-toc-episode-datePublished 24 | 25 | ################################ 26 | ###各話の抽出設定 27 | 28 | ## 各話 Chapter 先頭の章のみ大見出しで出力 29 | CONTENT_CHAPTER .chapterTitle:0 30 | ## 各話 章タイトル 中見出しで出力 31 | CONTENT_SUBTITLE .widget-episodeTitle:0 32 | 33 | ## 各話 本文 34 | CONTENT_ARTICLE .widget-episodeBody -------------------------------------------------------------------------------- /web/ncode.syosetu.com/extract.txt: -------------------------------------------------------------------------------- 1 | ################################ 2 | ### 小説を読もう! 3 | ### https://yomou.syosetu.com/ 4 | ################################ 5 | 6 | ## 変換対象URLパターン 7 | ##PAGE_REGEX .*/n\d+[^\/]*/$ 8 | 9 | ##ユーザーエージェント 10 | #USER_AGENT Chrome 11 | 12 | ##ページャーの上限 13 | PAGER_MAX 100 14 | ##目次のクラスネーム 15 | INDEX .p-eplist:0,.index_box:0 16 | ##ページャーリンクのクラスネーム 17 | LAST_PAGE .c-pager__item--last:0,.novelview_pager-last 18 | 19 | ################################ 20 | ##一覧ページの抽出設定 21 | ## シリーズタイトル 22 | SERIES .p-novel__series-link a:0,.series a:0 23 | ## タイトル 24 | TITLE .p-novel__title:0,.novel_title:0,.novel_subtitle:0 (^.*
) 25 | ## 著者 26 | AUTHOR .p-novel__author:0,.novel_writername:0 作者: 27 | ## 説明 28 | DESCRIPTION #novel_ex:0 29 | ##表紙画像 30 | COVER_IMG .novel_img img:0 31 | 32 | ################ 33 | ## 各話へのリンク 34 | HREF .p-eplist__sublist a,.subtitle a 35 | ##HREF a \/n\d+\w*\/\d+\/ 36 | ##一覧に記載されている各話の更新日時 37 | SUB_UPDATE .p-eplist__update,.long_update 38 | 39 | ##本文に日付が無い場合 公開・更新日時の文字列に利用 40 | CONTENT_UPDATE_LIST .p-eplist__update,.long_update ^([^<]+)() 49 | 50 | ## 各話 本文 51 | CONTENT_ARTICLE *[id~=^L[0-9]+$],#novel_honbun:0 52 | 53 | ##本文タグ外に画像がある場合本文の前に出力 54 | #CONTENT_IMG 55 | 56 | ##前書き 57 | CONTENT_PREAMBLE .p-novel__text--preface:0,#novel_p:0 58 | ## 補足 59 | CONTENT_APPENDIX .p-novel__text--afterword:0,#novel_a:0 60 | -------------------------------------------------------------------------------- /web/novel.fc2.com/extract.txt: -------------------------------------------------------------------------------- 1 | ################################ 2 | ## FC2小説 3 | ## http://novel.fc2.com/ 4 | ################################ 5 | 6 | ## 変換対象URLパターン 7 | ##PAGE_REGEX .*mode=tc&.* 8 | 9 | ################################ 10 | ## 一覧ページの抽出設定 11 | ## タイトル 12 | TITLE .sh_heading_main_a:0 13 | ## 著者 14 | AUTHOR .username a:0,.username:0 15 | ## 説明 16 | DESCRIPTION .novel_comment:0 17 | ## 表紙画像 18 | COVER_IMG .novel_img img:0 19 | 20 | ## 更新日時 比較文字列 (hrefに1:1で対応するタグ 内部のinnerHTML文字列で比較) 21 | UPDATE .noveldescription table td p:0 22 | 23 | ################ 24 | ## 各話へのリンク 25 | ##HREF a ^\/novel\.php\?mode=rd\& 26 | 27 | ################ 28 | ## ページ番号 数字のみ利用 (前優先 ^[^\d]*(\d+) ) 29 | PAGE_NUM .noveldescription table td p:2 ^[^\d]*(\d+).*$ $1 30 | ## ページ番号方式のベースURL ページ番号をURLの後ろにタブで結合した文字列の置換パターン 31 | PAGE_URL .novel_first a:0 ^(.*pg=)\d+\t(\d+)$ $1$2 32 | 33 | ################################ 34 | ###各話の抽出設定 35 | 36 | ## 各話 章タイトル 中見出しで出力 37 | CONTENT_SUBTITLE .novel_maincontent .novel_subtitle:0 38 | 39 | ##本文タグ外に画像がある場合本文の前に出力 40 | CONTENT_IMG .novel_maincontent .novel_img img 41 | 42 | ## 各話 本文 43 | CONTENT_ARTICLE .novel_maincontent .novel_body:0 44 | -------------------------------------------------------------------------------- /web/novel18.syosetu.com/extract.txt: -------------------------------------------------------------------------------- 1 | ################################ 2 | ### 小説を読もう! 3 | ### https://yomou.syosetu.com/ 4 | ################################ 5 | 6 | ## 変換対象URLパターン 7 | ##PAGE_REGEX .*/n\d+[^\/]*/$ 8 | 9 | ##送信するクッキー 複数はセミコロン区切り key1=value1; key2=value2 10 | COOKIE over18=yes 11 | 12 | ##ユーザーエージェント 13 | #USER_AGENT Chrome 14 | 15 | ##ページャーの上限 16 | PAGER_MAX 100 17 | ##目次のクラスネーム 18 | INDEX .p-eplist:0,.index_box:0 19 | ##ページャーリンクのクラスネーム 20 | LAST_PAGE .c-pager__item--last:0,.novelview_pager-last 21 | 22 | ################################ 23 | ##一覧ページの抽出設定 24 | ## シリーズタイトル 25 | SERIES .p-novel__series-link a:0,.series a:0 26 | ## タイトル 27 | TITLE .p-novel__title:0,.novel_title:0,.novel_subtitle:0 (^.*
) 28 | ## 著者 29 | AUTHOR .p-novel__author:0,.novel_writername:0 作者: 30 | ## 説明 31 | DESCRIPTION #novel_ex:0 32 | ##表紙画像 33 | COVER_IMG .novel_img img:0 34 | 35 | ################ 36 | ## 各話へのリンク 37 | HREF .p-eplist__sublist a,.subtitle a 38 | ##HREF a \/n\d+\w*\/\d+\/ 39 | ##一覧に記載されている各話の更新日時 40 | SUB_UPDATE .p-eplist__update,.long_update 41 | 42 | ##本文に日付が無い場合 公開・更新日時の文字列に利用 43 | CONTENT_UPDATE_LIST .p-eplist__update,.long_update ^([^<]+)() 52 | 53 | ## 各話 本文 54 | CONTENT_ARTICLE *[id~=^L[0-9]+$],#novel_honbun:0 55 | 56 | ##本文タグ外に画像がある場合本文の前に出力 57 | #CONTENT_IMG 58 | 59 | ##前書き 60 | CONTENT_PREAMBLE .p-novel__text--preface:0,#novel_p:0 61 | ## 補足 62 | CONTENT_APPENDIX .p-novel__text--afterword:0,#novel_a:0 63 | -------------------------------------------------------------------------------- /web/novelist.jp/extract.txt: -------------------------------------------------------------------------------- 1 | ################################ 2 | ## novelist.jp 3 | ## http://novelist.jp/ 4 | ################################ 5 | 6 | ## 変換対象URLパターン 7 | ##PAGE_REGEX /\d+\.html$ 8 | 9 | ################################ 10 | ## 一覧ページの抽出設定 11 | ## タイトル 12 | TITLE #work_detail h2:0 13 | ## 著者 14 | AUTHOR #work_detail .work_right p a:0 15 | ## 説明 16 | DESCRIPTION .work_discript:0 17 | ## 表紙画像 18 | COVER_IMG #work_detail .work_left img:0 19 | 20 | ## 更新日時 比較文字列 (hrefに1:1で対応するタグ 内部のinnerHTML文字列で比較) 21 | UPDATE .noveldescription table td p:0 22 | 23 | ################ 24 | ## 各話へのリンク 25 | ##HREF a ^\/novel\.php\?mode=rd\& 26 | 27 | ################ 28 | ## ページ番号 数字のみ利用 (前優先 ^[^\d]*(\d+) ) 29 | PAGE_NUM #work_detail .work_right p:1 ^.*総ページ数:(\d+)ページ.*$ $1 30 | ## ページ番号方式のベースURL ページ番号をURLの後ろにタブで結合した文字列の置換パターン 31 | PAGE_URL #work_detail .work_left a.button01.ml26:0 ^(.*_p)\d+(\.html)\t(\d+)$ $1$3$2 32 | 33 | ################################ 34 | ###各話の抽出設定 35 | 36 | ## 各話 章タイトル 中見出しで出力 37 | CONTENT_SUBTITLE .work_read h4:0 38 | 39 | ## 各話 本文 40 | CONTENT_ARTICLE .work_read:0 41 | CONTENT_ARTICLE_START .work_read h4:0,.work_read .work_read_header:0 42 | CONTENT_ARTICLE_END .work_read .work_read_footer:0 43 | -------------------------------------------------------------------------------- /web/novelup.plus/extract.txt: -------------------------------------------------------------------------------- 1 | ################################ 2 | ## ノベルアップ+ 3 | ## https://novelup.plus/ 4 | ################################ 5 | 6 | ## 変換対象URLパターン 7 | ##PAGE_REGEX https://novelup.plus/story/\d+/\d+" 8 | 9 | ##ページャーの上限 10 | PAGER_MAX 100 11 | ##目次のクラスネーム 12 | INDEX .episode_list:0 13 | ##ページャーリンクのクラスネーム 14 | LAST_PAGE .js-gtag:-1 15 | 16 | ################################ 17 | ## 一覧ページの抽出設定 18 | ## タイトル 19 | TITLE .novel_title h1:0 20 | ## 著者 21 | AUTHOR .novel_author a:0 22 | ## 説明 23 | DESCRIPTION .novel_synopsis p:0 24 | ## 表紙画像 25 | COVER_IMG .novel_cover img:0 26 | 27 | ################# 28 | ## 各話へのリンク 29 | HREF .episode_link a 30 | ##HREF a https://novelup.plus/story/\d+?/\d+? 31 | ##一覧に記載されている各話の更新日時 32 | ##SUB_UPDATE .update_date p span:1 33 | 34 | ################################ 35 | ###各話の抽出設定 36 | 37 | 38 | ## 各話 Chapter 先頭の章のみ大見出しで出力 39 | CONTENT_CHAPTER .episode_chapter p:0 40 | 41 | ## 各話 タイトル 中見出しで出力 42 | CONTENT_SUBTITLE .episode_title h1:0 43 | ## 各話 本文 44 | CONTENT_ARTICLE .content p:0 45 | -------------------------------------------------------------------------------- /web/syosetu.org/extract.txt: -------------------------------------------------------------------------------- 1 | ################################ 2 | ## HAMELN ハーメルン 3 | ## http://syosetu.org/ 4 | ################################ 5 | 6 | ## 変換対象URLパターン 7 | ##PAGE_REGEX ^\/Novel/\d+/$ 8 | ##送信するクッキー 複数はセミコロン区切り key1=value1; key2=value2 9 | COOKIE over18=off 10 | ##ユーザーエージェント 11 | ##USER_AGENT Chrome 12 | ################################ 13 | ##一覧ページの抽出設定 14 | ## シリーズタイトル 15 | #SERIES 16 | ## タイトル 17 | TITLE span[itemprop="name"]:0,#maind .ss span:0 18 | ## 著者 19 | AUTHOR #maind .ss a:0 20 | ## 説明 21 | DESCRIPTION #maind .ss:1 22 | 23 | ## 各話へのリンク cssQuery 24 | HREF table a 25 | 26 | ##一覧に記載されている各話の更新日時 27 | SUB_UPDATE #maind .ss table nobr 28 | 29 | ##一覧ページのタイトル (本文側に無ければこれを利用) 30 | SUBTITLE_LIST #maind .ss td a 31 | 32 | ################################ 33 | ###各話の抽出設定 34 | 35 | ## 各話 Chapter 先頭の章のみ大見出しで出力 36 | #CONTENT_CHAPTER #maegaki 37 | ## 各話 タイトル 中見出しで出力 38 | CONTENT_SUBTITLE span:1 39 | 40 | ## 各話 本文 41 | CONTENT_ARTICLE #honbun 42 | ## 本文抽出開始 このタグの次から 43 | #CONTENT_ARTICLE_START #maind .ss font-size:1 44 | 45 | ## 本文抽出終了 このタグの前まで 46 | #CONTENT_ARTICLE_END #maind .ss div:-2 47 | 48 | ##前書き 49 | CONTENT_PREAMBLE #maegaki 50 | ## 補足 51 | #CONTENT_APPENDIX 52 | 53 | ##本文タグ外に画像がある場合本文の前に出力 54 | #CONTENT_IMG 55 | -------------------------------------------------------------------------------- /web/www.akatsuki-novels.com/extract.txt: -------------------------------------------------------------------------------- 1 | ################################ 2 | ### 暁 3 | ### http://www.akatsuki-novels.com/ 4 | ################################ 5 | 6 | ## 変換対象URLパターン 7 | ##PAGE_REGEX .*/novel_id~¥d+$ 8 | 9 | ################################ 10 | ##一覧ページの抽出設定 11 | ## シリーズタイトル 12 | ##SERIES a#LookNovel:0 13 | ## タイトル 14 | TITLE a#LookNovel:0,h1:0 15 | ## 著者 16 | AUTHOR h3.font-bb a:1 17 | ## 説明 18 | #DESCRIPTION 19 | ##表紙画像 20 | #COVER_IMG 21 | 22 | ################ 23 | ## 各話へのリンク 24 | HREF .list a 25 | ##一覧に記載されている各話の更新日時 26 | SUB_UPDATE .list .font-s 27 | 28 | ##本文に日付が無い場合 公開・更新日時の文字列に利用 29 | CONTENT_UPDATE_LIST .list .font-s   30 | 31 | ################################ 32 | ###各話の抽出設定 33 | 34 | ## 各話 Chapter 先頭の章のみ大見出しで出力 35 | #CONTENT_CHAPTER 36 | ## 各話 章タイトル 中見出しで出力 37 | CONTENT_SUBTITLE h2:0 38 | 39 | ## 各話 本文 + 前書き + 後書き 40 | CONTENT_ARTICLE .body-novel 41 | ## 本文が複数のElememtの場合に間に入れるセパレータ 42 | CONTENT_ARTICLE_SEPARATOR [#空行][#区切り線][#空行] 43 | 44 | ##本文タグ外に画像がある場合本文の前に出力 45 | #CONTENT_IMG 46 | 47 | ##前書き 48 | #CONTENT_PREAMBLE .body-novel:0 49 | ##後書き 50 | #CONTENT_APPENDIX .body-novel:2 51 | -------------------------------------------------------------------------------- /web/www.dnovels.net/extract.txt: -------------------------------------------------------------------------------- 1 | ################################ 2 | ### dNoVeLs 3 | ### http://www.dnovels.net/ 4 | ################################ 5 | 6 | ## 変換対象URLパターン 7 | ##PAGE_REGEX .*/detail/\d+$ 8 | 9 | ################################ 10 | ##一覧ページの抽出設定 11 | ## タイトル 12 | TITLE #novelTopR-2 h2:0 13 | ## 著者 14 | AUTHOR #profBoxBtm2 span:0 \s*さん 15 | ## 説明 16 | DESCRIPTION #novel_body:0 17 | ##表紙画像 18 | COVER_IMG #novelTopL-2 img:0 19 | 20 | ################ 21 | ## 各話へのリンク 22 | HREF #serialIndexBox .serialEntry a 23 | ##一覧に記載されている各話の更新日時 24 | SUB_UPDATE #serialIndexBox .serialEntry a 25 | 26 | ################################ 27 | ###各話の抽出設定 28 | 29 | ## 各話 章タイトル 中見出しで出力 30 | CONTENT_SUBTITLE #novelBodyBox h4:0 31 | 32 | ## 各話 本文 33 | CONTENT_ARTICLE #body_contents:0 34 | -------------------------------------------------------------------------------- /web/www.mai-net.net/extract.txt: -------------------------------------------------------------------------------- 1 | ################################ 2 | ### Arcadia SS投稿掲示板 3 | ### http://www.mai-net.net/bbs/sst/sst.php 4 | ################################ 5 | 6 | ## 変換対象URLパターン 7 | ##PAGE_REGEX .*/bbs/sst/sst.php.*&n=.*$ 8 | 9 | ################################ 10 | ##一覧ページの抽出設定 11 | ## タイトル 12 | TITLE table.brdr td.bgb font:0 13 | ## 著者 14 | AUTHOR table.brdr td.bgc td tt:0 ^Name: (.+?)(◆.+)?$ $1 15 | ## 説明 16 | ##DESCRIPTION 17 | 18 | ## 各話へのリンク 19 | HREF #table td b a 20 | 21 | ##全体の更新日時 比較文字列 (hrefに1:1で対応するタグ 内部のinnerHTML文字列で比較) 22 | ##UPDATE 23 | 24 | ##一覧に記載されている各話の更新日時 25 | #SUB_UPDATE 26 | 27 | ################################ 28 | ###各話の抽出設定 29 | 30 | ## 各話 章タイトル 中見出しで出力 31 | CONTENT_SUBTITLE table.brdr td.bgb font:0 32 | 33 | ## 各話 本文 34 | CONTENT_ARTICLE table.brdr td.bgc blockquote div:0 35 | -------------------------------------------------------------------------------- /web/www.newvel.jp/extract.txt: -------------------------------------------------------------------------------- 1 | ################################ 2 | ### NEWVEL-LIBRARY 3 | ### http://www.newvel.jp/library/ 4 | ################################ 5 | 6 | ## 変換対象URLパターン 7 | ##PAGE_REGEX .*/library/.*-index.html$ 8 | 9 | ################################ 10 | ##一覧ページの抽出設定 11 | ## タイトル 12 | TITLE .hpb-cnt-tb2 td:1 13 | ## 著者 14 | AUTHOR .hpb-cnt-tb2 td:3