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 码点、行尾位置以及 后续文本段的接近程度,来决定连接行时是否应保留该连字符

软连字符由排版引擎(LaTeX、Word、InDesign)插入,用于 将长单词跨行断开。当你从 PDF 查看器复制文本时,软连字符 通常会被丢弃,因此 "high-
way" 粘贴为 highway 而不是 high-way。此属性让你的提取代码可以重现 该行为

该属性不区分 Unicode 软连字符(U+00AD)与 恰好位于行尾的常规连字符减号(U+002D)— 在这些情况下两者 都会报告 True。如果你只想要 U+00AD 的情况,请直接比较 Character[Index]

Remarks

Example

// 跨换行重建单词,丢弃软连字符
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