Proofreader (校正者の意、仮称)は、青空文庫の校正作業を支援する仕組みです。以下、使いかたを説明します。ほんとはスクリーンショットとかを入れながら書きたいところですが、気合いが入らなくて…
文字誤認などの可能性の高い文字列を色分けして指摘します。色分けされた部分にカーソルをあてると、どのような注意が必要かが表示されます。字が小さくて分からない時は、マウスをドラッグして選択すると画面の右上に拡大して表示されます。
青空文庫の校正には、結城浩さんの「チェッカー君」や「校閲君」、マニュアルに挙げられた正規表現、そして「外字注記辞書」などが威力を発揮します。Proofreader はそれらの知見を一個所に集め、より使いやすく、より見やすくすることを目標としました。
Proofreader はブラウザでの表示を行なうツールです。その中で校正編集ができるわけではありません。ブラウザとエディタを見比べながら作業することになります。
大雑把に言って、次のような色分けを採用しています。
色分けにあたっては、緑色光や赤色光への感受性が弱くても大丈夫なようにしたつもり(こんなふうに見える)ですが、至らないところがあるかもしれません。
自分のパソコンにある、校正中のファイルを指定します。(青空文庫で現在使用するファイルはシフトJISで符号化されたものですが、実験的にUTF-8のファイルにも対応しています。)
次に述べるその場で指定された文字列がある場合は、そちらが優先されます。ファイルを点検したい場合は、下のテキストエリアが消去されていることを確認してください。
Internet Explorer の場合、次の画面からブラウザの戻るボタンで戻ってくると、このフィールドが消去されてしまうと思います。他のブラウザの場合、戻った後も、使った値が残っていると思います。何回も条件を変えて点検することが考えられますから、ファイル名が残っているほうが便利だと思うのですが、どうしても修正できませんでした。
ファイル全体を点検するかわりに、数文字、数行、あるいは数ページ分のテキストをコピーして指定することができます。
このテキストエリアに文字列があると、それはファイル指定に優先されます。つまり、このエリアの文字列がチェックされます。
目的に合わせて点検項目を選択します。すべての項目をチェックする必要はありません。たとえば、OCR(文字認識)から出てきたばかりのテキストを点検するには、最初の「OCR誤認識などの可能性の高い文字列」のチェックが有効で、逆に「外字注記を点検」などは全く意味がないでしょう。反対に、すでに一回目を通してある、旧字や外字注記が多いテキストを点検するには、「校閲君」「外字注記辞書」などの項目が便利だと思います。
選択に関わらず、必ずチェックされる項目があります。Windows の機種依存文字と、半角カナです。これらは青空文庫のファイルには存在しないはずなので、いつもチェックすることにしました。半角の括弧なども赤で表示されてしまいますが、あしからず。
OCRでは、「仲間」が「仲聞」になったり、「矜持」が「衿持」になったりするような読み取り間違いが多く起こります。それらを集めたリスト(マニュアルに掲載)を参照して、誤認識の可能性を指摘します。何の誤認識か私に想像がついたものについては修正候補を表示します。何の誤認識か分からなかった場合、あるいは入力が面倒くさかった場合は■■と表示されます。すみません。
「洒」と「酒」、ひらがなの「へ」とカタカナの「ヘ」など、似た文字を指摘します。ひらがな、カタカナ、漢字で色分けがされています。このオプションの表示結果はかなり膨大なので、ある程度、「無視力」が問われます。リストは結城さんのプログラムから使わせていただきました。結城さんのプログラムでは、かとうかおりさん、砂場清隆さんにクレジットが与えられています。
JIS X 0208 の範囲内で旧字体が登録されている場合、新字体が使われていると指摘します。たとえば、「悪」に対しては「惡」ではないのか、という指摘を行ないます。「校閲君」と同じ働きをします。新字のテキストの校正をしているなら、このオプションは全く意味がありません。
外字注記の妥当性を検証します。文字コードをたよりに、ちゃんと目当ての文字が構築できるか(つまり文字コードが合っているか)をチェックするのが第一点。 外字注記辞書を参照して、解字が推奨された文面になっているかを点検するのが第二点。このほか、JIS X 0213 に字形が存在するが、jis x 0208 では包摂されることになっているので注記しないことになっている文字に関する注記を点検します。
スペースや改行を見える形で表示します。行末に無駄なスペースが入っていないかとか、底本の体裁に沿って無駄な改行が入れていないかなどをチェックしてください。
ひらがな「へぺべ」カタカナ「ヘペベ」のチェックなどは、こちらのオプションで行なうこともできます。より寡黙な方法としてお使いください。
縦棒がいらないかを見たりするのにお使いください。ただし、外字注記を含む漢字文字列や、漢字以外の文字列にかかるルビには対応していません。
ひらがなすべてをマークするなら、[ぁ-ん] と入れます。Perl 風の正規表現のごく簡単なものが指定できます。漢字の範囲は指定できません。あと、行頭、行末の指定もできません。参照のかっこは入れないでください。
マニュアルに掲載されている正規表現を用いて点検ができるようにしました。
オプションは複数指定できるようになっていますが、1つの文字列に複数の条件が適合しても、どれか1つの注意喚起しか表示されません。大雑把な傾向としては、文字列の幅で言えばより幅広い範囲にかかるものが、同じ文字列に対しては注意内容がより具体的なものが出るようになっていると思います。
組み合わせによっては、表示が破局的に乱れることもあるかもしれません。
表示項目が多いと、ブラウザが止まってしまう場合があります。この場合、JavaScript を切った軽量バージョンを使うことができます。ただし、これを指定すると、ポップアップからのコピーはできませんし、文字列の拡大も使えなくなります。
現在、青空文庫では JIS X 0208 を文字集合として使っています。仮に方針転換して JIS X 0213 を用いるとした場合、外字注記は大幅に減らすことができますが、0208 と 0213 で包摂規準が変わった文字については、底本の見直しとファイルの書き換えが必要となります。このオプションを指定すると、それらの文字(29+104+10=143文字)を指摘します。
この部分を作業していて気がついたのですが、現時点では、Mac の Firefox だと、包摂基準が変わる文字の約半数が、表示はできるがエディタなどにコピーできません。他の文字に対しても、そして他のOS、ブラウザに関しても詳しく調べてみないと、JIS X 0213 化に動き出した後で入力校正の現場で大きな混乱が起こりかねない気がして、私は方針転換について少し慎重な考えになりました。
この件に関する関連リンク:
一応、Firefox (Mac, Windows, Ubuntu)、Chrome (Mac, Windows, Ubuntu)、Safari (Mac)、Internet Explorer 9 (Windows)、Opera (Ubuntu) で動くことを確認しました。たいがいの処理はサーバ側で行なっているので、ブラウザを選ぶという面は少ないと思います。
ただ、上に書いたような問題もありますし、また、ブラウザによって JavaScript のエンジンが違うので、ポップアップが多い場合に動きが鈍くなると言う問題が出ると思います。個人的な感触では、どのプラットフォームにおいても、Firefox より Chrome のほうが JavaScript の問題が少ないような気がします。
最初は、ajax とかをふんだんに使って web 2.0 (既に死語?)を目指していたのですが、なにせ perl で書くほうが私の場合、数倍、労力が少なくて済むので、ほとんど旧態依然の cgi になってしまいました。まあ、サーバーに負担が集中するような場面じゃないし(流行したとしても、一日に数人が使うぐらいのはず)、まあ、いいか。