青空文庫 縦書きリーダー

このサイトについて

なにをするサイトか

青空文庫に収録されている著作権保護期間満了作品を、ブラウザの縦書き組版 (writing-mode: vertical-rl)とページ送りで読むための読書体験 実験サイトです。スマートフォンでは左右のタップとスワイプ、 PCでは矢印キーでページをめくれます。しおり・読了進捗・表示設定は お使いの端末(localStorage)にのみ保存され、サーバへは送信されません。

実装の見せ場: 注記記法パーサ

青空文庫のテキストには「漢字《かんじ》」のルビや 「[#「文字列」に傍点]」のような注記記法が含まれます。 本サイトはこの記法を正規表現の逐次置換ではなく、 行単位でブロック構造(見出し・字下げ範囲・改ページ)を確定する パスと、行内注記(ルビ・傍点・外字・縦中横)をインライン要素へ 分解するパスの2段階で解析し、構造化されたASTに変換してから Reactで組版しています。外字の「※[#「にんべん+參」、 第4水準2-1-79]」のような面区点注記も、JIS X 0213の公式対応表に 基づいてUnicode文字(傪)へ変換しています。

ページ送りは、縦書きコンテキストのCSS multicolumnで段が縦方向に 積まれる性質を利用し、段の高さ=画面高さとすることで 「1段=1ページ」を実現しています。行がページ境界で切れず、 めくりはtransformのみで行われます。

収録テキストと利用条件

本文はすべて青空文庫の各図書カードで公開されている テキストファイル(ルビあり版)を変換したものです。 青空文庫の「収録ファイルの取り扱い基準」により、著作権保護期間が 満了した作品のファイルは、形式変換を含め自由に利用できます。 青空文庫が希望している底本・入力者・校正者情報の保持に沿い、 各作品の奥付はリーダーの「情報」パネルにそのまま表示しています。

収録作品

  • 走れメロス(太宰治)
  • 羅生門(芥川龍之介)
  • 蜘蛛の糸(芥川龍之介)
  • 注文の多い料理店(宮沢賢治)
  • 山月記(中島敦)
  • こころ(夏目漱石)

本棚へ戻る