Docs de PDFiumPas

CharacterIsHyphen Propiedad

Esta entrada API conserva identificadores, firmas, bloques de código y términos PDF en su forma original.
Componente: TPdf  ·  Unidad: PDFium
Devuelve True cuando el carácter del índice especificado se reconoce como un guion suave usado para dividir palabras al final de línea. Resulta útil cuando reconstruyes palabras que atraviesan saltos de línea sin conservar la marca visible del guion

Sintaxis

property CharacterIsHyphen[Index: Integer]: Boolean; // solo lectura

IndexÍndice de carácter basado en cero en la página actual, en el intervalo de 0 a CharacterCount - 1

Descripción

CharacterIsHyphen devuelve True cuando PDFium clasifica el carácter en Index como un guion suave de salto de línea en lugar de un guion normal que pertenece a una palabra compuesta. La clasificación es heurística: analiza el punto de código Unicode del carácter, la posición del final de línea y la cercanía del siguiente fragmento de texto para decidir si el guion debe conservarse al unir líneas

Los guiones suaves los insertan los motores tipográficos (LaTeX, Word, InDesign) para partir palabras largas entre líneas. Cuando copias texto desde un visor PDF, el guion suave normalmente se elimina, de modo que "high-
way" se pega como highway en lugar de como high-way. Esta propiedad permite que tu propio código de extracción reproduzca ese comportamiento

La propiedad no distingue entre el guion suave Unicode (U+00AD) y un signo menos con guion regular (U+002D) que casualmente esté al final de una línea — ambos informarán True en esas situaciones. Si solo quieres el caso U+00AD, compara directamente Character[Index]

Notas

Ejemplo

// Reconstruir palabras que atraviesan saltos de línea, suprimiendo los guiones suaves
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;

Véase también

Character, CharacterGenerated, CharacterCount, Text