どうやったら子供が本を読むようになるか?

 「本を読むと、賢くなる」よく聞く話ですが、本当でしょうか。「本を読む子が、賢い」では?とか思ったりします。しかし、親としては、子供に本を読んでほしい気持ちはどこかにあると思います。かくゆう私もその一人です。

 うちの場合は、毎週の様に市民センターに併設されている小さめの図書館に通い(主に妻が)、毎週1人10冊位借りて読んでいます。小さい頃から絵本をこのペースで読み聞かせしていたら(主に妻が)、小学生低学年の頃には、いつの間にか、自分で読みたい本を読む様になっていました。今では私より子供の方が、よく本を読んでいます。

 

2つのハードル

私の経験から、子供に本を読む習慣をつけるのは、次の2つの大きなハードルがあると考えます。

 

  1. 幼少期
    • 絵本を読み聞かせることができるか
  2. 小学校低〜中学年
    • 絵本から読み物へ進化できるか

 

幼少期:絵本を読み聞かせることができるか

 まず、親がせっせと、幼少期に絵本を読み聞かせることです。娯楽を求める子供にとって、絵本が楽しみになります。ここでは、いかに親が頑張って続けられるかがキーになってくる様に思います。

 近くに日本の図書館がない場合、フリーの絵本もあったりします。また、海外の場合、日本人のコミニティのFacebookとかがあったりすると、そこで絵本をやり取りしてたりします。その様な場所を活用しましょう。

 

 

小学校低〜中学年:絵本から読み物へ進化できるか

 個人的にはこのハードルが最も難関です。逆に言うと、このハードルを越えれば、あとは勝手に子供が進んで本を読む様になります。しかし、はじめは、今まで絵がたくさんあった本なのに、文字だけになります。子供も「うわ、こんなの読めない」と思うはずです。

 私は次のことをして、このハードルを超えるように働きかけました。

 

  1. 絵本、マンガ、イラスト多めの本を自分で読ませる
  2. テレビアニメの原作を勧める
  3. 「どうわがいっぱい」背表紙の本を勧める
  4. 子供の好きな絵本の作家や、好きなイラストの本を勧める

 

絵本、マンガ、イラスト多めの本を自分で読ませる

 まず、大人に読んでもらうのではなく、マンガでもいいから自分で読む習慣をつけることが大切です。そのために、絵本やマンガを使いましょう。マンガはダメという考えは捨てましょう。大人になっても漫画を読んでる人、いっぱいいますよ。小説だって、昔はサブカルチャーだったんです。あと、日本の漫画は世界に誇れる立派な文化です。全然問題ありません。

 また、イラストがふんだんで読みやすい本、たくさんあります。

 

 

テレビアニメの原作を勧める

 子供は流行りに敏感です。流行りのテレビアニメも活用しましょう。ワンピース、ナルト、名探偵コナンちびまる子ちゃんSPY×FAMILYとか、マンガが原作ですよね。図書館で借りましょう。全部というわけではありませんが、少年誌のマンガだと、話の内容も小学生向けて安心ですよね。(少年誌=少年ジャンプ、少年マガジン、少年サンデー、コロコロ、など)

 また、少年誌だと何が良いって、漢字にフリガナがふってあるんです。青年誌(ヤングジャンプヤングマガジン、など)だと、フリガナがないから、子供にとってストレスなんですよね。

 

「どうわがいっぱい」背表紙の本を勧める

 実は講談社の本の背表紙に、こんなマークがついていることがあります。これは文字が大きくて、読み物をはじめる子にぴったりのマークです。おばけずかんシリーズはこのマークがついています。ぜひ、探してみてください。

どうわがいっぱい
子供の好きな絵本の作家や、好きなイラストの本を勧める

 子供が興味があることを、本に繋げましょう。イラスト、話の内容(冒険、虫、恐竜、料理、お菓子、武士)など、自分の子供が好きな物、ご存知ですよね?その内容の本を探して勧めてみてはどうでしょう。

 子供の好きな領域の幅を広めるには、好きな分野のちょっと外を勧めるのがいいと思います。例えば、女の子でお菓子作りが好きなら、ルルとララシリーズの、ケーキとか、クッキーとかを作る本とか。科学系が好きな子なら、サバイバルシリーズや、Dr .STONEとか。武士や忍者が好きなら、角川の歴史まんがとか。例えば、こっそり借りてきて、本棚に置いておくだけでいいんです。子供が暇な時に、手を伸ばして読んだらこっちのものです。ダメもとでやてみてください。

 

