v0.8.0
What's Changed
- svg: clip to viewport under preserveAspectRatio slice by @carlos7ags in #211
- html: add Options.BaseFS and Options.Client (#85) by @carlos7ags in #212
- document: extend PDF/A to A-3a and the PDF/A-4 family by @carlos7ags in #214
- font: GPOS LookupType 6 (Mark-to-Mark Positioning) by @carlos7ags in #213
- html: add CSS :empty and ::placeholder support by @carlos7ags in #215
- layout: apply Unicode NFC normalization at the layout entry point by @carlos7ags in #217
- layout: generalize Indic shaper to eight additional Brahmic scripts by @carlos7ags in #216
- font: add GPOS LookupType 3 (cursive) and LookupType 5 (mark-to-ligature) by @carlos7ags in #218
- font: fix GPOS cursive horizontal placement and tighten Type 5 by @carlos7ags in #220
- html: unify on Options.BaseFS, add Logger, fix @font-face resolution by @carlos7ags in #219
- layout: resolve CSS counter(page)/counter(pages) in body flow by @carlos7ags in #221
- html: emit real PDF link annotations for href="#anchor" with auto-registered destinations by @carlos7ags in #223
- layout: finish CSS GCPM bookmark properties for PDF outlines by @carlos7ags in #224
- font: add Fallback for cross-script font dispatch (Phase 1 of #192) by @carlos7ags in #225
- html: add Options.StrictAssets to promote asset-load failures to errors by @carlos7ags in #234
- html, layout: fix flex shorthand with calc/min/max basis by @carlos7ags in #236
- font: load TrueType Collections via face-0 extraction by @carlos7ags in #235
- layout: add MeasureLines and MeasureHeight to Paragraph by @carlos7ags in #238
- html: fix margin/padding shorthand with calc/min/max values by @carlos7ags in #237
- html: fix font shorthand with calc/min/max in size by @carlos7ags in #240
- html: centralize asset resolution behind one resolveLocalAsset by @carlos7ags in #239
- layout: preserve inline elements and Arabic OriginalText across page splits by @carlos7ags in #241
- html: fix border shorthand with calc width and rgb/rgba/hsl color by @carlos7ags in #242
- font: drop falsely-advertised PostScript Type 1 (typ1) magic by @carlos7ags in #243
- html: fix background-size with calc/min/max values by @carlos7ags in #244
- examples/cjk: add end-to-end test (Phase 1 of #231) by @carlos7ags in #245
- html: fix @page size with calc/min/max values by @carlos7ags in #247
- layout: honor SpaceAfter=0 when reconstructing paragraph runs across page splits by @carlos7ags in #246
- html: fix gap/grid-gap shorthand with calc/min/max values by @carlos7ags in #249
- layout: lock in cloneWithWords hyphenation contract with a guard test by @carlos7ags in #250
- html: fix border-radius shorthand with calc/min/max values by @carlos7ags in #252
- layout: add SplitAfterLine to Paragraph by @carlos7ags in #253
- html: fix box-shadow with calc/min/max length values by @carlos7ags in #254
- html: fix transform-origin with calc/min/max length values by @carlos7ags in #257
- html: fix border-spacing shorthand with calc/min/max values by @carlos7ags in #258
- html: fix columns shorthand with calc/min/max width values by @carlos7ags in #259
- html: fix column-rule with calc width and rgb/rgba/hsl color by @carlos7ags in #261
- html: fix margin auto-flag detector with calc/min/max values by @carlos7ags in #263
- font: drop sfnt dependency by parsing tables directly (#260) by @carlos7ags in #262
- html: paren-aware slash detector + column-rule none/hidden zeros width by @carlos7ags in #270
- html: refactor CSS parser into declarative property registry by @carlos7ags in #271
- html: paren-aware parseTransform extractor + comma-preserving arg split by @carlos7ags in #272
- docs: expand CSS_SUPPORT.md with glossary, alignment notes, workarounds by @carlos7ags in #273
- font, examples/cjk: language-aware TTC face selection by @carlos7ags in #277
- font: address review feedback on language-aware TTC PR (#277 follow-up) by @carlos7ags in #279
- docs: add Selectors / At-rules / Functions sections to CSS_SUPPORT.md (closes #162) by @carlos7ags in #282
- export: add C ABI wrappers for paragraph measure/split + language-aware font parse by @carlos7ags in #283
- html: parseAngle/parseNumericVal/parseLineHeight understand calc/min/max/clamp (closes #274, #275) by @carlos7ags in #284
- html: promote font-weight to numeric ladder + nearest-weight @font-face matching (closes #286) by @carlos7ags in #287
- html: add CSS text-align: start | end with direction-relative late binding by @carlos7ags in #288
- html, layout: add CSS text-decoration-line: overline by @carlos7ags in #289
- html: render CSS border styles groove / ridge / inset / outset by @carlos7ags in #290
- html, layout:
honours max-width / max-height / min-width / min-height (closes #291) by @carlos7ags in #292
- pin paragraph background to line box under center/right align by @samueldominguez in #293
- layout: honor word-break:break-all in measureWords second pass by @samueldominguez in #294
- build(deps): bump golang.org/x/text from 0.36.0 to 0.37.0 by @dependabot[bot] in #298
- build(deps): bump golang.org/x/image from 0.39.0 to 0.40.0 by @dependabot[bot] in #297
- font: CFF subsetting for CID-keyed CJK fonts (closes #295) by @carlos7ags in #300
- examples/html-to-pdf: add CI (#231) by @carlos7ags in #301
- examples/report: add CI (#231) by @carlos7ags in #302
- examples: add CI for hello, links, template (#231) by @carlos7ags in #303
- examples: add CI for merge, import-page, redact (#231) by @carlos7ags in #304
- font, integration: synthetic CJK font fixture (closes #281) by @carlos7ags in #305
- build(deps): bump golang.org/x/net from 0.53.0 to 0.54.0 by @dependabot[bot] in #296
- html: direct unit test for parseLineHeight (closes #275) by @carlos7ags in #306
- layout: preserve OriginalText + GIDs across breakLongWords chunks (closes #255) by @carlos7ags in #307
- html: propagate to @font-face face selection (closes #280) by @carlos7ags in #308
- html: Phase 1 of #269 — sibling *cssLength fields for margin/padding by @carlos7ags in #309
- html: Phase 2 of #269 — migrate consumers to MarginTopAt / PaddingTopAt helpers by @carlos7ags in #310
- html: Phase 4 of #269 - remove legacy float64 margin/padding fields by @carlos7ags in #311
- html: recognize calc()/min()/max()/clamp() in gradient stops and bg-position (closes #265, #266) by @carlos7ags in #312
- all: standardize error message prefixes by @carlos7ags in #313
- html: close review findings on #312 — doc gap + 10 tests by @carlos7ags in #314
- html: reset depth between calc operator scan passes by @carlos7ags in #315
- html, layout: lazy-resolve background-position at draw time (closes #266) by @carlos7ags in #319
- build(deps): bump golang.org/x/image from 0.40.0 to 0.41.0 by @dependabot[bot] in #317
- build(deps): bump golang.org/x/net from 0.54.0 to 0.55.0 by @dependabot[bot] in #316
- docs: prepare CHANGELOG and MIGRATING for v0.8.0 by @carlos7ags in #285
New Contributors
- @samueldominguez made their first contribution in #293
Full Changelog: v0.7.1...v0.8.0