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 default hrlhLegacy; LineHeight tem default zero, e IsParagraphStrut tem default false

Um strut tem Text vazio, uma altura explícita e a face, o estilo e o tamanho reais do pai; ele precisa iniciar seu parágrafo e contribui com métricas reais sem adicionar texto ao V

O comportamento de line-height explícito usa preparação compartilhada para APs tipados nativos e serialização RV

LetterSpacingKind e WordSpacingKind têm default hrspLegacy com valores autorados zero; points e em explícitos retêm a precisão Double com sinal e usam o layout de spacing CSS delimitado

Um run de texto estilizado explícito; tamanhos de fonte precisam ser positivos e as cores precisam conter três componentes finitos de zero a um

FontFamily seleciona um rótulo configurado ao usar as APIs de famílias nomeadas; um rótulo vazio seleciona a família default delas, e o builder existente de família única exige um rótulo vazio

FontFamilyCandidates opcionalmente retém uma lista ordered de um a dezesseis rótulos de famílias fornecidas para o fallback de graphemes completos; Default retorna uma lista vazia, e uma lista não vazia exige FallbackFontFamilies habilitado

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

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

Comportamento nativo de campos rich-text · API do documento