以上

フリー小説をKindleの縦書きファイルへ変換する(3)※青空文庫

  1. はじめに
  2. 1話ごとのテキストを、一括でダウンロード
  3. Powershellで、1つのファイル(EPUB)を生成(小説家になろう 版)
    1. 青空文庫 版
  4. Kindle PreviewerでMOBIファイルへ変換し、USB接続でKindleへ転送

Powershellで、1つのファイル(EPUB)を生成

以下のPowerShellを使えば、実行するだけで、epubファイルが生成されます。
青空文庫のHTMLは、ダウンロードしたHTMLは、目次が外れてしまうのと、縦書きにならないのが難点です。
このPowerShellは、目次と縦書きを実現します。

例えば、15少年漂流記(ちょっとなまえちがうけど)を例に変換してみましょう。
www.aozora.gr.jp

ファイルのダウンロード

青空文庫は、基本的に1つのファイルになっているようです。
なので、ダウンロードは1回ですみました。

XHTMLファイルをダウンロードする

実行する際のファイル構成

実行する際の注意点

  • 検証済環境:Windows10、PowerShell Ver. 5.1.19041.2364
  • html2epub.ps1の文字コード=Shift-JIS
  • 作業フォルダは英数字のフォルダで作業してください
  • あたり前ですが、ZIPファイルは解凍してください。ZIPファイルのままでは、powershellは実行できません。
html2epub.ps1

下記のテキストをテキストエディタにコピー&ペーストして
「html2epub.ps1」と言うファイル名で保存します。

###########################################################
# Title:  青空文庫のHTMLに目次を追加してepubファイルにする
# Created:2023/03/15

# Usage:
# > Powershell 実行方法
# > PowerShell -ExecutionPolicy RemoteSigned -file .\html2epub.ps1 "title" xxx.html

# File Tree:
#  book.epub = zip
#   ├ META-INF
#   │  └ container.xml
#   ├ OEBPS
#   │  ├ book.html
#   │  ├ content.opf
#   │  └ toc.ncx
#   └ mimetype
###########################################################
$outFile   = 'book\OEBPS\book.html'  # 結合後のファイル名

