2.18:大进展,以next-gen-dictionary-standard/Specification.md at main · freemdict/next-gen-dictionary-standard · GitHub 为蓝本改进了数据库结构,支持自定义ztsd压缩字典和读取压缩后的数据。
现在制定的结构大概是这样的:
- metadata 表 - 词典基础信息
id
: 主键key
: 键名value
: 文本值(存储词典名称、作者、版本等)bin
: 二进制数据(存储图标、压缩字典等基础资源) 主要包含:- 词典的名称、作者、出版商、版本信息
- 词典图标
- CSS样式表
- ZSTD压缩字典
- 其他元数据信息
- content 表 - 词条主体
id
: 主键key
: 词头文本headword
: 词头HTML (ZSTD压缩)value
: 词条内容HTML (ZSTD压缩)seq
: 排序序号- citation 表 - 自定义查询模式内容
id
: 主键to
: 关联的词条ID(外键)anchor
: 内容标识符value
: 查询内容(ZSTD压缩)type
: 类型(如例句/释义等)seq
: 排序序号用途:- 支持按类型搜索特定内容(如只搜索例句)
- 可以独立检索和展示词条中的特定部分
- 为不同类型的内容提供专门的查询接口
- link 表 - 词条关联
id
: 主键key
: 关键字to
: 目标词条IDtype
: 关联类型- font 表 - 字体文件
id
: 主键key
: 字体名称value
: 字体格式bin
: 字体二进制数据
2.6:做了一个星期的无用功,自制的格式有很多问题,我又改回用sqlite了…
1.29更新:指定词典目录递归添加多本词典做好了。隔离做好了,搜索结果栏用的是shadow dom隔离,正文用的是iframe隔离。
剩下的只有索引方式需要改进,还有处理图片链接和跳转链接。
1.24更新:被sqlite扩展弄到破防。打算把词典数据改成.xml,然后实现压缩和读取。
1.23更新:全文檢索實現了。用的是xapian…
1.22更新:
我服了…被sqlite索引搞破防,怎么实现按字索引?
更新:
破大防,本来左侧边栏是个大的webview,但是我觉得比较难看(为了往物书堂那种风格上靠),改成html转nsattributedstring了,结果导致了一系列的问题,比如无法正常显示为词头指定的字体…
前情提要:
算有个雏形了,趁春假(2-4月)时候再改改。