True zurück, wenn das Zeichen am angegebenen Index als weicher Trennstrich erkannt wird, der für den Zeilenumbruch verwendet wird. Nützlich, wenn Wörter über Zeilenumbrüche hinweg rekonstruiert werden sollen, ohne das sichtbare Trennzeichen zu behaltenproperty CharacterIsHyphen[Index: Integer]: Boolean; // read only
| Index | Nullbasierter Zeichenindex auf der aktuellen Seite im Bereich 0 bis CharacterCount - 1. |
CharacterIsHyphen gibt True zurück, wenn PDFium das Zeichen an Index als weichen Zeilenumbruch-Trennstrich statt als normalen Bindestrich klassifiziert, der zu einem zusammengesetzten Wort gehört. Die Klassifikation ist heuristisch: Sie betrachtet den Unicode-Codepoint des Zeichens, die Position am Zeilenende und die Nähe des folgenden Textlaufs, um zu entscheiden, ob der Trennstrich beim Zusammenführen von Zeilen beibehalten werden soll
Weiche Trennstriche werden von Satzsystemen (LaTeX, Word, InDesign) eingefügt, um lange Wörter über Zeilen zu brechen. Wenn Sie Text aus einem PDF-Viewer kopieren, wird der weiche Trennstrich typischerweise entfernt, sodass "high-
way" als highway und nicht als high-way eingefügt wird. Diese Eigenschaft erlaubt es Ihrem eigenen Extraktionscode, dieses Verhalten nachzubilden
Die Eigenschaft unterscheidet nicht zwischen dem Unicode-weichen Trennstrich (U+00AD) und einem normalen Minusbindestrich (U+002D), der zufällig am Zeilenende steht — in beiden Fällen wird True gemeldet. Wenn Sie nur den U+00AD-Fall prüfen möchten, vergleichen Sie Character[Index] direkt
False; derselbe Bindestrich am Zeilenende meldet 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;