THPDFHeadlessRichTextRun

THPDFHeadlessRichTextRun = record
  Text: UnicodeString;
  FontFamily: UnicodeString;
  FontFamilyCandidates: THPDFHeadlessRichTextFontFamilyCandidates;
  FontStyle: THPDFHeadlessRichTextFontStyle;
  FontSize: Double;
  LineHeightKind: THPDFHeadlessRichTextLineHeightKind;
  LineHeight: Double;
  LetterSpacingKind, WordSpacingKind: THPDFHeadlessRichTextSpacingKind;
  LetterSpacing, WordSpacing: Double;
  IsParagraphStrut: Boolean;
  TextColor: array[0..2] of Double;
  Underline, StrikeOut, ParagraphBreakBefore: Boolean;
  Alignment: THPDFHeadlessTextAlignment;
  class function Default: THPDFHeadlessRichTextRun; static;
end;

LineHeightKind tem por defeito hrlhLegacy; LineHeight tem por defeito zero, e IsParagraphStrut tem por defeito false

Um strut tem Text vazio, uma altura explícita e a face, o estilo e o tamanho reais do pai; tem de começar o parágrafo dele e contribui com métricas reais sem acrescentar texto a V

O comportamento explícito de line-height usa preparação partilhada para APs nativas tipadas e serialização RV

LetterSpacingKind e WordSpacingKind têm por defeito hrspLegacy com valores escritos zero; points e em explícitos mantêm a precisão Double com sinal e usam o layout delimitado de espaçamento CSS

Um run único de texto com estilo explícito; os tamanhos de tipos de letra têm de ser positivos e as cores têm de conter três componentes finitas de zero a um

FontFamily seleciona uma etiqueta configurada ao usar as APIs de famílias nomeadas; uma etiqueta vazia seleciona a família default delas, e o construtor existente de família única exige uma etiqueta vazia

FontFamilyCandidates retém opcionalmente uma lista ordenada de uma a dezasseis etiquetas de famílias fornecidas para o fallback de graphemes completos; Default devolve uma lista vazia, e uma lista não vazia exige FallbackFontFamilies ativo

ParagraphBreakBefore insere uma fronteira de parágrafos antes de um run posterior ao primeiro; o V plain contém um carriage return nessa fronteira

Alignment seleciona o alinhamento do parágrafo no primeiro run dele, incluindo um primeiro run vazio, e nos runs com ParagraphBreakBefore; os restantes runs inline e quebras de linha explícitas mantêm esse alinhamento

Comportamento nativo de campos rich text · API do documento