All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Skip hyphenation for text inside
<code>elements
- Use
fontVariantCapsfor Canvas-compatible font string synthesis
- Skip leading glue and penalties when computing line content start, removing dependency on TeX's Restriction 2
- Replace per-node running sums with prefix-sum
lineMetricsinbreakLines - Introduce
PARAGRAPH_STARTsentinel for initial active node - Use suffix-minimum floor for smarter overfull-line pruning, with fallback-node guard for negative widths
- Fix HTML justification to skip leading whitespace and correctly compute DOM ranges
- Remove
adjustmentRatioPenaltyoption - Simplify suffix-minimum breakpoint floor prepass
- Inline best-by-state selection into the feasibility loop
- Add
adjustmentRatioPenaltyoption for custom looseness penalties
- Use suffix-minimum floor for smarter overfull-line pruning
- Rename package from
tex-linebreaktoknuth-plass-linebreak - Migrate build and test tooling from webpack/karma to vite/vitest
- Exclude penalty width from
widthToNextBoxscan - Return adjustment ratio 0 for exact-fit lines with rigid glue
- Require terminal forced break in
breakLines - Preserve fitness class nodes during line breaking
- Limit an optimization to only apply when no items have negative widths, shrink or stretch - robertknight#105
- Support negative widths and stretchability/shrinkability (thanks @basil) - robertknight#103
- Add built-in type declarations (thanks @w8r) - robertknight#74
The package's code has been converted to ES 2017+. As such it no longer supports IE 11 or other pre-2017 browsers.