MDict:café和café是不同的词条,查不到mdx v3里的café

这涉及到 Unicode 的 规范化形式

比如 é 这个字符 可以有两种表示方式:

  1. NFC:一个完整字符 é :U+00E9
  2. NFD:e + 变音符号 ´ :U+0065 + U+0301

用户来说,除特殊情况,这俩是应该是一样的,尤其像查词典这种场景

但在软件或者程序层面,不一样,这是一个字符那是两个字符,码点没一个一样的……当然有些情况需要规范化为一种

但是经测试,在 安卓 MDict 2.3.7 里,由 mdxbuilder 3.0 制作的mdx v2 查 café 和 café 是不同的词条。由 4.0 builder 制作的 mdx v3 则只能通过输入的NFC或NFD字符查到 café (NFD)词条,另一个café(NFC)成了彻彻底底的死词条了,这应该和新的处理变音符号的逻辑有关。在Goldendict-ng里对用户没可感知影响。

tire
<span class="cn_txt">使精疲力竭,使疲劳不堪</span>
</>
café
<span class="cn_txt">café nfd</span>
</>
中文
<span class="cn_txt">中文示例`1`</span>
</>
café
<span class="cn_txt">café nfc</span>
</>
2 Likes

分析 MDX 没用了,赶紧来写个新格式。