mirror of
https://github.com/storytold/designcraft.git
synced 2026-11-01 22:26:49 -06:00
Lines with right-to-left text are wrapped in a marked span whose ActualText is the line's text in reading order, so viewers that order text by position (Preview, PDFKit) no longer return it reversed. A base letter and its marks (Hebrew points) map glyph by glyph when each glyph stands for one of the cluster's characters, and are drawn in text order, so ToUnicode-only extraction reads each letter once with its points after it. Marks stay in their run, placed by glyph offsets (compensated for skew), instead of starting runs of their own. Kashidas inserted by justification carry no text. Fixes #392.