Skip to content

Instantly share code, notes, and snippets.

@kurema
Last active February 12, 2024 20:18
Show Gist options
  • Save kurema/2c9a9cfdb9f2b571653590f092cd1e39 to your computer and use it in GitHub Desktop.
Save kurema/2c9a9cfdb9f2b571653590f092cd1e39 to your computer and use it in GitHub Desktop.
CD-ROM『新潮文庫の100冊』の青空文庫テキスト形式変換

about

CD-ROM『新潮文庫の100冊』の青空文庫テキスト形式変換用のファイルです。

使い方

  1. 『新潮文庫の100冊』からBOOKフォルダをコピー
  2. コマンドプロンプトで
mkdir out
for /d %d in (BOOK\*) do perl conv.pl %d out\%~nd.txt
renshin100.bat

参照

MC-CS12 で縦書き読書 (wayback machine)

文字コード

conv.pl,renshin100.batのどちらもShift JISで保存してください。

ライセンス

フォーク元がライセンスを明記していないのでライセンスは不明です。
暗黙に転載・改変が許容されているものと判断しています。

私の改変分は自由に扱ってください。
明確なライセンスが必要な場合MITライセンスを適用します。

# このファイルはShift JISでエンコードしてください。
# 新潮文庫の100冊をテキスト化する perl スクリプト
# perl conv.pl 変換元フォルダ 出力テキストファイル
# 1. 『新潮文庫の100冊』CD-ROMからBOOKフォルダをコピー
# 2. コマンドプロンプトで
# mkdir out
# for /d %d in (BOOK\*) do perl conv.pl %d out\%~nd.txt
# renshin100.bat
# 出力ファイル
open (OUT,">$ARGV[1]");
# ディレクトリを開く
opendir(DIR,"$ARGV[0]");
chdir $ARGV[0];
@files = readdir(DIR);
# テキストファイルを順次開く
foreach $file (@files){
if ($file =~ /txt/i){
open (IN,"$file");
binmode (IN);
while(<IN>){
# bit negation を使う
# http://jcmac5.jc.meisei-u.ac.jp/s100.htm で得た情報
$_ = ~$_;
# ルビとの混合を予防
# Shift JISで0x8173,0x8174。"香s"とか"吹t"とかに誤ヒットするが多分大丈夫だろう。二バイト目はsとt限定だから。
s/《/≪/g;
s/》/≫/g;
# 次の行のは0x11です。フォント指定の終端。
s/.aTEXT[^]+?\,([^,]+)a/\($1\)/g;
s/%11\<[^\>]+\>//g;
# 青空文庫に近い形式でルビを出力
s/\cQR/|/g;
s/\cTr/《/g;
s/\cQr/》/g;
#s/([^亜-熙々])|/\1/g;
# 脚注関係
s/\cQA//g; # footnote
s/\cTafootnote ([0-9]+)\cQa/[#脚注 \1]/g;
# いろいろ残っているものを消す
s/\cQ[^>]*>//g;
s/\cZ.*//;
s/\cR{2,}/ /g;
s/\cR//g;
#s/給?.*//;
my $fdfe=pack("H4", "FDFE");
s/$fdfe//g;
s/\cTa[^\cQ]*\cQa//g;
# 元のファイルの行末が CRLF だったら、これは要らないかも
s/\r\n/\n/g;
s/\f/\n[#改ページ]\n/g;
# 出力
#$_ = decode('CP932', $_);
#$_ = encode('CP932', $_);
print OUT $_;
}
# ファイルの境目を示す
print OUT "\n[#改丁]\n";
}
}
#外字はどうしようもないので放置。□とかに変換するべきかも。
# オリジナル:http://www.venus.dti.ne.jp/~yohno/wince/index.html
# Yutaka Ohno様に感謝いたします。
# フォーク元のライセンスは不明ですが、転載・改変は許容されていると考えます。
cd out
ren "100101.txt" "[川端康成] 雪国.txt
ren "100135.txt" "[村上春樹] 世界の終りとハードボイルド・ワンダーランド.txt
ren "100402.txt" "[堀辰雄] 風立ちぬ/美しい村.txt
ren "100501.txt" "[谷崎潤一郎] 痴人の愛.txt
ren "100605.txt" "[太宰治] 人間失格.txt
ren "100704.txt" "[小林秀雄] モオツァルト/無常という事.txt
ren "101013.txt" "[夏目漱石] こころ.txt
ren "101522.txt" "[石川達三] 青春の蹉跌.txt
ren "101601.txt" "[樋口一葉] にごりえ/たけくらべ.txt
ren "101901.txt" "[三木清] 人生論ノート.txt
ren "102005.txt" "[森鴎外] 山椒大夫/高瀬舟.txt
ren "102201.txt" "[石川淳] 焼跡のイエス/処女懐胎.txt
ren "102501.txt" "[芥川龍之介] 羅生門/鼻.txt
ren "103005.txt" "[志賀直哉] 小僧の神様/城の崎にて.txt
ren "103406.txt" "[井伏鱒二] 黒い雨.txt
ren "104204.txt" "[有島武郎] 小さき者へ/生れ出づる悩み.txt
ren "104704.txt" "[柳田国男] 遠野物語.txt
ren "104801.txt" "[伊藤左千夫] 野菊の墓.txt
ren "105008.txt" "[三島由紀夫] 金閣寺.txt
ren "105507.txt" "[島崎藤村] 破戒.txt
ren "105601.txt" "[泉鏡花] 歌行燈/高野聖.txt
ren "105701.txt" "[武者小路実篤] 友情.txt
ren "106009.txt" "[山本有三] 路傍の石.txt
ren "106101.txt" "[林芙美子] 放浪記.txt
ren "106305.txt" "[井上靖] あすなろ物語.txt
ren "106503.txt" "[大岡昇平] 野火.txt
ren "107701.txt" "[中島敦] 李陵/山月記.txt
ren "107801.txt" "[竹山道雄] ビルマの竪琴.txt
ren "109205.txt" "[宮沢賢治] 銀河鉄道の夜.txt
ren "109303.txt" "[石川啄木] 一握の砂/悲しき玩具.txt
ren "109502.txt" "[立原正秋] 冬の旅.txt
ren "109601.txt" "[梶井基次郎] 檸檬.txt
ren "109816.txt" "[星新一] 人民は弱し官吏は強し.txt
ren "110201.txt" "[壺井栄] 二十四の瞳.txt
ren "110918.txt" "[松本清張] 点と線.txt
ren "111003.txt" "[阿川弘之] 山本五十六.txt
ren "111203.txt" "[野坂昭如] アメリカひじき/火垂るの墓.txt
ren "111309.txt" "[倉橋由美子] 聖少女.txt
ren "111501.txt" "[福永武彦] 草の花.txt
ren "111701.txt" "[吉村昭] 戦艦武蔵.txt
ren "112115.txt" "[安部公房] 砂の女.txt
ren "112203.txt" "[新田次郎] 孤高の人.txt
ren "112315.txt" "[遠藤周作] 沈黙.txt
ren "112601.txt" "[大江健三郎] 死者の奢り/飼育.txt
ren "112801.txt" "[開高健] パニック/裸の王様.txt
ren "113106.txt" "[北杜夫] 楡家の人びと.txt
ren "113206.txt" "[有吉佐和子] 華岡青洲の妻.txt
ren "113410.txt" "[山本周五郎] さぶ.txt
ren "113501.txt" "[三浦哲郎] 忍ぶ川.txt
ren "114103.txt" "[水上勉] 雁の寺/越前竹人形.txt
ren "114303.txt" "[吉行淳之介] 砂の上の植物群.txt
ren "114610.txt" "[曽野綾子] 太郎物語.txt
ren "114702.txt" "[五木寛之] 風に吹かれて.txt
ren "115204.txt" "[司馬遼太郎] 国盗り物語.txt
ren "115623.txt" "[池波正太郎] 剣客商売.txt
ren "116201.txt" "[三浦綾子] 塩狩峠.txt
ren "116801.txt" "[井上ひさし] ブンとフン.txt
ren "117113.txt" "[筒井康隆] エディプスの恋人.txt
ren "117514.txt" "[田辺聖子] 新源氏物語.txt
ren "117601.txt" "[渡辺淳一] 花埋み.txt
ren "118103.txt" "[塩野七生] コンスタンティノープルの陥落.txt
ren "118301.txt" "[高野悦子] 二十歳の原点.txt
ren "123502.txt" "[沢木耕太郎] 一瞬の夏.txt
ren "124801.txt" "[藤原正彦] 若き数学者のアメリカ.txt
ren "130702.txt" "[宮本輝] 錦繍.txt
ren "132703.txt" "[赤川次郎] 女社長に乾杯!.txt
ren "144805.txt" "[椎名誠] 新橋烏森口青春篇.txt
ren "200103.txt" "[ヘルマン・ヘッセ] 車輪の下 (高橋健二 訳).txt
ren "200301.txt" "[スティーヴンソン] ジーキル博士とハイド氏 (田中西二郎 訳).txt
ren "200803.txt" "[スタンダール] 赤と黒 (小林正 訳).txt
ren "201021.txt" "[ドストエフスキー] 罪と罰 (工藤精一郎 訳).txt
ren "201401.txt" "[モーパッサン] 女の一生 (新庄嘉章 訳).txt
ren "201501.txt" "[ゲーテ] 若きウェルテルの悩み (高橋義孝 訳).txt
ren "201804.txt" "[ツルゲーネフ] はつ恋 (神西清 訳).txt
ren "202003.txt" "[シェイクスピア] ハムレット (福田恆存 訳).txt
ren "202201.txt" "[トーマス・マン] トニオ・クレーゲル/ヴェニスに死す (高橋義孝 訳).txt
ren "202801.txt" "[ポー] 黒猫/黄金虫 (佐々木直次郎 訳).txt
ren "203008.txt" "[ディケンズ] クリスマス・カロル (村岡花子 訳).txt
ren "204401.txt" "[ジュール・ヴェルヌ] 十五少年漂流記 (波多野完治 訳).txt
ren "204503.txt" "[ジッド] 狭き門 (山内義雄 訳).txt
ren "205501.txt" "[アンデルセン] 絵のない絵本 (矢崎源九郎 訳).txt
ren "206001.txt" "[トルストイ] アンナ・カレーニナ (木村浩 訳).txt
ren "206201.txt" "[ヒルトン] チップス先生さようなら (菊池重三郎 訳).txt
ren "206301.txt" "[フィツジェラルド] グレート・ギャツビー (野崎孝 訳).txt
ren "206501.txt" "[チェーホフ] 桜の園/三人姉妹 (神西清 訳).txt
ren "206801.txt" "[シリトー] 長距離走者の孤独 (丸谷才一・河野一郎 訳).txt
ren "207101.txt" "[カフカ] 変身 (高橋義孝 訳).txt
ren "207201.txt" "[O・ヘンリ] O・ヘンリ短編集 (大久保康雄 訳).txt
ren "207401.txt" "[レイチェル・カーソン] 沈黙の春 (青樹簗一 訳).txt
ren "207901.txt" "[シュリーマン] 古代への情熱 (関楠生 訳).txt
ren "209501.txt" "[カポーティ] ティファニーで朝食を (龍口直太郎 訳).txt
ren "209601.txt" "[イプセン] 人形の家 (矢崎源九郎 訳).txt
ren "209703.txt" "[エミリー・ブロンテ] 嵐が丘 (田中西二郎 訳).txt
ren "210104.txt" "[スタインベック] 怒りの葡萄 (大久保康雄 訳).txt
ren "210601.txt" "[マーク・トウェイン] トム・ソーヤーの冒険 (大久保康雄 訳).txt
ren "211301.txt" "[モンゴメリ] 赤毛のアン (村岡花子 訳).txt
ren "211401.txt" "[カミュ] 異邦人 (窪田啓作 訳).txt
ren "211801.txt" "[サガン] 悲しみよ こんにちは (朝吹登水子 訳).txt
ren "213005.txt" "[モーム] 月と六ペンス (中野好夫 訳).txt
ren "213401.txt" "[コナン・ドイル] シャーロック・ホームズの冒険 (延原謙 訳).txt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment