| API | Purpose |
ShapePdfText(Text, FontName, FontSize, Direction, out Shaped) | Shapes text with the built-in Windows Uniscribe implementation and default resource limits |
TPdfTextShaper.Shape | Abstract shaping contract for custom engines that return glyph identifiers, clusters, visual runs, advances, and selected font data |
TPdfUniscribeTextShaper.Shape | Uses usp10.dll to itemise, shape, place, and visually reorder text runs |
TPdfTextShapingOptions.Default | Returns automatic direction with limits of 1,000,000 characters, 2,000,000 glyphs, and 100,000 runs |
ConfigureTextShaper(Shaper) | Installs the shaping backend the unit uses, replacing the built-in one for the rest of the process; the unit takes ownership of the instance |
ClearTextShaper | Removes an installed backend and returns to the platform default |
ActiveTextShaper | The backend currently in use, or nil when no shaper is available on this platform |
ActiveTextShaperName | Name the active backend reports, for logging and for telling one deployment from another |
| Type | Description |
EPdfTextShapingError | Exception raised for invalid inputs, resource-limit violations, font-data failures, or shaping-engine errors |
TPdfTextDirection | ptdAuto, ptdLeftToRight, or ptdRightToLeft |
TPdfShapedGlyph | One glyph with GlyphID, Advance, OffsetX, OffsetY, ClusterStart, and ClusterLength |
TPdfShapedGlyphs | Dynamic array of TPdfShapedGlyph records |
TPdfShapedRun | One visual run with TextStart, TextLength, VisualX, Width, BidiLevel, IsRightToLeft, and Glyphs |
TPdfShapedRuns | Dynamic array of TPdfShapedRun records in visual order |
TPdfShapedText | Source Text, selected FontName, FontSize, embedded FontData, shaped Runs, total Width, GlyphCount, and LogicalCharacterCount |
TPdfTextShapingOptions | Direction, MaxCharacters, MaxGlyphs, and MaxRuns resource limits |
TPdfTextShaper | Abstract base class for a caller-provided shaping implementation |
TPdfUniscribeTextShaper | Built-in Windows implementation of TPdfTextShaper |