PDFium Delphi Component 文件

CharacterIsHyphen 屬性

元件: TPdf  ·  單元: PDFium
當指定索引的字元被辨識為用於行尾斷字的軟連字號時,傳回 True。可在重建跨行換行的單字時使用,而不保留可見的連字號標記

Syntax

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

Index目前頁面上以 0 為基底的字元索引,範圍 0 到 CharacterCount - 1

Description

CharacterIsHyphen 在 PDFium 將 Index 處的字元分類為軟式(換行)連字號、而非屬於複合字的普通連字號時,傳回 True。此分類採啟發式:它會檢視字元的 Unicode code point、行尾位置,以及下一個文字執行的鄰近程度,以決定合併各行時是否應保留該連字號

軟式連字號由排版引擎(LaTeX、Word、InDesign)插入,用於將長單字跨行拆分。從 PDF 檢視器複製文字時,軟式連字號通常會被捨棄,讓 "high-
way" 貼上為 highway 而非 high-way。此屬性讓您自己的擷取程式碼能重現該行為

此屬性不會區分 Unicode 軟式連字號(U+00AD)與恰好位於行尾的普通連字號減號(U+002D)— 在這些情況下兩者都會回報 True。若只要 U+00AD 的情況,請直接比對 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