Skip to content

feature: add hebrew, arabic, hungarian text#141

Merged
DemchaAV merged 3 commits into
DemchaAV:developfrom
jottinger:140-verify-rtl-text
Jun 8, 2026
Merged

feature: add hebrew, arabic, hungarian text#141
DemchaAV merged 3 commits into
DemchaAV:developfrom
jottinger:140-verify-rtl-text

Conversation

@jottinger

@jottinger jottinger commented Jun 8, 2026

Copy link
Copy Markdown
Contributor
  • This is a proof of a feature, not a change. It validates that GraphCompose can render Hebrew, Arabic, and Hungarian texts properly in a PDF by adding tests.

Part of #140

Summary

Type of change

  • Bug fix (no public API change)
  • New feature / public API addition
  • Documentation only
  • CI / build / tooling
  • Refactor (no behavioural change)

Checklist

  • PR targets develop (the integration branch); not main.
  • Branch name follows <type>/<short-description> (e.g. feature/canvas-clip, fix/table-overflow, docs/recipe-themes); issue-prefixed names like 42/fix/short-description are also fine.
  • ./mvnw -B -ntp clean verify passes locally.
  • Java 17 compatible — no List.getFirst() / getLast(), no Thread.threadId(), no switch type / deconstruction patterns, no case null, default ->. CI matrices Temurin 17 / 21 / 25 and will catch JDK regressions.
  • Public API change (if any): CHANGELOG.md entry added under the next ## v<X.Y.Z> — Planned heading.
  • README touched (if any): DocumentationCoverageTest.readmeShouldUseCanonicalDslAndAvoidLegacyApis still passes — canonical fingerprints (GraphCompose.document(, DocumentSession, document.pageFlow(, BusinessTheme) preserved, no legacy tokens (GraphCompose.pdf(, PdfComposer, CvTemplateV1, …).
  • Examples touched (if any): runnable via ./mvnw -f examples/pom.xml exec:java -Dexec.mainClass=…; if a new example, also added to GenerateAllExamples and the gallery row count in examples/README.md.

Linked issue

Part of #140

* This is a proof of a feature, not a change. It validates that GraphCompose can render
Hebrew, Arabic, and Hungarian texts properly in a PDF by adding tests.

Closes DemchaAV#140
@jottinger jottinger requested a review from DemchaAV as a code owner June 8, 2026 11:43
@DemchaAV DemchaAV changed the base branch from main to develop June 8, 2026 13:01
@DemchaAV

DemchaAV commented Jun 8, 2026

Copy link
Copy Markdown
Owner

Hello Joseph, thanks for this PR — the rendered output is a useful baseline validation.

I don't personally read Arabic or Hebrew, so I can't fully verify the semantic correctness of text order and shaping from the PDF alone.

From the current render:

  • Hungarian accented text renders correctly
  • Hebrew/Arabic glyphs are present

One caveat: the engine currently has no BiDi reordering or Arabic shaping (text is drawn in logical order), so anything that looks "connected/shaped" shouldn't be read as real shaping yet — I'd treat this as glyph coverage, not correct RTL.

So I'd like to land this as baseline Unicode / multilingual rendering coverage, not complete Arabic/Hebrew support.

Full Arabic/Hebrew support is tracked in #140 (I'm keeping it open), to be done with:

  • RTL paragraph direction
  • BiDi mixed text (Arabic/Hebrew + English + numbers)
  • Arabic shaping / contextual forms
  • line wrapping
  • punctuation
  • right alignment

Housekeeping I did on the PR so you're aware: retargeted the base from main to develop, changed Closes #140Part of #140 (so the merge keeps the tracking issue open), and pushed a small commit making the multiscript-font lookup cross-platform (added Windows font paths so the test runs on Windows/macOS/Linux instead of skipping).

Happy to merge this as an important first step. Thanks again!

@DemchaAV DemchaAV merged commit f312b2e into DemchaAV:develop Jun 8, 2026
11 checks passed
DemchaAV added a commit that referenced this pull request Jun 8, 2026
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.

2 participants