diff --git a/ATTRIBUTION.md b/ATTRIBUTION.md index 7942228d6..66dcdfa4b 100644 --- a/ATTRIBUTION.md +++ b/ATTRIBUTION.md @@ -10,7 +10,7 @@ Generated-in-code art is original and has no file to list: the UI icon set (`cra |---|---|---|---|---| | `assets/hyphenation/en-us.pat` | DesignCraft contributors (generated) | trained from the Moby list by DesignCraft's patgen | Public Domain (CC0-1.0) | Our own Liang hyphenation patterns (no TeX patterns) | | `assets/hyphenation/en-us.dic` | Grady Ward (Moby Hyphenator II word list); converted by DesignCraft contributors | https://www.gutenberg.org/ebooks/3204 (file `mhyph.txt`, SHA-256 `eeb30474c86b8af3469035ec1a0913e35905325ca885290db9dfed9881e230ac`), via DesignCraft | Public Domain | ~165k words with break points; drives spelling and hyphenation | -| `assets/spelling/en-extra.txt` | WordCraft contributors | original word list written for this repository (common modern words the Moby list lacks); no other dictionary copied | MIT OR Apache-2.0 | ~220 lowercase English base forms supplementing spelling (#520) | +| `assets/spelling/en-extra.txt` | WordCraft contributors | original word list written for this repository (common modern words the Moby list lacks); no other dictionary copied | MIT OR Apache-2.0 | ~240 lowercase English base forms supplementing spelling (#520), including British spellings (#40) | | `assets/hyphenation/pl.pat` | Hanna Kołodziejska, Bogusław Jackowski, Marek Ryćko (Polish TeX hyphenation patterns, 1987–1995); hyph-utf8 package | https://github.com/hyphenation/tex-hyphen (`hyph-utf8/tex/generic/hyph-utf8/patterns/tex/hyph-pl.tex`, SHA-256 `83ddbbd21bc06a44bc4f4a4c49c38782e809cff5f026b764c044daa29e818843`), bundled unmodified | MIT (the file is offered under MIT or Knuth's public-domain terms; WordCraft uses MIT, whose notice is in the file's header) | 4,053 Liang patterns and 20 exception words; Polish hyphenation | | `assets/hyphenation/pt.pat` | Pedro J. de Rezende, J. Joao Dias Almeida, Leonardo Araujo, Aline Benevides (Portuguese TeX hyphenation patterns, 1987–2024); hyph-utf8 package | https://github.com/hyphenation/tex-hyphen (`hyph-utf8/tex/generic/hyph-utf8/patterns/tex/hyph-pt.tex`, SHA-256 `c110a39e501db372d1d755e1c64464321a2efa7d8e9617f66001000389b941f2`), bundled unmodified | BSD 3-clause (the file's licence header names it and carries the notice) | 426 Liang patterns and 2 exception words; Portuguese hyphenation | | `assets/hyphenation/it.pat` | Claudio Beccari (Italian TeX hyphenation patterns, 2008–2014); hyph-utf8 package | https://github.com/hyphenation/tex-hyphen (`hyph-utf8/tex/generic/hyph-utf8/patterns/tex/hyph-it.tex`, SHA-256 `6ce56ed6ed2ca7c0688838e366e6595e0429f984f4fc6e96ec045cebb1e76a47`), bundled unmodified | MIT (the file is offered under LPPL 1.3+ or MIT; WordCraft uses MIT, whose notice is in the file's header) | 355 Liang patterns, no exception words; Italian hyphenation | diff --git a/assets/spelling/en-extra.txt b/assets/spelling/en-extra.txt index 41567c7d7..7d04908e3 100644 --- a/assets/spelling/en-extra.txt +++ b/assets/spelling/en-extra.txt @@ -26,7 +26,12 @@ chatroom checkbox checklist childcare +clamour clickable +colourful +colourisation +colourise +colourless configurable copyedit coronavirus @@ -54,6 +59,7 @@ ecommerce email emoji emoticon +endeavour esports facebook favicon @@ -71,6 +77,7 @@ geolocation gigabit gigabyte github +glamour globalization google groupthink @@ -80,6 +87,9 @@ hashtag healthcare homepage homeschool +honour +honourable +honourably hotspot hyperlink hypertext @@ -106,6 +116,7 @@ logout lowercase makeover malware +manoeuvrable megabyte megapixel meme @@ -127,6 +138,7 @@ onboard online onscreen outsource +paediatric paralegal passcode petabyte @@ -139,10 +151,13 @@ podcast popup prequel printout +prioritise prioritization prioritize +privatise ransomware recyclable +rigour ringtone roadmap rollout @@ -171,6 +186,7 @@ subfolder sunscreen superfood superuser +synthesise tagline takeout techie @@ -188,6 +204,7 @@ touchpad touchscreen trackball trackpad +travelogue upcycle upload uppercase diff --git a/crates/proof/src/lib.rs b/crates/proof/src/lib.rs index 671a0e803..6b34a4a5d 100644 --- a/crates/proof/src/lib.rs +++ b/crates/proof/src/lib.rs @@ -812,6 +812,43 @@ mod tests { } /// The supplement stays a sorted list of lowercase base forms. + /// #40: British spellings and their inflections are not flagged. + #[test] + fn british_spellings_are_known() { + for w in [ + "judgement", + "defence", + "licence", + "programme", + "catalogue", + "behaviour", + "colour", + "colourful", + "colourless", + "honour", + "honoured", + "honouring", + "honours", + "honourable", + "rigour", + "glamour", + "clamour", + "endeavour", + "paediatric", + "prioritise", + "prioritised", + "prioritising", + "privatise", + "privatised", + "synthesise", + "travelogue", + "manoeuvrable", + ] { + assert!(is_correct(w), "{w}"); + } + assert!(check_spelling("The programme honoured her rigour and prioritised colourful, paediatric care.").is_empty()); + } + #[test] fn supplement_is_sorted_lowercase() { let words: Vec<&str> = EXTRA_EN.lines().filter(|l| !l.is_empty() && !l.starts_with('#')).collect();