書籍の「自炊」ファイルの名付けはどうするか?

紙の書籍をスキャナで読み込んでjpeg等の画像ファイルにして、zipでまとめる、いわゆる「自炊」をするときに、ファイル名をどうするのがいいか、の個人的な方法です。他人に推奨できないものもあるけれど、参考にはできるかもしれん。

zip? 7z? rar? cbz,cb7,cbr……

https://en.wikipedia.org/wiki/Comic_book_archive

有力候補はzipですが、zipにも問題はある。

  • ファイル名の文字コードの扱い。zipは文字化けすることがある。
  • アプリによって、拡張子がzipだと使えないが、cbzに変更すると使える、ことがある。
  • zipに限らず、データが化けると丸ごと展開できなくなる危険がある。本のページ単位でなく、本一冊がまるごと失われる。

zipが無難でしょうけれど、内部の文字コードが何なのかは、把握しておいた方がいいです。
日本語ファイル名を使いたいのなら、7zにする手もある。
リカバリレコードを使いたいなら、rarを買えばいい。

このへん踏まえて、私は、文字化けしない文字だけ使って、zipを使ってます。

以前は、フォルダに画像を突っ込むだけでした。一般的じゃないですが、ファイルが壊れても1ページで済む、という利点はあった。

自炊書庫の中身は「画像ファイルだけ」? それとも「フォルダを作って画像ファイルを入れる」?


↑ピンと来ないかもしれないけど、こういう話です。
zipの直下のフォルダ名が文字化けしてると、フォルダの中の画像ファイルも展開できない、ことがあったような気がする。記憶が曖昧だけど。
なので、強いて言えば、フォルダなしでアーカイブする、のが無難だろうと。強いて言えば。

ファイル名は?

  • ファイル名によって、自炊書庫の中身が一目で分かるようにできるか?
  • ファイル名の並び方、ソートは大丈夫? OSが変わると並びも変わったりしない?
  • ファイル名を工夫すると、自炊書庫を分類できる。どうやって分類する? どこまで細かく分類する?
  • ファイル名に使う文字種を限定して、多種の環境やアプリに対応するか。それとも無制限か。

このへんのことを勘案して、以下を決める。

  • 自炊書庫の「中身の画像ファイル」のファイル名
  • 「自炊書庫そのもの」のファイル名


一例として、私のやり方。まず「中身の画像ファイル」。

【パターン1】zipの中身の画像ファイル名は「数字」と「_(アンダースコア、アンダーバー)」と「拡張子」のみ
  • 001_001.jpg
  • 001_002.jpg
  • 001_003.jpg
  • ………
  • 002_001.jpg
  • 002_002.jpg
  • 002_003.jpg
  • 002_004.jpg
  • 002_005.jpg
  • ………
  • 003_001.jpg
  • 003_002.jpg

「001_」は、本のカバーなど、ノンブルで振られてないもので、本文より先に出てきて欲しいもの。
「002_」は、本文。次の三桁が、ノンブルと一致する。
「003_」は、別冊付録など。

アラビア数字の前にローマ数字の序文がついてる本なんかにも、対応できます。ノンブルがふたつ以上あっても、前半の三桁で対応できるわけです。
本の半分半分で、右綴じと左綴じになっている本でも、同様です。

漫画雑誌などの連載作品を、作品ごとにまとめるときは、「[第n話]_[ページ]」とします。第26話、第27話、第27話と第28話の間の特別編、第28話と続く例だと、

  • 026_001.jpg
  • 026_002.jpg
  • 026_003.jpg
  • ………
  • 027_001.jpg
  • 027_002.jpg
  • 027_003.jpg
  • ………
  • 027_101.jpg
  • 027_102.jpg
  • ………
  • 028_001.jpg
  • 028_002.jpg
  • 028_003.jpg

このように、特別編を27話の101から数えることで対応します。

凝ったルールにすると、まとまらなくなります。数字だけ、順番だけ、一冊単位で他の本とは無関係、にしたほうが無難です。

欠点は、他の本とファイル名が同じになることです。編集中に上書きの危険がある。

