7/16更新:
已导出10部词典:汉英大词典(第三版)、英汉大词典(第二版)、日汉大辞典、日本语句型辞典/日本語文型辞典、新世纪法汉大词典、拉鲁斯法汉双解词典、使い方の分かる類語例解辞典、日本歴史大事典、新德汉词典、现代汉德词典(第二版)
d/dF9X5#xjZFtxeOJn
已更新:
前情提要:卡西欧词典格式还原Huffman解码,缺运行时literal table,求真机 RAM Dump!
之前「ZH008 需要从真机 RAM dump 一张239项 literal table」的结论是错的。Ghidra 看完整控制流后发现,那个 literal table 只属于 custom TREE;ZH008 的192字节 WCT 走 fixed TREE 分支。fixed 格式每个 token 先读一个 selector bit:0 用 tree1 直接解字节,1 用 tree2 解 HEAD 偏移,再读4 bit长度。之前漏掉这个 selector,所以整个位流错位了。现在 ZH008 (叫什么来着?中日大辞典?)和《新世纪日汉双解大辞典》都已完整解压,全部正常遇到换行结束、没有越界或pending。正文控制序列也已经结构化,跳转、插图ID、ruby都保留;外字统一标记并从CJF提取成PNG。现在剩下的是外字人工对应、实际插图数据提取和最终排版。
https://cloud.freemdict.com/index.php/s/rGDxY2gofw72Yg3
这是dump出来的新世纪日汉汉日
看了一下这个外字分好几个字体,但是数据里面没有表示指向哪个字体,同一个外字代码在不同字体对应不同的字,然后我看还有数学公式,可能需要还原为latex
卡西欧机器上可以切换不同字体(对应点阵12x12, 16x16, 24x24)如果你想加工成其他格式只需取分辨率最大的图即可,如果是做epwing还需要制作外字文件GAI16,GAI24(有些词典还有GAI48
同一个系列是分辨率的差异,但是又好多个不同的字体,不能确定用哪个字体:
这个对照纸书查看即可,由于用了多种编码格式,日文部分外字是一个系列,中文部分是另一个系列。如果提取时带有编码信息就更好了
现在有三个系列,其中S还包括BHZ三种,是英文也有一个系列吗?
正文我没细看,从外字图片不难看出Z结尾是全角字符,H结尾是半角,B结尾是两倍全角宽度。J开头是日语外字,Z开头是中文外字,S的应该是各种特殊符号和公式之类。现在难点就是正文没给出编码信息(可能用了不止两种编码),不太好区分中日文部分,并给它们匹配正确外字和字体显示 
导出的时候导出了两个版本,上午发的那个漏了。
图像也有点问题,我修好再发一遍。
正文并不是无标记的混合编码,里面有 12 61/63/64 ... 19 这种有作用域的外文、日文、中文切换指令。CZ320 的中文段有五十多万处明确的 12 64 标记,中日文主体已经能可靠区分。现在剩下的主要是 CASIO 私有变音字符和系统符号表,不是整篇正文编码不明。
卡西欧的二进制文件当然是可以区分中日文部分,但楼主导出文本后编码就统一了,虽然能从纸书上得知中日文部分用了哪些字符隔开,但这样只能分个大概,不保证完全准确。还是希望导出的文本能插入明显的编码信息符号,而不是靠外字来区分。
让ai改进了一下校对脚本,目前初步识别了全部外字,校对了字频在3以上的外字
这是校对脚本,需要pyqt6,放到目录里才能读取
cz320_gaiji.zip (219.1 KB)
naisme
16
貌似没校对的字部分可以从“日本国語大辞典 第二版”中查到,如
"row": 1318,
"display_key": "顎/あぎと",
"identities": [
"F2F2@JJC_JZ"
(3)「あぐ(鐖)」に同じ。
外字一共991个,词频1和2的很多,还有几个外字拼的数学公式,我之前是用部件检索查的,这个思路倒是也不错。
河蟹的内容或词条是相对新辞林吗?国内引进的肯定都是和谐版,不过这本好像不完全对应新辞林。新明解我也发现了好几条和谐的,比较搞笑的是删了容共这个词确保留了反共。