mirror of
https://github.com/storytold/wordcraft.git
synced 2026-10-30 13:27:27 -06:00
Maintainer review on #3562: spelling looks words up composed (NFC), but add_word, remove_word, ignore_word, custom_word (so loading the dictionary file) and save_user_dictionary's removed list kept the raw lower-cased spelling. A word added or ignored decomposed (`zqprue\u{301}ba`) therefore stayed flagged. - dictionary_key(): lower case, then composed; every write uses it, and in_user_dictionary() looks up composed, so either form adds, ignores, removes and finds the same entry; NFD entries in an existing file load and save composed - English's known_core() reuses in_user_dictionary() instead of a copy of it - issue byte ranges still cover the text as typed - regressions: proof (add, Ignore All, remove, save/load with an NFD entry, both forms rechecked) and engine (review.addToDictionary and review.ignoreAll with the issue's NFD text)