【パターン2】パターン1に加えて、ISBNを加える
  • 1234567890_001_001.jpg
  • 1234567890_001_002.jpg
  • 1234567890_001_003.jpg
  • ………
  • 1234567890_002_001.jpg
  • 1234567890_002_002.jpg
  • 1234567890_002_003.jpg
  • 1234567890_002_004.jpg
  • 1234567890_002_005.jpg
  • ………
  • 1234567890_003_001.jpg
  • 1234567890_003_002.jpg

ユニークな名前に、簡単にできる。ISBNのハイフンは取り除く。

【パターン3】パターン1に加えて、雑誌名などユニークな名前をつけておく
  • TR199805_001_001.jpg
  • TR199805_001_002.jpg
  • TR199805_001_003.jpg
  • ………
  • TR199805_002_001.jpg
  • TR199805_002_002.jpg
  • TR199805_002_003.jpg
  • TR199805_002_004.jpg
  • TR199805_002_005.jpg
  • ………
  • TR199805_003_001.jpg
  • TR199805_003_002.jpg

上の例は、「書籍を分類する独自のアルファベット」「1998年05月号」を意味してる。
たとえば、月刊誌で、連載記事を数か月分まとめて一つのアーカイブにできる。

これだけのことなのだけど、「書籍を分類する独自の」は、案外難しいんじゃないかと。ユニークではなくなりますが、発行年月日のみ頭につける、ので十分かもです。

【パターン4】

書庫の中にフォルダを作って、フォルダ名をISBNなどのユニークな名前にする。フォルダの中身の画像ファイルは、パターン1でつける。

【パターン5】追加編集と1000ページ超に対応する
  • 010_0001.jpg
  • 010_0002.jpg
  • 010_0003.jpg
  • ………
  • 020_0001.jpg
  • 020_0002.jpg
  • 020_0003.jpg
  • 020_0004.jpg
  • 020_0005.jpg
  • ………
  • 030_0001.jpg
  • 030_0002.jpg

1000ページ超への対応と、途中に新規ファイルを挿入可能にする、なんてのを思いついたけど、微妙な気が。
稀に、zipの先頭に表紙の画像を挿入したくなることはありましたが、「000_000.jpg」でも足ります。途中への画像ファイル大量挿入は、経験したことがありません。
1000ページ超えの本なら、「003_000.jpg」を1000ページとしても大きな問題ではないし、その前にアーカイブを前半後半に分けることも検討すべき。

【パターン6】ファイルの順番と名前を切り離す
  • 001_001.jpg
  • 002_002.jpg
  • 003_003.jpg
  • 004_001.jpg
  • 005_002.jpg
  • 006_003.jpg
  • 007_004.jpg
  • 008_001.jpg
  • 009_002.jpg
  • 010_003.jpg
  • 011_004.jpg
  • ………
  • 178_171.jpg
  • 179_172.jpg
  • 180_015.jpg
  • 181_014.jpg
  • 182_013.jpg
  • 183_012.jpg
  • 184_011.jpg
  • ………

上の三桁は連番で増加。下の三桁がページの名前を示します。上の三桁がページの並び順を決定して、下三桁が並び順に影響を与えないのがポイント。
上記例では、
001-003は、ブックカバーや帯。
004-007は、目次。目次だけノンブルがローマ数字の本など。ローマ数字と下三桁が一致する。
008-179は、本文。ノンブルがアラビア数字で、下三桁と一致する。
180-最後までは、索引。縦書きの文庫本に、横書きの索引がついてるときなど。ページの並びが逆になる。

利点は、ページの並びをきっちり決めることができること。下三桁を、ある程度自由に決めることができること。
欠点は、連番が二重になってるので、ファイル名を変換するツールの扱いに慣れなきゃいけないこと。

【良くない例】




珍しい例ではないのだけれど、個人的に失敗した例も含めて。
ありがちなのは、Windows標準の連番機能でズレること。昔の話かと思ってたけど、今のAndroidのファイラーでも上のような並びになるのがあった。
頭にアンダースコア、は、私が失敗した例です。WindowsLinux-Android環境とで入れ替わりました。Androidのコミックビューアで入れ替わるものもあったし、Windowsと同じ順序になるのもあった。
最後のは、注意する必要は無いというか、ちょっと試しただけです。Windowsの禁止文字である、半角の疑問符「?」が入ったzipです。Windowsでは、ふつうは作れないはず。

