Boat & Fishing / AOKIDS Home Page

Top > Others >> 青空文庫のテキストからルビを削除するには


Others その他

青空文庫のテキストからルビを削除するには



皆さんは「青空文庫」(あおぞらぶんこ: http://aozora.gr.jp/index.html )をご存じですか。
青空文庫は利用に対価を求めないインターネット上の電子図書館で、著作権の消滅した作品や「自由に読んでもらってかまわない」とされた作品が、テキスト形式、 XHTML(一部は HTML)形式、エクスパンドブックファイル形式などで提供されています。 作者の没後 50年以上経過したものが殆どですが、名作が数多く自由に読めるため、日頃からよく利用してます。
 日頃はパソコンで読むことが多いのですが、今回は電子辞書を購入したのをきっかけに、電子辞書で読みやすいように青空文庫のテキストからルビや脚注を取り除くプログラムを作成したので、少し解説したいと思います。


電子辞書を買って

2006年4月、以前から欲しかった電子辞書を購入することになりました。近年、電子辞書の種類は大変多く、選択に迷ったのですが、英語の学習に利用したいこともあり、
CASIO XD-GT6800→クリックで拡大  1.ロングマンの英英辞典が入っていること
 2.英文の音声読み上げが行えること
 3.暗いところでも使える「バック・ライト」機能があること
 4.日本語機能も充実していること
などなどで、結局 CASIO のEX-wordシリーズである「XD-GT6800」をネットで購入することにしました。
 電子辞書としての基本機能や使い勝手は大変良く、辞書の選択も分かりやすく、同じ検索語を複数の辞書で同時に検索できるなど、検索についても申し分ありません。 その機能の中に、PCからUSB経由でテキスト文をメモリやSDカードに読み込んで表示する機能があります。

取扱説明書の例によると、前述した青空文庫から作品をダウンロードし、PCからUSB経由で作品のテキスト形式ファイルを読み込んで、電子辞書側で表示する方法が示されています。
 実際に試してみると、転送の速度も速く、本体メモリ容量もほんの僅かしか使用しないので、長い旅行などで重い小説を持って行くより遙かに楽に読書が出来ることが分かりました。

ただ気になったのは、青空文庫で提供しているテキスト・ファイルは殆どがルビ付であることです。ルビは難しい漢字の読みを示すのに使われますが、テキスト・ファイルの中でルビの位置やふりがなを表現するため、特殊なタグが挿入されています。以下に「菊池寛 アラビアンナイト アラジンとふしぎなランプ」(alladin_and_the_rump.txt)の冒頭部分を示します。

アラビヤンナイト
一、アラジンとふしぎなランプ
菊池寛

-------------------------------------------------------
【テキスト中に現れる記号について】

《》:ルビ
(例)貧乏《びんぼう》

|:ルビの付く文字列の始まりを特定する記号
(例)十|箇《こ》

[#]:入力者注 主に外字の説明や、傍点の位置の指定
(例)しな[#「しな」に傍点]
-------------------------------------------------------

 昔、しな[#「しな」に傍点]の都に、ムスタフという貧乏《びんぼう》な仕立屋が住んでいました。このムスタフには、おかみさんと、アラジンと呼ぶたった一人の息子《むすこ》とがありました。  この仕立屋は大へん心がけのよい人で、一生けんめいに働きました。けれども、悲しいことには、息子が大《だい》のなまけ者で、年が年じゅう、町へ行って、なまけ者の子供たちと遊びくらしていました。何か仕事をおぼえなければならない年頃になっても、そんなことはまっぴらだと言ってはねつけますので、ほんとうにこの子のことをどうしたらいいのか、両親もとほうにくれているありさまでした。  それでも、お父さんのムスタフは、せめて仕立屋にでもしようと思いました。それである日、アラジンを仕事場へつれて入って、仕立物を教《おし》えようとしましたが、アラジンは、ばかにして笑っているばかりでした。そして、お父さんのゆだんを見すまして、いち早くにげ出してしまいました。お父さんとお母さんは、すぐに追っかけて出たのですけれど、アラジンの走り方があんまり早いので、もうどこへ行ったのか、かいもく、姿は見えませんでした。

扉〜とびら〜 ver.3.2.1の表示例→クリックで拡大 この例にあるよう、ルビの前後に「《」と「》」が、入力者注の前後に「[」と「]」が、 ルビの付く文字列の始まりには「|」が挿入されています。数が少なければ気にならないのですが、結構多いので電子辞書ではかえって読みづらくなります。
 PCの場合はこのルビを正しく表示できるソフトがいくつかあり、私が普段お世話になっている「扉〜とびら〜 ver.3.2.1」(鴉の巣) を例にとると、右の図のように傍点やルビが正しく表示されています。(右図をクリックすると、拡大表示されます。)

以上のルビについて、電子辞書で閲覧するときに煩わしいので削除する手はないか色々と検討してみました。「awk」や「perl」などで整形する手やエディタで「正規表現」を使って置換する手などが考えれたのですが、一発で簡単に削除する方法が入手できなかったので、「C言語」を使って自作することにしました。


青空文庫テキストからルビをとる「delruby.exe」

ここで少しお断りをしておきます。今回作成したプログラムは、「コマンド プロンプト」上で動くプログラムで、Windowsのアプリケーションではありません。少しコンピュータに詳しい方なら問題ありませんが、「MS-DOS」や「コマンド プロンプト」の知識が全くない場合は使うのが難しいかもしれません。基本的な事項を説明していると紙面が足りないので、今回は「コマンド プロンプト」で動作するプログラムの扱いが出来ることを前提に説明してます。したがって利用方法が分からない場合は、身近におられるパソコンに詳しい方にお尋ねいただくと宜しいと思います。説明が不備で申し訳ありませんが、よろしくお願いします。

前記のような経緯から自作したのが「delruby.exe」(lha圧縮、ウイルス・チェック済み、17,452Byte)というプログラムです。Windowsのプログラムではなくコマンド プロンプトから起動します。使い方は簡単で、「delruby.exe」をpathの通ったフォルダに置くか、青空文庫テキスト・ファイルと同じフォルダーに置きます。
そこで、次のようにコマンドを実行します。(下線部が入力部分)


  >delruby 青空文庫テキスト・ファイル名 > ルビを除いたテキスト・ファイル名 [Enter]


具体的な例では、青空文庫テキスト・ファイル名が前述の「alladin_and_the_rump.txt」で あり、ルビを除いたテキスト・ファイル名が「output.txt」である場合、


  >delruby alladin_and_the_rump.txt > output.txt [Enter]キー


とプログラムを実行します。
作成された「output.txt」からはルビ、入力者注およびルビの付く文字列の始まりを特定する記号「|」が取り除かれます。

入力文の冒頭にある「>」はコマンド プロンプトの入力待ちを表す記号、中ほどの「>」は「リダイレクト」という出力を切り替える記号です。「delruby.exe」は標準では画面に出力しますので、任意の出力ファイルへリダイレクトして使用します。出力されたルビ抜きテキスト・ファイルは、ルビ以外の全てを出力してますので、冒頭にある説明文が不要な場合は、適当なエディタ(メモ帳など)で削除すると良いと思います。


このページの先頭へ


2006年 5月 3日 加筆

青空文庫テキストを電子辞書で読みやすいように整形する「refruby.exe」

上記で作成したルビを完全に削除する「delruby」を使ってみると、かなりスッキリして見やすくなりましたが、明治・大正期の日本文学は難解な漢字や当て字が多く結構読みづらいものがあります。また「delruby」は外字などを説明する「作者注」も同時に削除しますから、ルビ削除と重なると外字部分は完全に意味不明になってしまうという重大な問題点も発覚しました。
 「delruby」をしばらく使って、その問題点がはっきりしてきましたので、電子辞書で読みやすい形にリフォームする「refruby」を新たに作成することにしました。

今回作成した「refruby.exe」(lha圧縮、ウイルス・チェック済み、18,309Byte)は以下のような整形を行います。

[整形の内容]
   1.冒頭4行目から書かれている説明文全体を削除
   2.ルビ記号を「《 … 》」から「( … )」に変更(カッコは半角)
   3.ルビ文字列の始まりを表す記号「|」を削除
   4.入力者注([ … ]で囲まれた部分) を削除

 [注 意 点]
   1.結果は標準出力へ出力されます
    ファイルに書き出す場合はリダイレクトを利用します
    (例) refruby 青空ファイル名 > 出力ファイル名 [ret]
   2.二倍の踊り字記号「/\」はそのまま出力しています
   3.外字等の記号「※」はそのまま出力しています
   4.アクセント分解欧文部「〔 … 〕」はそのまま出力しています

使い方は「delruby」とほとんど同じです。(下線部が入力部分)


  >refruby 青空文庫テキスト・ファイル名 > 整形したテキスト・ファイル名 [Enter]


上記の操作で、あっと言う間に整形が完了します。今回はルビを半角のカッコ書きで残すようにしていますので、目に優しく難しい漢字も読むことが出来ます。更に冒頭の説明文は全く不要と思われましたので、自動的に削除するようにしています。

以上簡単ですが、青空文庫のテキストを電子辞書で利用する方法について説明しました。興味のある方はお試しください。


このページの先頭へ


2006年10月19日 加筆

[delruby]、[refruby] が Windowsで直接使えるようになりました

自分の趣味の必要性から作った「delruby.exe」と「refruby.exe」ですが、はっきり言って Windowsからは使えないので一般にはお勧めできない代物でした。 まあ、「今となっては昔」の「DOS」やら「コマンド」やらをいじくるマニア向け?のプログラムで、多くの人にはなじみが無いものでした。バッチ・プログラムで複数の青空文庫テキストを一気に加工するなどには都合が良く、目的さえ果たせばよいという筆者の性格から今まで放置してきました。
しかし、世の中「捨てる神」もあれば「拾う神」もあるもので、掲示板に書き込みをしてくださった zengshan さんが、それぞれのプログラムを内包したWindowsのフロントエンドを作ってくださいました。これで少しは使ってもらえるようになると嬉しいですね。

zengshan さんが作成してくださったプログラム「Ruby_front」(zip圧縮、ウイルス・チェック済み、513,952Byte)は、zip形式で圧縮されていて、解凍すると「DelRuby_フロント.exe」と「RefRuby_フロント.exe」、そして「readme.txt」が生成されます。両プログラムは、それぞれ「delruby.exe」と「refruby.exe」のコードを取り込んでいますので、単独で動かすことができます。詳しい使い方は「readme.txt」をご覧になれば分かりますが、大変手軽に青空文庫のテキストを整形することができます。

今まで使いづらかった「delruby.exe」と「refruby.exe」を誰でも使える身近なものにしてくださった zengshan さん、大変お手数をお掛けしありがとうございました。この場を借りて、お礼を申し上げます。


このページの先頭へ


2007年01月11日 加筆

「青空文庫」の著作権保護期間の延長を行わないよう求める請願署名にご協力下さい

皆さんもご承知と思いますが、著作権の保護期間を現行の 死後50年 から 死後70年 に延長しようとする動きがあるようです。いっそのこと 死後100年 にしなかったところなどを考えると、一部の権利者が一部の利益のために動いているような気もします。このことは、本ページで紹介させていただいた 青空文庫 にとっては存亡の危機となります。是非とも、皆さまのご協力を得て 法改正が行われないよう にする必要があります。

ご協力いただける方は、下のアイコンをクリックしてください。
青空文庫の 著作権保護期間の延長を行わないよう求める請願署名 のページへジャンプします。


      著作権の保護期間延長に反対します
  http://www.aozora.gr.jp/shomei/

よろしくご協力をお願いします。



このページの先頭へ

2006年04月16日 初版
2006年05月03日 改訂1
2006年10月19日 改訂2
2007年01月11日 改訂3


Top > Others >> 青空文庫のテキストからルビを削除するには

Boat & Fishing / AOKIDS Home Page