PDFium Delphi Component Docs

CharacterIsHyphen Propriedade

Componente: TPdf  ·  Unidade: PDFium
Retorna True quando o caractere no índice especificado é reconhecido como um hífen suave usado para a quebra de palavras no final da linha. Útil ao reconstruir palavras através de quebras de linha sem manter a marca visível do hífen.

Syntax

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

IndexÍndice de caractere baseado em zero na página atual, no intervalo de 0 a CharacterCount - 1.

Description

CharacterIsHyphen retorna True quando o PDFium classifica o caractere em Index como um hífen suave (de quebra de linha) em vez de um hífen comum que pertence a uma palavra composta. A classificação é heurística: ela examina o ponto de código Unicode do caractere, a posição de fim de linha e a proximidade da execução de texto seguinte para decidir se o hífen deve ser mantido ao unir linhas.

Hífens suaves são inseridos por mecanismos de diagramação (LaTeX, Word, InDesign) para quebrar palavras longas entre linhas. Quando você copia texto de um visualizador de PDF, o hífen suave normalmente é descartado, de modo que "high-
way" é colado como highway em vez de high-way. Esta propriedade permite que seu próprio código de extração reproduza esse comportamento.

A propriedade não distingue o hífen suave Unicode (U+00AD) de um hífen-menos comum (U+002D) que acontece de estar no fim de uma linha — ambos retornarão True nessas situações. Se você quiser apenas o caso U+00AD, compare Character[Index] diretamente.

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