.dic 行格式定义



我目前正在研究在我正在构建的应用程序中使用的最合适的字典。

检查与Sublime Text 2捆绑在一起的词典,文件格式如您所期望的那样 - 按字母顺序排列的单词列表。但是,其中许多单词都附加了其他信息。以这个片段为例:

abaft
abbreviation/M
abdicate/DNGSn
Abelard/M
abider/M
Abidjan
ablaze
abloom
aboveground
abrader/M
Abram/M
abreaction/MS
abrogator/MS
abscond/DRSG
absinthe/MS
absoluteness/S
absorbency/SM
abstract/ShTVDPiGY
absurdness/S

谷歌搜索毫无结果,并没有说明斜杠(/)后面的字母是什么意思。

也许他们暗示了这个词的性别,但这只是一个猜测,我更愿意阅读对他们含义的正式解释。

有人遇到过这些吗?

杠后面的字母称为词缀。 这些编码可以是可应用于根词的前缀或后缀。

请参阅此博客文章,了解这些词缀可用于哪些用途的良好解释和示例。

另一个要看的地方是aspell手册。

TLDR .dic文件中斜杠后面的每个字母都是.aff文件中规则的名称。

https://superuser.com/a/633869/367530

每个规则都位于该语言的 .aff 文件中。规则分为两部分 风格:SFX 表示后缀,PFX 表示前缀。每行开头为 PFX/SFX,然后是规则字母标识符(紧随其后的标识符) 字典文件中的单词:

PFX [rule_letter_identifier] [combineable_flag] [number_of_rule_lines_that_follow]

您通常可以忽略可组合标志,它是 Y 或 N,具体取决于 是否可以与其他规则结合使用。然后有一些 列出不同可能性的行数(由 表示) 了解此规则在不同情况下的适用情况。它看起来像这样:

PFX [rule_letter_identifier] [number_of_letters_to_delete] [what_to_add] [when_to_add_it]

例如:

  • SFX B Y 3
  • SFX B 0 able [^aeiou]
  • SFX B 0 able ee
  • SFX B e able [^aeiou]e

如果B是单词后面的字母之一,即 someword/B,那么这是其中之一 可以适用的规则。有三种可能发生的情况 (因为有三行)。只有一个将适用:

  • 当单词的结尾不是字母aeiou的集合(用[ ]表示)中的一个字母(由^表示)时,able被添加到末尾。例如,问题→有问题的
  • 当单词的结尾ee时,可以将添加到末尾。例如,同意→同意。
  • 当单词的末尾不是元音([^aeiou])后跟e时,able被添加到末尾。字母e被剥离(之前 able 的列)。例如,激发→可兴奋。

PFX 规则相同,但改为在单词开头应用。 对于前缀。

最新更新