自炊後のデータ管理についての雑想
想定しているのは、SQLによるRDBM。
取り込んだ本のページには、それに対応するページテーブルのレコードが与えられる。
ページテーブルの定義
- page_id
- 一意に決まるページID。通番。unsigned intだが、理論上64bit欲しい。
- body
- データそのもの。pdfかpngかはわからないが、ともかく何らかの画像データ形式。理想はSVGか?
- lr
- 左右属性。見開きにした時に、そのページが向かって右側にくるか左側にくるかを記録する。
- direction
- 向き属性。そのbodyを画面に投影する際、「上」がどちらになるかを示す。デフォルトは「0」時計の針で考える。たまに、「昔の原稿を縮小して……」などと理由をつけて方向を変えて印刷する部分があるので。
- before
- 「前ページ」のpage_id。空欄可能。空欄の場合はそこが始点になる。ただし、一つの本に始点が複数有り得る。途中まで右開き、その後左開きといった本もあるからである。
- touch
- 接続属性。空欄可能。見開きで二つのページを以て一つの絵とみなす場合、その接続先のpage_idを格納する。
- book_id
- 書誌。後述の書誌テーブルのbook_idを格納する。そのページが所属している本を意味する。なお、この書誌は図書館学的な書誌に加え、版・刷による区別を加えたものになる。誤植等の変遷を確認するのに使える。
- color
- モノクロかカラーか。
- is_text
- デフォルトはfalse。そのページのコンテンツが、テキスト情報を含む場合、trueになる。活字を含むことを条件とする。例として、小説・コミック・絵物語などが該当する。
- is_illust
- デフォルトはfalse。そのページのコンテンツが、手書きないしCGのイラストを含む場合、trueになる。例として、小説の挿絵・コミック・絵物語・イラストなどが該当する。
- is_photo
- デフォルトはfalse。そのページのコンテンツが、実写あるいは加工した実写を含む場合、trueになる。例として、著者近影・写真集などが該当する。