#include <bidi.hpp>
Static Public Member Functions | |
| static BidiParagraph | analyze (std::string_view text, BidiBaseDirection base_direction=BidiBaseDirection::Auto) |
| Analyze one paragraph of UTF-8 text. | |
| static std::vector< BidiRun > | visual_order (const std::vector< BidiRun > &runs) |
| Re-order runs (in logical order, as returned by analyze) into visual / paint order via UBA rules L1-L2. | |
| static bool | has_sheenbidi () noexcept |
| True when the build links SheenBidi. | |
|
static |
Analyze one paragraph of UTF-8 text.
base_direction selects the paragraph level (Auto = UBA rule P2). Always returns a non-empty runs vector when text is non-empty.
|
staticnoexcept |
True when the build links SheenBidi.
Tests that need the real engine (vs the pass-through stub) gate themselves on this.
|
static |
Re-order runs (in logical order, as returned by analyze) into visual / paint order via UBA rules L1-L2.
The implementation is a simplified L2 reverse-on-odd-level pass — sufficient for single-line label paint. TextEditor's multi-line wrap path stays on the SkShaper / ICU iterator route in text_run_planner.cpp.