property CharacterIsHyphen[Index: Integer]: Boolean; // read only
| Index | Indice di carattere a base zero sulla pagina corrente, nell'intervallo da 0 a CharacterCount - 1 |
CharacterIsHyphen restituisce True quando PDFium classifica il
carattere a Index come un trattino morbido (di a-capo) invece che come un trattino normale
che appartiene a una parola composta. La classificazione è euristica: esamina il
code point Unicode del carattere, la posizione di fine riga e la prossimità del
run di testo seguente per decidere se il trattino va mantenuto quando si ricongiungono le righe
I trattini morbidi vengono inseriti dai motori di composizione tipografica (LaTeX, Word, InDesign) per spezzare
le parole lunghe su più righe. Quando copi testo da un viewer PDF il trattino morbido viene
in genere scartato, così che "high-
way" viene incollato come highway invece che come
high-way. Questa proprietà permette al tuo codice di estrazione di riprodurre
questo comportamento
La proprietà non distingue il trattino morbido Unicode (U+00AD) da un
trattino-meno normale (U+002D) che per caso si trova a fine riga — entrambi
restituiscono True in quelle situazioni. Se ti interessa solo il caso
U+00AD, confronta direttamente Character[Index]
False; lo stesso trattino a fine riga restituisce True
// Reconstruct words across line wraps, dropping soft hyphens
var
I: Integer;
S: WString;
begin
S := '';
for I := 0 to Pdf.CharacterCount - 1 do
if not Pdf.CharacterIsHyphen[I] then
S := S + Pdf.Character[I];
Memo1.Text := S;
end;