Native Rich Text Fields

SetRichTextFieldValueWithAppearance skriver synkroniseret plain-tekst V, kanonisk XHTML RV, RichText-feltflaget og rigtige appearances til hver eksisterende widget

Hvert run leverer Unicode-tekst, en fontstil, en positiv punktstørrelse, RGB-farve, valgfri underline eller strikeout, afsnitsbrud samt venstre, center eller højre justering; de fire stilfonte er kalder-leverede Unicode TrueType-programmer med de eksisterende redigerings- og indlejringstjek

Runs bruger som standard 12pt regular sort stil; afsnitsjustering kommer fra dets første run og er som standard venstre

Appliancen bruger rigtige indlejrede stilfonte, glyph-mappings og målte word-fragmenter med delte linjebaselines; gentagne fragmenter deler hvert stilfontprogram inden for en widget

Eksplicitte CR-, LF-, CRLF-, NEL-, LINE SEPARATOR- og PARAGRAPH SEPARATOR-brud samt afsnitsovergange kræver et multiline-felt; målt ombrydning, widget-rotationer og clipping bruger det faktiske widget-rektangel

Den typede opdatering kan aktivere rich text på et plain-tekstfelt, mens password-, file-select- og comb-kombinationer afvises inden mutation

Skrivebeskyttet, MaxLen, autentificerede signeret dokument-politikker, krypterede form-fill-tilladelser, cancellation samt objekt-, font-, glyph- og outputbudgetter gælder stadig

Alle rich-opdateringer forbereder V, RV, Ff og AP-overrides, før dokumentet ændres; gemte strenge og streams beholder den originale AES-256 R5- eller R6-politik

Style-arrays, layoutlinjer og malede fragmenter har hver et loft på 4096 elementer ud over de konfigurerede dokumentgrænser; stilfont-bytes debiteres samlet

Almindelige SetTextFieldValueWithAppearance-kald på et eksisterende rich-felt erstatter dets indhold med den leverede plain-stil og synkroniserer RV; value-only SetTextFieldValue-kald synkroniserer også RV og beholder NeedAppearances=true

GetRichTextFieldValue læser den faktisk gemte XHTML-tekststreng eller UTF-8-tekststream, inklusive nedarvede værdier

Det første run i hvert afsnit vælger dets justering, selv når det run har tom tekst; inline stilændringer og eksplicitte linjeskift beholder den afsnitsjustering

For brede ord i ombrudte multiline-felter deles ved Unicode 17 extended grapheme-grænser, hvilket bevarer combining-sekvenser, supplementary-scalars, emoji-sekvenser og original V/RV-tekst; en udelelig cluster bredere end feltet forbliver intakt og clips

Rektangel- og cirkelkanter males før content-clippet, og valgte multiline-rækker får rigtige blå baggrunde med den målte ascent, descent og afstand for hver rich-linje

Native JSON ABI

{"schemaVersion":1,"type":"forms.fill","fields":[
  {"name":"Input","fontFamily":"DejaVu Sans Mono","richTextRuns":[
    {"text":"Regular Unicode text "},
    {"text":"Bold red text","fontStyle":"bold","fontSize":20,"color":[1,0,0]},
    {"text":"Next paragraph","fontStyle":"italic","paragraphBreakBefore":true,
     "alignment":"center","underline":true}
  ]}
]}

richTextRuns er et array af objekter med krævet tekst og valgfri fontStyle, fontSize, color, underline, strikeOut, paragraphBreakBefore og alignment; fontStyle accepterer regular, bold, italic eller boldItalic

Valgfrie fontFamilies-arrays vælger faktiske navngivne programmer pr. run gennem fontFamily, hvor et edit-niveau-array tilsidesætter operationsniveau-arrayet, og udeladte run-labels vælger den første familie

Udeladt run fontSize bruger feltoperationens fontSize, når positiv, ellers 12; en valgfri værdi skal matche den plain-tekst, der udledes af runsene, eksakt med et carriage return mellem eksplicitte afsnit

Stylede runs kræver appearance=true; forms.read returnerer den faktisk gemte XHTML i richText for et rich-felt

ABI'en beholder sit eksisterende operationslayout og forbereder komplet binært og resultatoutput, inden den nye indlæste kontekst committeres; mislykkede skrivninger eller cancellation bevarer det tidligere felt

Accept og tilbageværende arbejde

Tests/Linux/Run-HeadlessRichTextAcceptance.sh og Tests/Linux/HotPDFHeadlessRichTextTests.pas øver rigtige gemte PDF'er; Verify-HeadlessRichText.py tjekker uafhængigt XHTML, værdier, fire rigtige fontprogrammer, glyph-maps, dekorationspaths og synlige widget-pixels

Denne API accepterer typede runs og forbruger default Unicode 17-muligheder over komplette afsnit og bevarer ord-, hårdt mellemrum-, tegnsætnings- og numeriske grupper på tværs af style-ændringer; grupper, der passer i en frisk linje, flyttes sammen med deres faktiske stylede font-advances

Style group-ombrydning beholder også delte baselines for blandede punktstørrelser og forener CRLF på tværs af style-sømme i både faktisk layout og kanonisk XHTML

Grapheme-tilpasning på tværs af styles tildeler komplette for brede logiske clusters til én fysisk linje og beholder faktiske font-, farve- og størrelsesfragmenter samt den eksisterende clipping-adfærd for en udelelig cluster bredere end rektanglet

Kontekstuel joining bruger den omgivende Unicode-tekst, og hver faktisk fysisk linje beholder afsnitsretning, mens blandede bidi- og script-items ordnes på tværs af typede styles

Marks på tværs af styles bruger rigtige GPOS-attachments til faktiske base-, ligatur- og foregående mærke-glyphs og bevarer hver stilfont, punktstørrelse og farve samt synlige glyph-overhæng

Rich FDF- og XFDF-udveksling dekoder den understøttede afgrænsede XHTML-style-profil til rigtige indlejrede fonts og gemte appearances

Eksplicitte directionelle embeddings, overrides, isolater og parvis-bracket-kontekst overlever automatisk ombrydning på tværs af typede styles; én delt logisk afsnitsorden leverer uafhængig fysisk linje-omordning og native kontekstuel glyph-shaping

Clusters, der kun indeholder Unicode-retningskontroller, bevarer den originale logiske værdi og markeringstekst uden at forbruge tegnafstand; synlige clusters og almindelige mellemrum beholder deres konfigurerede advances

Afsnitsafledt linjeorden og cached linjeomordning bevarer komplette UTF-16 scalar-grænser og nulstiller fysisk linje afsluttende whitespace uden at mutere den delte afsnitsrecord

Navngivne fontfamilier leverer eksplicit typet-run og afgrænset XHTML-valg med rigtige familiefonte, uafhængige advances og familiebevidst formularimport

Leveret-familie-fallback vælger komplette graphemes på tværs af authored style-sømme, og Linux JSON og versionerede callbacks binder samme adfærd til faktiske konfigurerede fontprogrammer

Interne style sheets anvender den delte afgrænsede selektorkaskade på native rich-værdier og FDF/XFDF-importer; bredere XHTML/CSS, eksterne style sheets og generelt layout forbliver aktivt arbejde

Native rich-text feltadfærd · Document API