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 guionproperty 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 |
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]
False; el mismo guion al final de línea informa True
// 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;