if([string]::IsNullorEmpty($Args[0])){
  Write-Host "Usage: PowerShell -ExecutionPolicy RemoteSigned -file .\html2epub.ps1 `"title`""
  Write-Host "" 
  exit
}
$htmlTitle = $Args[0]
Write-Host "Titile  :" $htmlTitle
$uuid = "html2epub-" + ( Get-Date -Format "yyyyMMdd-HHmmss" )
$htmlStyle = "<style type=`"text/css`">
    <!--
        body, h1, p {
            writing-mode: vertical-rl;
            text-orientation: upright;
            -webkit-writing-mode:vertical-rl;
            -epub-writing-mode:vertical-rl;
            -moz-writing-mode:vertical-rl;
            -o-writing-mode:vertical-rl;
        }
    -->
</style>"

$opfBody = "<?xml version=`"1.0`" encoding=`"utf-8`"?>
<package version=`"2.0`" unique-identifier=`"BookId`" xmlns=`"http://www.idpf.org/2007/opf`">
  <metadata xmlns:dc=`"http://purl.org/dc/elements/1.1/`" xmlns:opf=`"http://www.idpf.org/2007/opf`">
    <meta content=`"horizontal-rl`" name=`"primary-writing-mode`"/>
    <dc:identifier id=`"BookId`" opf:scheme=`"UUID`">urn:uuid:" + $uuid + "</dc:identifier>
    <dc:language>ja</dc:language>
    <dc:title>" + $htmlTitle + "</dc:title>
    <dc:date opf:event=`"modification`" xmlns:opf=`"http://www.idpf.org/2007/opf`">" + ( Get-Date -UFormat "%Y-%m-%d" ) + "</dc:date>
  </metadata>
  <manifest>
    <item id=`"book.html`" href=`"book.html`" media-type=`"application/xhtml+xml`"/>
    <item id=`"ncx`" href=`"toc.ncx`" media-type=`"application/x-dtbncx+xml`"/>
  </manifest>
  <spine toc=`"ncx`">
    <itemref idref=`"book.html`"/>
  </spine>
</package>"

$containerBody = "<?xml version=`"1.0`" encoding=`"UTF-8`"?>
<container version=`"1.0`" xmlns=`"urn:oasis:names:tc:opendocument:xmlns:container`">
    <rootfiles>
        <rootfile full-path=`"OEBPS/content.opf`" media-type=`"application/oebps-package+xml`"/>
   </rootfiles>
</container>"

$ncxBody = "<?xml version=`"1.0`" encoding=`"utf-8`"?>
<!DOCTYPE ncx PUBLIC `"-//NISO//DTD ncx 2005-1//EN`"
   `"http://www.daisy.org/z3986/2005/ncx-2005-1.dtd`">
<ncx xmlns=`"http://www.daisy.org/z3986/2005/ncx/`" version=`"2005-1`">
  <head>
    <meta name=`"dtb:uid`" content=`"urn:uuid:" + $uuid + "`" />
    <meta name=`"dtb:depth`" content=`"0`" />
    <meta name=`"dtb:totalPageCount`" content=`"0`" />
    <meta name=`"dtb:maxPageNumber`" content=`"0`" />
  </head>
<docTitle>
  <text>" + $htmlTitle + "</text>
</docTitle>
<navMap>
<navPoint id=`"navPoint-1`" playOrder=`"1`">
  <navLabel>
    <text>目次へ</text>
  </navLabel>
  <content src=`"book.html`" />
</navPoint>
</navMap>
</ncx>"

$mimetype = "application/epub+zip"

# ---------------------------------------------------------
# 結合後のファイルがあった場合は削除
Write-Host "Delete  : book dir, book.epub, book.zip"

If(Test-Path "book"){
  Remove-Item -Path "book" -Recurse
}
If(Test-Path "book.epub"){
  Remove-Item -Path "book.epub"
}
If(Test-Path "book.zip"){
  Remove-Item -Path "book.zip"
}

# フォルダ&ファイルの生成
New-Item "book"          -ItemType Directory > $null
New-Item "book\META-INF" -ItemType Directory > $null
New-Item "book\OEBPS"    -ItemType Directory > $null
Write-Output $containerBody | Out-File -FilePath "book\META-INF\container.xml"  -Append -Encoding UTF8
Write-Output $mimetype      | Out-File -FilePath "book\mimetype"                -Append -Encoding UTF8
Write-Output $opfBody       | Out-File -FilePath "book\OEBPS\content.opf"       -Append -Encoding UTF8
Write-Output $ncxBody       | Out-File -FilePath "book\OEBPS\toc.ncx"           -Append -Encoding UTF8

# ---------------------------------------------------------
# 目次の生成
$orgHtml = $Args[1]
Write-Host "SrcHtml :" $orgHtml
$xmlDoc = [xml](Get-Content $orgHtml -Encoding Default)
# $xmlNav = [Xml.Xpath.XPathNavigator]$xmlDoc.CreateNavigator()

$val = 0  # カウンター
$agenda = $xmlDoc.html.body.div.div|
  foreach {
    if( $null -ne $_ ){
      if( $_['h3'] -ne $null){
        "&nbsp;&nbsp;<a href=`"#" + $_['h3'].a.id + "`">" + $_['h3'].a.InnerXML + "</a><br />`n"
      }
      if( $_['h4'] -ne $null){
        "&nbsp;&nbsp;&nbsp;&nbsp;<a href=`"#" + $_['h4'].a.id + "`">" + $_['h4'].a.InnerXML + "</a><br />`n"
      }
      $val = $val + 1
      Write-Host -NoNewline ("`r" + "Progress: ${val}")
    }
  }
Write-Host ""
$agendaAll = "<h1 style=`"page-break-before:always`">目次</h1>`n" + $agenda
#Write-Host $agendaAll

#$Navi.Select("//h4")
#$Navi.Select("//h4") | select Name

# ---------------------------------------------------------
# 本文へ目次を挿入
[string]$srcStr = "<div class=`"main_text`"><br />"
[string]$destStr = $agendaAll + $srcStr
(Get-Content $orgHtml -Encoding Default) | foreach { $_ -replace $srcStr,$destStr } | Set-Content $outFile -Encoding Default

# CSSを挿入
[string]$srcCssStr = "</head>"
[string]$desCsstStr = $htmlStyle + $srcStr
(Get-Content $outFile -Encoding Default) | foreach { $_ -replace $srcCssStr,$desCsstStr } | Set-Content $outFile -Encoding Default

# ---------------------------------------------------------
# ZIP圧縮 & 拡張子変更
Compress-Archive -Path "book" -DestinationPath "book.zip"
Rename-Item -Path "book.zip" -NewName "book.epub"
Write-Host "Created : book.epub"

実行例

PowerShell -ExecutionPolicy RemoteSigned -file .\html2epub.ps1 "無人島に生きる十六人" .\42767_15618.html

実行例
  • book.epubファイルができていたら成功です。

以上

フリー小説をKindleの縦書きファイルへ変換する(4)

  1. はじめに
  2. 1話ごとのテキストを、一括でダウンロード
  3. Powershellで、1つのファイル(EPUB)を生成(小説家になろう版)
    1. 青空文庫版
  4. Kindle PreviewerでMOBIファイルへ変換し、USB接続でKindleへ転送

 

Kindle PreviewerでMOBIファイルへ変換し、USB接続してKindleへ転送

amazonのフリーツール「Kindle Previewer」を使えば.mobiファイルへエクスポートが可能です。今回は、Kindle Previewer Ver.3.7.1.0を使いました。

手順

  1. Kindle Previewer」からダウンロードし、ウィザードに従ってインストールします。
  2. Kindle Previewerを起動し、.epubファイルをドラッグ&ドロップで開きます。
    1. この後、ファイルの読み込みと変換に数分時間がかかります。
    2. KindlePreviewerへD&D
  3. エクスポートします。
    1. エクスポート
    2. エクスポートするファイルの拡張子は「.mobi」を選びました。
    3. ファイル名は、本のタイトルなど、分かりやすい名前にした方がいいかと思います。
  4. USBケーブルでKindle端末とPCをつないでファイルを転送
    1. USBケーブルでPCとKindle端末をつなぐと、PCにドライブが追加されます。
    2. 保存先は、Kindle端末のdocuments」フォルダです。
    3. エクスポートしたファイルを、Kindle端末へ保存します。
  5. PCから接続を外し、Kindle端末のマイライブラリから、作成した本を開きます。
    1. 無事開けました。
    2. Kindleで開いた様子、1ページ目は目次

      目次には「目次へ」から1ページ目へジャンプできます。

      1話目の様子

       

以上

フリー小説をKindleの縦書きファイルへ変換する(3)※小説家になろう版

  1. はじめに
  2. 1話ごとのテキストを、一括でダウンロード
  3. Powershellで、1つのファイル(EPUB)を生成
    1. 青空文庫 版
  4. Kindle PreviewerでMOBIファイルへ変換し、USB接続でKindleへ転送

Powershellで、1つのファイル(EPUB)を生成

以下のPowerShellを使えば、実行するだけで、epubファイルが生成されます。

実行する際のファイル構成

実行する際の注意点

  • 検証済環境:Windows10、PowerShell Ver. 5.1.19041.2364
  • txts2epub.ps1の文字コード=Shift-JIS
  • 作業フォルダは英数字のフォルダで作業してください
  • あたり前ですが、ZIPファイルは解凍してください。ZIPファイルのままでは、powershellは実行できません。
txts2epub.ps1

下記のテキストをテキストエディタにコピー&ペーストして
「txts2epub.ps1」と言うファイル名で保存します。

###########################################################
# Title:  小説になろうのテキスト群を、結合してepubファイルにする
# Created:2023/03/05

# Usage:
# > Powershell 実行方法
# > PowerShell -ExecutionPolicy RemoteSigned -file .\txts2epub.ps1 "title"

# File Tree:
#  book.epub = zip
#   ├ META-INF
#   │  └ container.xml
#   ├ OEBPS
#   │  ├ book.html
#   │  ├ content.opf
#   │  └ toc.ncx
#   └ mimetype
###########################################################
$fileList  = Get-ChildItem -Name 第*.txt | Sort-Object LastWriteTime
$outFile   = 'book\OEBPS\book.html'  # 結合後のファイル名

if([string]::IsNullorEmpty($Args[0])){
  Write-Host "Usage: PowerShell -ExecutionPolicy RemoteSigned -file .\txts2epub.ps1 `"title`""
  Write-Host "" 
  exit
}
$htmlTitle = $Args[0]
Write-Host "Titile  :" $htmlTitle
$uuid = "txts2epub-" + ( Get-Date -Format "yyyyMMdd-HHmmss" )
$htmlHeader = "<html>
<head>
<title>" + $htmlTitle + "</title>
<meta http-equiv=`"Content-Type`" content=`"text/html; charset=utf-8`" />
<style type=`"text/css`">
    <!--
        body, h1, p {
            writing-mode: vertical-rl;
            text-orientation: upright;
            -webkit-writing-mode:vertical-rl;
            -epub-writing-mode:vertical-rl;
            -moz-writing-mode:vertical-rl;
            -o-writing-mode:vertical-rl;
        }
    -->
