更新,已发testflight公开测试:加入 Beta 版“FDic” - TestFlight - Apple
README.md.zip (3.3 KB)
測試詞典(轉制的wfg說文解字):
前情提要:
目前状态:
- 现在只有内部测试名额
- 公开 TestFlight 还在 Apple 审核中,审核通过后会再开放公开链接
主要希望测试:
- 添加 / 删除词典
- 搜索词条与查看释义
- iPad 分栏界面显示
- 附录页面浏览
- 是否有崩溃、显示异常或操作不顺的地方
如果你愿意帮忙测试,请回复或私信我你的 Apple ID 邮箱,我会加入内部 TestFlight 测试名单。
词典编辑/打包器在这里:
编辑器.zip (85.3 KB)
可以自行转制一些mdx进行测试。有不明白的地方请电报联系@yukamidzuki
macOS 15
侧边栏 sidebar 的切换图标,就是窗口顶部那个,点击两次就消失了。
我添加的 Dictionaries 目录,提示:添加词典失败: 未找到有效的词典
.
└── Dictionaries
└── MyDict
├── Appendix
│ ├── appendices.aidx
│ ├── appendices.amap
│ └── appendices_0000.apdx
├── Content
│ ├── image.map
│ ├── image.nidx
│ ├── image_0000.nrsc
│ ├── 漢文典.idx
│ ├── 漢文典.map
│ └── 漢文典_0000.rsc
├── Font
│ └── I.Ming-8.10.ttf
├── Head
│ ├── headword.head
│ └── sentence.head
├── Key
│ ├── headword.key
│ └── sentence.key
├── Style
│ └── hanmuntenq.css
└── dict.yaml
9 directories, 16 files
代码我没有实际跑,建议最后打包的时候合并成一个文件,打包器的最后一步合并所有文件到同一个文件里,这个文件尾部用一个 file directory 记录每个文件的文件名和文件的偏移量,最后再加一个 xxhash32 哈希值就可以了,首次加载的时候验证下完整文件的哈希值,避免文件缺失损坏造成的崩溃, 后续打开只计算 file directory 的二进制哈希就可以了,还可以增加一个 uuidv4 作为文件的唯一值,mdx 就是缺少一个这个值,导致 gd 那边经常要重做索引。 如果你担心有文件并发读取的问题,使用 pread 或者 mmap 都可以,都是跨平台的,pread 在 windows 需要使用 overlapped 实现。如果确定打包的话,最后写到文件里就不要用 yaml 了,json 或者 xml 更好。
物书堂不合并文件是因为所有文件都是自己分发的,不会有类似问题。
我沒有老系統環境,不知道那邊怎麼樣,26下測試是能正常添加詞典和查詞的。感覺應該是文件夾層級問題,你添加的是Dictionaries這個目錄嗎?
我解压了 testdic.zip 这个文件,把解压目录 testdic 更名为 Dictionaries,把 _editor_output 更名为 MyDict,然后在 FDic 里添加 Dictionaries 这个目录,结果就是添加词典失败,要不要再更新一版,把错误写得更详细一些。把这个文件夹压缩上传了。
Dictionaries.zip (19.6 MB)
我這邊也是添加失敗,好像我把之前舊的測試文件發上來了。
mac15.7无法显示词头,后来发现是移位了
其实没必要照搬物书堂的文件结构和UI,还是希望看到开发者能做出个性化的东西,虽然模仿物书堂确实能带来一定质量提升。还有很多东西可以做,比如全文搜索。目前民间开发的苹果客户端居然都不支持全文搜索你敢信
macos15确实有ui问题。另外这个有全文检索啊。
macos15的ui我下午改了,等下回家推上去。
我说的全文检索就是duan_note这个模式的检索,用的索引类型是char(其实就是简单把字取出来写倒排),这个是三种全文索引类型其中的一种,还有俩可以分词的,方向选择只对这俩模式生效。
那就是还是需要构建索引才可以。我发现现代移动端处理器已经很强了直接硬搜都很快,得益于优秀的多核性能,一般几万条级别的词典不到0.2秒就完了,对于几十万的大型词典通常不到2秒(苹果cpu我还没测,但安卓端很少有开发者对其上心,大多数app还是龟速。