Skip to content

docs(text): correct what the RTL notes say about table cells and lists - #680

Merged
DemchaAV merged 2 commits into
developfrom
docs/rtl-direction-consistency
Sep 11, 2026
Merged

docs(text): correct what the RTL notes say about table cells and lists#680
DemchaAV merged 2 commits into
developfrom
docs/rtl-direction-consistency

Conversation

@DemchaAV

Copy link
Copy Markdown
Owner

Why

Four statements about right-to-left text no longer match the code.

  • Three still say a table cell has no writing direction, which stopped being true when feat(api): let a table cell say which way its text runs #558 gave DocumentTableStyle a direction(...) of its own: the Hebrew invoice row and section in examples/README.md, and the PdfRenderEnvironment.markReorderedText Javadoc, which adds that a table cell is never reordered, although the table-cell path marks reordered text the way the paragraph and chip paths do.
  • The Arabic article section says a list declares align(RIGHT) or its bullets land on the wrong side. align(RIGHT) moves each item to the right margin, but an item is still a left-to-right paragraph with the bullet as its text prefix, so the bullet stays at the item's left end.

The recipe catalogue row for text direction also named paragraphs only.

What changed

  • examples/README.md: the Hebrew invoice row drops the stale reason, and the section says the line items are rows and that a table cell takes a writing direction through DocumentTableStyle.direction(...), which is what HebrewInvoiceExample's own Javadoc already says. The Arabic article section says what align(RIGHT) moves and what it leaves.
  • docs/recipes.md: the text-direction row names table cells as well as paragraphs.
  • PdfRenderEnvironment.markReorderedText Javadoc: set from the paragraph, chip and table-cell paths (PdfParagraphFragmentRenderHandler, PdfTableRowFragmentRenderHandler). Comment only.

Verification

  • Documentation guards: core com.demcha.documentation.* plus EnginePdfBoundaryTest (links and anchors, recipe catalogue, canonical surface, coverage) 115 green; qa DocumentationSnippetCompileTest + DocumentationExamplesTest 18 green.
  • RtlTableCellTest 8 green; javadoc:javadoc on graph-compose-render-pdf clean (0 warnings, 0 errors).
  • Examples module (./mvnw -f examples/pom.xml test) 75 green.
  • node knowledge/tools/claims/check-claims.mjs --check and node knowledge/tools/routing/check-routes.mjs green; git diff --check clean.

Notes

Lane: canonical — documentation and one Javadoc comment; no code.

DemchaAV and others added 2 commits September 11, 2026 14:37
Three places still described a table cell as having no writing direction,
which stopped being true when #558 gave DocumentTableStyle a direction of
its own: the examples README twice, in the Hebrew invoice row and its
section, and the PdfRenderEnvironment Javadoc, which also said a table cell
is never reordered although the table-cell path marks reordered text the
way the paragraph and chip paths do. The recipe catalogue row for text
direction named paragraphs only.

The Arabic article section also said a list declares align(RIGHT) or its
bullets land on the wrong side. align(RIGHT) moves each item to the right
margin, but an item is still a left-to-right paragraph with the bullet as
its text prefix, so the bullet stays at the item's left end.

- examples/README.md: the Hebrew invoice row and section stop giving a
  missing cell direction as the reason for rows, and the section says a
  table cell takes one through DocumentTableStyle.direction(...); the
  Arabic article section says what align(RIGHT) moves and what it leaves.
- docs/recipes.md: the text-direction row names table cells too.
- PdfRenderEnvironment.markReorderedText: set from the paragraph, chip
  and table-cell paths.
@DemchaAV
DemchaAV merged commit 1739692 into develop Sep 11, 2026
12 checks passed
@DemchaAV
DemchaAV deleted the docs/rtl-direction-consistency branch September 11, 2026 13:55
DemchaAV added a commit that referenced this pull request Sep 12, 2026
Brings the 2.4.0 engine work onto the promotion branch: native letter
spacing (#676), opt-in list hanging indent (#674), the resolved timeline
rail (#671-#673), the row-child margin fix, the RTL documentation
corrections (#679, #680) and the templates japicmp gate (#681).

Eight files conflicted. CHANGELOG.md is a union of both v2.4.0 sections,
with the branch-local "### Deprecated" folded into the house heading
"### Deprecations" and the sections ordered the way released entries are.
The other seven are generated and were regenerated from the merged source
rather than resolved by side: knowledge/api/templates.json and .md through
extract-api --from-reactor, and the five cv preview PDFs by re-rendering
their example classes.

Five qa baselines moved, all from f75def6, which stops a row child's
horizontal margin being taken off twice. Each of the four layout snapshots
changes by exactly one node's own horizontal margin - HeadingRule_EXPERIENCE
+9.0, EducationHeadingRule +11.285, FooterDueIcon -3.479 (a negative margin)
and FooterSite +1.693 (a right margin) - with startPage and endPage
unchanged, so no page ownership moved. cobalt_rota keeps its geometry
snapshot and moves only in pixels, inside composed table cells, which emit
fragments rather than PlacedNodes and so cannot appear in a layout snapshot;
the changed region is the day-header and note cells. One of 126 pixel
baselines changed, verified by checksum before and after.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant