GraphCompose v2.2.0 — right to left #574
DemchaAV
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
The banner above is itself a GraphCompose document — rendered by the engine from the same DSL you'd use in your app. Its last page sets a word in each of the five bundled scripts; the Hebrew and Arabic on it were laid out by the code this release is about.
GraphCompose v2.2.0 is on Maven Central. The theme: documents that read right to left.
A paragraph — or a table cell — says which way it runs, and Hebrew and Arabic lay out, shape, join and mirror correctly through PDF, PowerPoint and Word. Nothing else moves: a line with no right-to-left character never enters the algorithm, and the layout snapshots and pixel baselines did not shift.
direction(RTL),LTR, orAUTOonParagraphBuilderand onDocumentTableStyle— the cell form inherits down the cascade a cell style already follows, so one call turns a whole table round.AUTOreads the direction off the first strong character, per cell.w:bidiand the complex-script twins; PowerPoint gets a declared direction per frame. The differences are recorded per capability in the backend capability matrix.A table cell written as a plain string is the case worth calling out: it reached the page through the table's own layout rather than the text pipeline, so the same string that set correctly in a paragraph drew reversed in a cell, with Arabic in isolated letters. That path is fixed, and the scenarios are held by coordinate assertions and pixel baselines across all three formats.
Known limit: Indic reordering is not performed. Devanagari and its relatives render with their code points in logical order.
Install:
Nothing breaks 2.1 — the direction calls are additive, and a document that never names one renders exactly as before. Bundled fonts live in
graph-compose-fonts; addgraph-compose-render-pptxor-render-docxfor the other two backends.Release notes: https://github.com/DemchaAV/GraphCompose/releases/tag/v2.2.0
Maven Central: https://central.sonatype.com/artifact/io.github.demchaav/graph-compose/2.2.0
Showcase: https://demchaav.github.io/GraphCompose/
As always — author intent, not coordinates.
All reactions