</style>    
</head>
<body>"
$htmlFooter = "</body>
</html>"

$opfBody = "<?xml version=`"1.0`" encoding=`"utf-8`"?>
<package version=`"2.0`" unique-identifier=`"BookId`" xmlns=`"http://www.idpf.org/2007/opf`">
  <metadata xmlns:dc=`"http://purl.org/dc/elements/1.1/`" xmlns:opf=`"http://www.idpf.org/2007/opf`">
    <meta content=`"horizontal-rl`" name=`"primary-writing-mode`"/>
    <dc:identifier id=`"BookId`" opf:scheme=`"UUID`">urn:uuid:" + $uuid + "</dc:identifier>
    <dc:language>ja</dc:language>
    <dc:title>" + $htmlTitle + "</dc:title>
    <dc:date opf:event=`"modification`" xmlns:opf=`"http://www.idpf.org/2007/opf`">" + ( Get-Date -UFormat "%Y-%m-%d" ) + "</dc:date>
  </metadata>
  <manifest>
    <item id=`"book.html`" href=`"book.html`" media-type=`"application/xhtml+xml`"/>
    <item id=`"ncx`" href=`"toc.ncx`" media-type=`"application/x-dtbncx+xml`"/>
  </manifest>
  <spine toc=`"ncx`">
    <itemref idref=`"book.html`"/>
  </spine>
</package>"

$containerBody = "<?xml version=`"1.0`" encoding=`"UTF-8`"?>
<container version=`"1.0`" xmlns=`"urn:oasis:names:tc:opendocument:xmlns:container`">
    <rootfiles>
        <rootfile full-path=`"OEBPS/content.opf`" media-type=`"application/oebps-package+xml`"/>
   </rootfiles>
</container>"

$ncxBody = "<?xml version=`"1.0`" encoding=`"utf-8`"?>
<!DOCTYPE ncx PUBLIC `"-//NISO//DTD ncx 2005-1//EN`"
   `"http://www.daisy.org/z3986/2005/ncx-2005-1.dtd`">
<ncx xmlns=`"http://www.daisy.org/z3986/2005/ncx/`" version=`"2005-1`">
  <head>
    <meta name=`"dtb:uid`" content=`"urn:uuid:" + $uuid + "`" />
    <meta name=`"dtb:depth`" content=`"0`" />
    <meta name=`"dtb:totalPageCount`" content=`"0`" />
    <meta name=`"dtb:maxPageNumber`" content=`"0`" />
  </head>
<docTitle>
  <text>" + $htmlTitle + "</text>
</docTitle>
<navMap>
<navPoint id=`"navPoint-1`" playOrder=`"1`">
  <navLabel>
    <text>目次へ</text>
  </navLabel>
  <content src=`"book.html`" />
</navPoint>
</navMap>
</ncx>"

$mimetype = "application/epub+zip"

# ---------------------------------------------------------
# 結合後のファイルがあった場合は削除
Write-Host "Delete  : book dir, book.epub, book.zip"

