|
发表于 2007-8-3 23:48:47
|
显示全部楼层
处理文本的代码
感谢hanyl2006版主提供数据。
贴一个处理文本的perl代码,供咖友自制epwing时参考。
1. 删除开头的几行说明、类似“&·bei”和“(A-G)”的行之后,在DOS命令行执行以下perl代码。
% perl <本代码文件名> <辞典文本文件名>
while(<>) {
chomp; # 除回车。
$s = $_;
if ($s =~ /^\s\s\&/) { # 判断是否单字。
$s =~ s/^\s\s\&//; # 除去单字之前空格。
next if ($s =~ /^\xA3/ || $s =~ /^\xA8/); # 不输出拼音开头开始的行。
@a = split(//, $s); # 各字节放入数组。
print $a[0], $a[1], " /// "; # 按pdic格式要求输出单字。
for($i=2;$i<@a;$i++) {
print $a[$i]; # 输出单字开始的余下部分。
}
} else {
if ($s =~ /\s\s(【+[^】]*?】)/) { # 判断是否单词。
$w = $1; # 暂存单词。
$s =~ s/$w//; # 除去单词。
$s =~ s/\s//g; # 除去空格。
print $w, " /// ", $s; # 按pdic格式要求输出单词及其解释部分。
} else {
$s =~ s/】/】 \/\/\/ /; # 其他情况用分隔符替代单词结束符。
$s =~ s/^\s//g; # 除去空格。
print $s; # 整行输出。
}
}
print "\n"; # 输出回车。
}
2. 保存以上输出结果到另一文本文件,转换成utf-8之后,用c2epw在命令行转换成html文件。
% C2EPW.exe utf-8.txt chsdic.htm
转换html文件时,错误的地方会写在err.txt里,对照源文件修改utf-8文件、生成html文件,
反复直到C2EPW不产生err.txt。chsdic.htm大小46MB。
3. 用EBStudio 把chsdic.htm 制成 honmon。
在中文XP用Apploc打开EBStudio。在『書籍の挿入』→『入力ファイルの登録』→『入力ファイル』选上chsdic.htm,
『ファイル種別』选“HTML”。『外字フォント』和『外字定義』分别填c2epw下的gaiji.xml、gaijimap.xml。
点『!』実行之后过一段时间生成honmon文件,48MB。太大了?在chsdic.htm删除tag和十六进制码等不必要的可以瘦身。
以上有任何问题欢迎指教、讨论。
[ 本帖最后由 songtaiping 于 2007-8-4 09:22 编辑 ] |
评分
-
1
查看全部评分
-
|