fix(docx): carry table style borders through the conditional resolver#317
Merged
Conversation
Table styles' base w:tblBorders and per-region w:tcBorders were dropped — the conditional resolver carried only background, text color, and bold, so styles drawing white grids over dark fills lost their borders. Parse both border sets per region, resolve each cell's edges from the base grid (outer edges on boundary cells, insideH/V on interior edges), and let an active special region's explicit sides override the matching edges of its own cells — a firstRow bottom border lands on the header row's bottom edge even though that edge is interior to the table. Explicit cell tcBorders still win. Related: #289 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> 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
w:tblBordersand per-regionw:tcBorders(insidew:tblStylePr) were dropped — the conditional resolver carried only background/text color/bold, so styles drawing white grids over dark fills lost their borders (removing fallback gridlines in XLSX: match Excel print metrics for columns, margins, gridlines #277 could not fix this)tcBordersstill win over the styleTest plan
--checkclean; clippy-D warningscleanVisual verification (public oxp_complex_table fixture, 150 DPI)
The white grid now separates the black/gray banded cells like Word.
After-image re-audit
The remaining serif body font on this fixture is the theme-font default resolution — fixed separately in #316 (merged after this branch's render; the fixes compose on main).
Related: #289
🤖 Generated with Claude Code