If(Test-Path "book"){
  Remove-Item -Path "book" -Recurse
}
If(Test-Path "book.epub"){
  Remove-Item -Path "book.epub"
}
If(Test-Path "book.zip"){
  Remove-Item -Path "book.zip"
}

# フォルダ&ファイルの生成
New-Item "book"          -ItemType Directory > $null
New-Item "book\META-INF" -ItemType Directory > $null
New-Item "book\OEBPS"    -ItemType Directory > $null
Write-Output $containerBody | Out-File -FilePath "book\META-INF\container.xml"  -Append -Encoding UTF8
Write-Output $mimetype      | Out-File -FilePath "book\mimetype"                -Append -Encoding UTF8
Write-Output $opfBody       | Out-File -FilePath "book\OEBPS\content.opf"       -Append -Encoding UTF8
Write-Output $ncxBody       | Out-File -FilePath "book\OEBPS\toc.ncx"           -Append -Encoding UTF8

# ---------------------------------------------------------
$cnt = 0  # カウンター

# define hash table
$fileNameHashTable = @{};
$fileIndexHashTable = @{};

# ファイル名と、ソートするキーの取得
foreach($f in $fileList){
  # set index 
  # ファイル名が「第NNN部分~.txt」となるので、1文字目を飛ばして、部分で分割(split)して数字を取得
  $fileIndexHashTable.Add($cnt , [int]$f.Substring(1).Split('部分')[0]);
  # set file name
  $fileNameHashTable.Add($cnt , $f);
  $cnt++
}

# indexでソート
$fileIndexHashTable = $fileIndexHashTable.GetEnumerator() | sort -Property value

# ヘッダの出力
Write-Output $htmlHeader | Out-File -FilePath $outFile -Append -Encoding UTF8

