fix(pptx): apply paragraph-end font to the final physical line - #1585
Merged
Conversation
Signed-off-by: Yonghye Kwon <developer.0hye@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Seat automatically wrapped PowerPoint paragraphs using the paragraph-end font
only on the final physical line. The startup fixture's first text line and
bullet move from 142pt to 143pt (native: 143.04pt), while its final line keeps
the mark's font seat. Typst retains responsibility for shaping, wrapping and
layout height; completed-frame adjustments keep links and underlines with
their text. Centered and bottom-anchored stories use their local origin.
Native one-factor width and mark-font probes isolate the cause: changing only
the width makes the first baseline 143.04pt when wrapped or 142.08pt when
unwrapped; changing only the end-mark face moves the final wrapped line.
Explicit hard breaks retain their existing line-stack path. Scripted runs
retain their existing behavior until logical lines can be distinguished from
superscript/subscript baselines.
Related issue
Related: #1177. Remaining independent defects: #1581, #1582, #1583, #1584.
Testing
cargo test --locked --workspace --no-fail-fast: passed (3484 tests; 15 ignored).cargo clippy --locked --workspace --all-targets -- -D warnings: passed.cargo fmt --all -- --checkandgit diff --check: passed.all three wrapped list markers, and link/underline positions. An embedded-font
regression checks the same behavior without depending on installed Office fonts.
Searchable text matches (1,608 normalized codepoints; identical codepoint census).
Visual impact
Visual audit
tests/golden_mocks/business/sources/pptx/:01_startup_pitch_en.pptx,03_product_launch_en.pptx,08_marketing_report_en.pptx,09_lecture_ko.pptx; concatenated in that order. Full mapping and hashes:assets/bugfixes/issue-1177/README.md.fixassets/bugfixes/issue-1177/layout-audit.jsonassets/bugfixes/issue-1177/render-clusters-page-1.json,assets/bugfixes/issue-1177/render-clusters-page-2.json,assets/bugfixes/issue-1177/render-clusters-page-3.json,assets/bugfixes/issue-1177/render-clusters-page-4.json,assets/bugfixes/issue-1177/render-clusters-page-5.json,assets/bugfixes/issue-1177/render-clusters-page-6.json,assets/bugfixes/issue-1177/render-clusters-page-7.json,assets/bugfixes/issue-1177/render-clusters-page-8.json,assets/bugfixes/issue-1177/render-clusters-page-9.json,assets/bugfixes/issue-1177/render-clusters-page-10.json,assets/bugfixes/issue-1177/render-clusters-page-11.jsonassets/bugfixes/issue-1177/gt.jpgassets/bugfixes/issue-1177/before.jpgassets/bugfixes/issue-1177/after.jpgVisual comparison
Each image contains the eleven full pages in collection order.
Required inspection
Deviation audit
Checklist
Signed-off-byline