TPdfSpokenText chunkprocedure SpokenTextAppend(var Spoken: TPdfSpokenText; const SpokenPart: WString; Page, StartIndex: Integer; SourceCount: Integer = -1);
| Spoken | TPdfSpokenText - Chunk that receives the spoken text and span entry |
| SpokenPart | WString - Text run passed to the speech engine |
| Page | Integer - One-based source page number |
| StartIndex | Integer - Zero-based FTextPage source character index |
| SourceCount | Integer - Source character count, or -1 to use the spoken run length |
SpokenTextAppend adds SpokenPart to Spoken.Text and records a TPdfSpokenSpan that maps the spoken offset back to page text
When Spoken.Text already has content the helper inserts one separator space before the new run; that separator is intentionally unmapped
Spoken.Text := '';
Spoken.Spans := nil;
SpokenTextAppend(Spoken, UnitText, 1, UnitStart, UnitLength);