「自炊書庫そのもの」のファイル名……に、使う文字のセットは?

zipの中身はともかく、zipのファイル名にまで、すべて半角英数字、は使いにくい。日本語は使うこととして、どこまで使うか。たとえば異体字やらまで使いますか、ということ。
私は「蔵書のリストをテキストファイルで作り(MD5も併記する)、文字コードシフトJISで保存する」というルールにしてます。ある程度の制限があったほうが、かえって楽です。

ファイル名でソートし、分類する、のだけれど。
  1. [大分類][中分類][出版社][著者][書名][画像ファイルの種類].zip
  2. [モバイル端末で読める小さな本か、大型モニタが必要な大きな本か][出版社][著者][書名].zip
  3. [漫画か、漫画以外の本か][漫画雑誌][書名].zip
  4. [著者][書名].zip
  5. [書名のあいうえお][書名]
  6. [書名].zip

こういったルールを決めて、ソートで分類してほしい順に、頭っから名付けてゆくわけです。
凝れば良いってもんじゃなくて、結局はバランス踏まえて好みで決めるしかないんだと思います。

必要十分は?

この程度で必要十分じゃないかと思ってます。

[出版社(シリーズ、レーベル)]_[著者名]-[書名(第n巻)]_[画像ファイルの種類].zip
例:
https://www.amazon.co.jp/dp/4061178776
講談BB277_インフェルト-アインシュタインの世界_webp.zip

↓zipファイルの直下に、ファイルを収納する。

  • 4061178776_001_001.webp
  • 4061178776_001_002.webp
  • 4061178776_001_003.webp
  • ………
  • 4061178776_002_001.webp
  • 4061178776_002_002.webp
  • 4061178776_002_003.webp
  • 4061178776_002_004.webp
  • 4061178776_002_005.webp
  • ………

webpのように、新しめな画像ファイル形式の場合は、末尾に_webpを追加しておく。jpegpngは省略する。
講談社の他の本は、単に「講談」のみで済ませる。細かく分けすぎない。
必要なら、「講談週マガジン」等を追加する。このとき頭の「講談」は変えない。
漫画少年」「漫画少女」「コンピュータ」「園芸」などに大分類しなくとも、出版社でだいたいは分けられるし、ほどほどに分けられれば自分の本は探せます。


出版社を最初に入れると困るのは、著者で分類したい場合です。
著者名でソートしたいのなら、出版社は削除して、著者名の前に平仮名を一文字だけ追加する。

[大分類]_[あいうえお順-著者名]-[書名]_[画像ファイルの種類].zip
新書_い-インフェルト-アインシュタインの世界_webp.zip

この「大分類」は、案外難しいんじゃなかろうか。
例では「新書」にしましたが、「物理学」にしたいかもしれない。そのへん毎回、考えなきゃならない。
また、個人の蔵書は偏るものだから、新書ばかり買う人は「新書岩波」「新書中公」などと分類する必要が出てくる。小説や漫画は殆ど買わないから「小説」「漫画」で一括りにしたら、5年後には趣味が変わって小説だらけになっていた、やっぱり小説も出版社くらいは分けたい、だとか。

なので、著者名を重視するなら、大分類は無しで、著者名と書名だけでも良いと思います。大分類は、必要なら手作業でフォルダ分けするほうが、適切な分類ができるのでは。

もともと、ファイル名で詳細に分類をするのは、難しいもんがあると思います。
なので、一般的な情報で迷わず決められる、出版社、著者名、書名程度に済ませるのが、無難で、ゴミ情報になりにくいです。



最後に、区切りについて。例ではアンダースコアとハイフンを使ってますが、全てアンダースコアがいいかもしれんです。記号に意味を持たせずに、単純な区切りにだけ使う。カッコなども使わないほうが、文字数の節約になるし、ミスが減ります。
伝記等の場合、書名と著者名がどっちがどっちよ、と混乱するかもしれないと思って、私はハイフンを使ったんですがね。「インフェルト『の』アインシュタイン」という感じで。でも、かえってミスが増えちまった。