フォーラム: 公開討議 (スレッド #38399)

羅和辞典 step4にてエラー (2017-02-27 00:41 by Ambros #79446)

こんにちは。最近、辞書類の電子化に関心を抱き、たいへん有難く利用させていただいています。

さて、ご報告なのですが、羅和辞典のEPWING化の過程において、step4を実行すると以下のエラーが出て第1項目から行き詰ってしまっています。

C:\○○○○○○○○○○>step4
loaded 8 fix entries
loaded 45255 entries
fixing Latin-Japanese entries
*********************
ERROR: headword=?A, a A, a

環境はWindows 7 Ultimate (x86) SP1です。
(Windows 10ではありませんが)当方の環境でもstep1の段階で「外字」の文字列が混入したため、全置換にて削除しています。
この置換処理が原因なのかなとも思ったのですが、置換前の「外字」が含まれるkenkyusha-lajp.txtで試行してみても、やはり1項目のA, aでエラーを吐いてしまいました。
このkenkyusha-lajp.txtはUTF-8であることを確認しております。ただ、ファイルサイズは「約4.7MB」ではなく4.89MB(5,132,686バイト)あります。何か違うのでしょうか・・・?
何卒アドバイス頂けたら幸いです。よろしくお願いいたします。

メッセージ #79446 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

Re: 羅和辞典 step4にてエラー (2017-02-27 03:21 by Ambros #79459)

追記です。自己解決いたしました。

原因は、kenkyusha-lajp.txtの先頭にBOMが入っていたことでした。置換前のファイルでも同様のエラーが起きたのは、その前に一度メモ帳で開いて一部改変し、保存を行ったためでした。この時にBOMが挿入されたようです。
(エンコーディング等に疎いため、BOMという概念すら知らず苦戦しました・・・勉強になりました。)
解決策としては、テキストファイルのBOMを削除するフリーウェアでkenkyusha-lajp.txtを処理しました。先頭のみが問題だったため、第2項目のA., a.からは問題ありませんでした。

なお、上で「置換前に一度開いて改変を行った」、というのは、実はstep1にて、最後のzygostataとzythumのコピペ作業が延々と繰り返されてしまい、kenkyusha-lajp.txtの末尾にこれら2項目が何度も書き込まれていたためです。
羅和辞典の「次項へ」のリンクの位置が、最後のzythumの画面でのみ「前項へ」になっているため、自動マクロでこれをクリックして延々と繰り返してしまった次第です。
これは私の環境で起こっただけかもしれませんが、もしかしたらマクロに修正の必要があるかもしれないと思いましたので、ここにご報告させていただきます。
環境は羅和辞典のバージョンが1.4、ディスプレイの拡大率は100%でした。

ともあれ、無事に羅和辞典のEPWING化を完了できました。このような大変有意義なツールをご提供くださっていることに心より感謝申し上げます。私は諸言語を取り扱う一人のユーザーに過ぎませんが、今後とも情報提供等を通じて少しでもプロジェクトのお力になれれば幸いに存じます。この度はありがとうございました。
#79446 への返信

メッセージ #79459 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

Re: 羅和辞典 step4にてエラー (2017-02-27 20:18 by ohkubo-k #79475)

Ambrosさん、こんにちは。
ご報告ありがとうございます。大変参考になりました。

コピペが止まらなかったのは、最後の zy_thum の項で
・Windows XP では、コピペの見出し語が zthum になり、それが出たら終了にしていた
・最近のWIndowsは、最後の見出し語が z外字thum になるので、最後まで来たと判定できなかった
ためです。

結局、コピペの時に「外字」の文字列が
・Windows XPのときには入らなかった
・最近のWindowsでは入る
のが問題の根本原因ですね。
というわけで、羅和全文コピペの getall-lajp.uws で、最後から2行目に
   Result = REPLACE(Result, "外字", "")
という1行を追加して、コピペした文字列に「外字」が入っていたら消すようにしました。
そこだけ修正した変換キットをアップロードしておきました。
 http://projectzephyr.osdn.jp/kenkyusya-lajp.html

辞書全体にコピペは確認しておりませんが、Windows 7 Home 32bit 環境で z 部だけのコピペを試し(5行目をpublic startHeadword="z"としました)、ちゃんと「外字」が消え、コピペも自動終了することを確認しました。


ちなみに、手元の羅和事典(ver 1.4)では、前方一致検索で、zthumでもzythumでも,
zy_thumがみつからず、zの前方一致でもzygostataまでしか出ませんでした。
zygostataを表示して、「次項へ」をクリックすると、zy_thumが出ました。うむむ。
#79459 への返信

メッセージ #79475 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする