# RTL Text Rendering Integration

This document defines RTL text rendering integration for
`TODOS.phase-72.72.11.2.4`. The validation covers Arabic and Hebrew rendering
requirements that are distinct from full UI mirroring.

The tracked contract is
`V2/ue/Content/Localization/V2/RTLTextRenderingIntegration_V2_Contract.json`.
Rendering rules live in
`V2/ue/Content/Localization/V2/RTL/RTLTextRenderingRules_V2.json`, and the
deterministic generated report lives in
`V2/ue/Content/Localization/V2/RTL/RTLTextRenderingReport_V2.json`.

## Rendering Scope

RTL text rendering requires the localized text stack to:

- Resolve Arabic and Hebrew runs with ICU bidirectional processing before visual
  composition.
- Shape Arabic joining forms and Hebrew combining marks through the complex text
  shaper before glyph placement.
- Mirror paired punctuation such as parentheses, brackets, braces, and angle
  brackets in RTL-resolved runs.
- Preserve embedded Latin product names, platform tags, build labels, and
  numbers as isolated mixed LTR/RTL runs.
- Keep text rendering validation separate from full UI layout mirroring, which
  is tracked by the next phase-72 item.

## Validation

`V2/ue/Tools/generate-v2-rtl-text-rendering.py` reads the launch string table
and the explicit RTL rendering samples, then emits a report with per-locale
coverage for glyph shaping, mirrored punctuation, and mixed LTR/RTL content.

`V2/ue/Tools/check-v2-rtl-text-rendering.py` validates the contract, rules,
generated report, Unreal UI typography hooks, docs, GitHub workflow wiring, and
Horde required gates. The checker also runs a negative case that disables
mirrored punctuation coverage and verifies that the generator fails the broken
configuration.
