ekp/tests
Kinneyzhang 57a3abe853 feat: alignment modes — ragged-right, ragged-left, center (C 1.3)
ekp-alignment selects the paragraph alignment. Non-justify modes keep
inter-word glue rigid (arrays and class params zeroed at para build)
while the DP gains a per-line flexibility ekp-ragged-stretch-pixel
(default ≈2 em): badness = 100·(shortfall/R)³, so Knuth-Plass still
globally minimizes raggedness — this is \raggedright with a finite
\rightskip stretch, not first-fit.

Rendering distributes each line's leftover by mode: trailing
(ragged-right), split evenly (center), leading (ragged-left); the
spacers are ekp-glue-marked, so buffer roundtrips stay exact.

C module 1.3: set-penalties gains an extra-stretch scalar (reset when
omitted); max_w widens by it, so the prefix-based flexibility picks it
up automatically. Cache keys include alignment and R.

Tests: 56 ERT green incl. per-mode invariants (fit, rigid interior
glue, flush edges, centered leftover ±1px) and four-mode C parity;
fuzz 300/300.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 21:22:19 +08:00
..
ekp-bench.el refactor!: overhaul KP core — correctness, C parity, performance, tests, docs 2026-07-26 18:44:02 +08:00
ekp-demo.el refactor!: overhaul KP core — correctness, C parity, performance, tests, docs 2026-07-26 18:44:02 +08:00
ekp-fuzz.el refactor!: overhaul KP core — correctness, C parity, performance, tests, docs 2026-07-26 18:44:02 +08:00
ekp-region-tests.el feat: buffer-level justification — region commands and auto-justify mode 2026-07-26 20:23:03 +08:00
ekp-tests.el feat: alignment modes — ragged-right, ragged-left, center (C 1.3) 2026-07-26 21:22:19 +08:00
run-tests.sh feat: buffer-level justification — region commands and auto-justify mode 2026-07-26 20:23:03 +08:00
text-de_DE.txt update readme 2025-07-27 21:35:44 +08:00
text-en_US.txt update readme 2025-07-27 21:35:44 +08:00
text-fr.txt update readme 2025-07-27 21:35:44 +08:00
text-zh2-en_US.txt fix _ local variable bug 2025-07-28 16:58:30 +08:00
text-zh-en_US.txt fix bug when text is blank string 2025-09-26 00:18:37 +08:00
text-zh.txt add chinese example 2025-07-28 00:33:53 +08:00