mirror of
https://github.com/storytold/craft-libs.git
synced 2026-11-09 03:51:47 +00:00
- OCONV (output conversion, as Hunspell 1.7 applies it): read from the .aff and the compact format, applied to suggestions as they are shown (`AffixDict::output`); what is correct doesn't change. The French (Grammalecte) dictionary writes `’` for the `'` its stems use. - ICONV and OCONV tables hold at most 65,536 pairs of at most 64 bytes a side (the Korean tables hold 11,172); more is an error. Each table is indexed by the first character of its `from` texts, so converting a word looks at the few pairs that can start at each character instead of scanning the whole table per character (review of storytold/wordcraft#5000). - Input longer than MAX_INPUT_BYTES (4 × MAX_WORD_BYTES) is no word and is no longer converted before the length check rejects it (review of storytold/wordcraft#5000); input made long by IGNORE characters within that bound still checks. - Longest match wins, and of equal ones the later pair, as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FypgCX8LsYYE8fsj4byBm2