You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-`HeuristicSyllableCounter::hasWord()`- per-word lookup in problemWords
10
10
- 39 new tests: `HeuristicSyllableCounterTest` (25), `CompositeSyllableCounterTest` (9), `LanguageTest` (+5)
11
11
12
12
### Changed
13
13
-**Heuristic now complements TeX, not replaces it**: `composite` mode uses heuristic only for explicit problemWords, falling through to TeX for everything else
14
-
-`hasRules()` now checks only `problemWords` (not subtract/addPatterns) — allows TeX fallthrough for non-problem words
14
+
-`hasRules()` now checks only `problemWords` (not subtract/addPatterns) - allows TeX fallthrough for non-problem words
15
15
-`CompositeSyllableCounter` fallback: `return 1` → delegates to last counter in chain
16
16
17
17
### Fixed
18
-
-**Non-ASCII support**: `[^a-z]` → `[^\p{L}]/u`, all `preg_*` calls now use `/u` flag — Cyrillic, German umlauts, accented characters correctly preserved
18
+
-**Non-ASCII support**: `[^a-z]` → `[^\p{L}]/u`, all `preg_*` calls now use `/u` flag - Cyrillic, German umlauts, accented characters correctly preserved
19
19
-`WienerSachtextformel`: invalid variant numbers (0, 5+) now throw `\InvalidArgumentException` instead of silently computing variant 4
20
20
-`SzigrisztPazos`: redundant `*100/100` eliminated, display value preserved in inputs
21
21
22
22
### Removed
23
-
-`FormulaResult::gradeLabel`— dead field, always `null` across 16 of 17 formulas (Lix duplicated `interpretation`)
24
-
-`Engine::$languageRepository`— unused property (kept as local variable in constructor)
25
-
-`Pattern::toString()`— dead production code
23
+
-`FormulaResult::gradeLabel`- dead field, always `null` across 16 of 17 formulas (Lix duplicated `interpretation`)
24
+
-`Engine::$languageRepository`- unused property (kept as local variable in constructor)
25
+
-`Pattern::toString()`- dead production code
26
26
-`wordsWithNSyllables()` → renamed to `wordsWithMoreThanNSyllables()` (name now matches behaviour: `> N`)
0 commit comments