# 目次の生成
Write-Output ( "<h1>目次</h1>`r`n<p>" )  | Out-File -FilePath $outFile -Append -Encoding UTF8
foreach($fileEnt in $fileIndexHashTable){
  $key = $fileEnt.Key;
  $val = $fileEnt.Value;
    
  $midashi = [System.IO.Path]::GetFileNameWithoutExtension($fileNameHashTable[($key)])
  Write-Output ( "<a href=`"#" + $val + "`">" + $midashi + "</a><br />" )  | Out-File -FilePath $outFile -Append -Encoding UTF8
}
Write-Output ( "`r`n</p>`r`n" )  | Out-File -FilePath $outFile -Append -Encoding UTF8

# 本文の生成
foreach($fileEnt in $fileIndexHashTable){
  $key = $fileEnt.Key;
  $val = $fileEnt.Value;
  # Write-Host ( $fileNameHashTable[($key)] )
  # PROGRESS
  Write-Host -NoNewline ("`r" + "Progress: ${val} / ${cnt} ")
  
  $midashi = [System.IO.Path]::GetFileNameWithoutExtension($fileNameHashTable[($key)])
  Write-Output ( "<h1 id=`"" + $val + "`" style=`"page-break-before:always`">" + $midashi + "</h1>`r`n<p>" ) | Out-File -FilePath $outFile -Append -Encoding UTF8

  #$htmlBody = Get-Content  -Encoding UTF8  
  # Get-Content $htmlBody -Encoding UTF8   | Out-File -FilePath $outFile -Append -Encoding UTF8

  $htmlBody = [System.IO.File]::ReadAllText($fileNameHashTable[($key)]).Replace("`r`n","<br />`r`n")
  ($htmlBody + "`r`n</p>`r`n" )| Out-File -FilePath $outFile -Append -Encoding UTF8
}

# フッタの出力
Write-Output $htmlFooter | Out-File -FilePath $outFile -Append -Encoding UTF8
Write-Host ""

# ---------------------------------------------------------
# ZIP圧縮 & 拡張子変更
Compress-Archive -Path "book" -DestinationPath "book.zip"
Rename-Item -Path "book.zip" -NewName "book.epub"
Write-Host "Created : book.epub"
実行方法
  • スタートメニュー等からPowerShellを起動
powershell console
  • txts2epub.ps1を実行

cdコマンドで、カレントフォルダを小説のテキストとpowershellを置いたPATHへ移動してから、実行してください。

PS C:\> cd C:\tensura_work\
PS C:\tensura_work> PowerShell -ExecutionPolicy RemoteSigned -file .\txts2epub.ps1 "[伏瀬] 転生したらスライムだった件"
Titile  : [伏瀬] 転生したらスライムだった件
Delete  : book dir, book.epub, book.zip
Progress: 304 / 304
Created : book.epub
powershell実行例
  • book.epubファイルができていたら成功です。
book.epubの確認

以上

フリー小説をKindleの縦書きファイルへ変換する(2)

  1. はじめに
  2. 1話ごとのテキストを、一括でダウンロード
  3. Powershellで、1つのファイル(EPUB)を生成(小説家になろう版)
    1. 青空文庫版 
  4. Kindle PreviewerでMOBIファイルへ変換し、USB接続でKindleへ転送

1話ごとのテキストを、一括でダウンロード

小説家になろう」の場合

一括でダウンロードするために、chromeプラグインをインストールします。

一括ダウンロードの概要

 

  1. 拡張機能のインストール
    1. 小説家になろうダウンローダー
    2. 小説家になろう一括DLプラグイン
  2. 一括ダウンロード
    1. 小説家になろう」で、TXTダウンロードをするためには、ユーザ登録が必要です。事前に登録してください。
    2. 例えば「転生したらスライムだった件」なら、この一覧のページに行きます。ページの下の方に「TXTダウンロード」のリンクがあります。
    3. TXTダウンロードのリンク

       

    4. 小説家になろう一括ダウンロード
  3. ZIPファイルになってダウンロードされる
    1. ダウンロードしたZIPファイル

以上

フリー小説をKindleの縦書きファイルへ変換する(1)

はじめに

子供に読書させたいけど、図書館に行く時間がない、田舎や海外に住んでいて図書館が近くにないなど、必ずしも恵まれた環境にいない人もいると思います。こんな時「青空文庫」や「小説家になろう」などのフリー小説を活用できます。

最近流行りの異世界ものの多くが「小説家になろう」が原作のような気がします。例えば、以下のような小説をご存じでしょうか。これらは、どれも小説の書籍へ、漫画へ、そして最終形態のアニメまで進化しています。

 

アニメ化まで進化した、なろう小説

 

ぜひ、書籍や漫画と読み比べたり、先取りしたいですよね。しかし、ネットの小説を読む時に、以下のような事で困ってませんか?

 

フリー小説を楽しむ際の課題

  • フリーの小説を読みたいけど、スマホアプリだと視力の悪化や、LEDライトによる寝つきの悪化が気になる
  • 視力対策で、電子書籍用のKindle/Paperwhite/Oasis/Scribeでフリーの小説を楽しみたいけど、小説アプリはインストールできない。
    • 商品イメージは下記参照
  • テキストだと、1話ずつファイルが分かれるので、ファイルを読みやすく結合したい。また、目次も欲しい。
  • テキストだと、文字が縦書きにならない。やっぱり日本語の小説は、縦書きで読みたい。
  • 縦書きに合わせて、ページめくりの方向を逆(左→右)にしたい
  • レイアウトを維持して、文字の拡大/縮小をしたい。

 

電子書籍用のKindleの例

最近のKindleは、子供用とかもあるようです。

 

これらの課題を解決する方法があります。既存のツールを使うのと、私が作ったプログラムを組み合わせれば、比較的簡単にフリーの小説を自炊(自炊=書籍のファイルを自分で作ること)できます。

大まかな手順は以下です。

手順の概要

手順の概要イメージ
  1. はじめに
  2. 1話ごとのテキストを、一括でダウンロード
  3. Powershellで、1つのファイル(EPUB)を生成(小説家になろう版)
    1. 青空文庫版 
  4. Kindle PreviewerでMOBIファイルへ変換し、USB接続でKindleへ転送

では、次のページから順次手順を説明します。

 

なお、書籍ファイルにしたファイルは、配布や転売など法律および配布サイトのルール違反をしないでください。本ブログに記載の手順やツールを使って問題があっが場合、私は一切責任を負いません。

 

 

参考にしたページ