PDFium Delphi Component Docs

CharacterIsHyphen Proprietà

Componente: TPdf  ·  Unità: PDFium
Restituisce True quando il carattere all'indice specificato viene riconosciuto come trattino morbido usato per spezzare le parole a fine riga. Utile quando si ricostruiscono le parole oltre gli a capo senza conservare il trattino visibile

Syntax

property CharacterIsHyphen[Index: Integer]: Boolean; // read only

IndexIndice di carattere a base zero sulla pagina corrente, nell'intervallo da 0 a CharacterCount - 1

Description

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]

Remarks

Example

// 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;

See Also

Character, CharacterGenerated, CharacterCount, Text