タイトル | : MSBookshelf2の故事ことわざ辞典のEPWING化 |
記事No | : 48 |
投稿日 | : 2008/03/23(Sun) 21:12:55 |
投稿者 | : tree |
マイクロソフトBookshelf2故事ことわざ辞典のEPWING化法です。長くなりますが、掲示させてください。 UWSCとperlを使わせていただいています。どちらもよくわかっていません。見よう見まねです。
Bookshelf2はすごい辞書と思っているのですがオークションで500円程度で落とせますね。故事ことわざ辞典の本の定価は5000円程度のものと思っています。 かなのところに欠点がありますが実用にはそれほど問題ないように思っています。 見出しの部分で(a)が(b)のようになっています。 (a)愛(あい)出(い)ずる者(もの)は愛返(かえ)り、福(ふく)往(い)く者は福来(き)たる (b)愛出ずる者は愛返り、福往く者は福来たる【あいいずるものはかえり、ふくいくはきたる】 次は字通にチャレンジしてみようと思っています。
(kotowaza.uws)------------------------------ file_name = "c:\kotowaza\kotowaza.txt" err_file_name = "c:\kotowaza\kotowaza_err.txt" kktextback = ""
for i=1 to 2000 ACW(GETID("Microsoft/Shogakukan Bookshelf Version 2.0 - 故事ことわざの辞典","BS98J"),176,363,635,708,0) SLEEP(0.1) KBD(VK_SHIFT,DOWN,40) KBD(VK_CTRL,DOWN,40) KBD(VK_OEM_PERIOD,CLICK,40) KBD(VK_SHIFT,UP,0) KBD(VK_CTRL,UP,0) SLEEP(0.2) KBD(VK_CTRL,DOWN,40) KBD(VK_C,DOWN,40) KBD(VK_CTRL,UP,0) KBD(VK_C,UP,0) SLEEP(0.2)
kktext = GETSTR(0) IFB kktext="" THEN tf = FOPEN(err_file_name,F_READ or F_WRITE) FPUT(tf,"**********null",0) FPUT(tf,kktextback,0) FCLOSE(tf) ELSEIF kktext=kktextback THEN tf = FOPEN(err_file_name,F_READ or F_WRITE) FPUT(tf,"**********dup",0) FPUT(tf,kktextback,0) FCLOSE(tf) ELSE tf = FOPEN(file_name,F_READ or F_WRITE) FPUT(tf,"**********",0) FPUT(tf,kktext,0) FCLOSE(tf) ENDIF kktextback = kktext next
(kotowaza_cc.pl)--------------------------------------------------------------- use encoding 'cp932'; $flg = 1; open IN, '<:encoding(cp932)', 'kotowaza.txt';
print "<html>\n"; print "<head>\n"; print "<title>故事ことわざ辞典</title>\n"; print "</head>\n"; print "<body>\n"; print "<dl>\n";
$flg = 1; while(<IN>){ httpif(/\*\*\*/){ httphttp$flg = 0; httphttpprint "\n"; http} httpelsif(/^Koji Kotowaza Proverb Dictionary/){ httphttpprint "<\/dd>\n\n"; http} httpelsif($flg == 0){ httphttpchomp; httphttp$kana = $_; httphttp$kanji = $_; httphttp$kanji =~s/\(.*?\)//g; httphttp$kana =~s/[\(-\)]//g; httphttp$kana =~s/\p{Han}//g; #← 漢字を削る httphttpprint "<dt id=\"$kanji\">$kanji"; #← タグをつける httphttpprint "【".$kana."】</dt>\n<dd>"; httphttp$flg = 1; http} httpelsif(/^⇒/){ httphttpchomp; httphttp$sansho = $_; httphttp$sansho ==~s/⇒//g; httphttps/\(.*?\)//g;http httphttpprint "<a href=\"#".$_."\">".$sansho."</a>"; http} httpelse{ httphttp$flg++; httphttpchop; httphttpprint $_; http} } print "</dl>\n"; print "</body>\n"; print "</html>"; # perl kotowaza_cc.pl > kotowaza_cc.html #コマンドプロンプトで実行です。 -------------------------------------------------------------------
|