Native Rich-Text-Felder

SetRichTextFieldValueWithAppearance schreibt synchronisierten Klartext V, kanonisches XHTML RV, das RichText-Feldflag und echte Appearances für jedes vorhandene Widget

Jeder Run liefert Unicode-Text, einen Schriftstil, eine positive Punktgröße, RGB-Farbe, optionalen Unterstreich- oder Durchstreif-Schmuck, Absatzumbrüche und links-, mittel- oder rechtsbündige Ausrichtung; die vier Stilschriften sind Unicode-TrueType-Programme des Aufrufers mit den vorhandenen Editing- und Einbettungsprüfungen

Runs verwenden standardmäßig einen 12pt-Regular-Stil in Schwarz; die Absatzausrichtung kommt vom ersten Run des Absatzes und fällt auf links zurück

Die Appearance nutzt echte eingebettete Stilschriften, Glyphmappings und gemessene Wortfragmente mit gemeinsamen Zeilen-Baselines; wiederholte Fragmente teilen sich innerhalb eines Widgets jeweils das Stilfontprogramm

Explizite CR-, LF-, CRLF-, NEL-, LINE-SEPARATOR- und PARAGRAPH-SEPARATOR-Umbrüche sowie Absatzübergänge brauchen ein mehrzeiliges Feld; gemessener Umbruch, Widget-Rotationen und Clipping verwenden das tatsächliche Widgetrechteck

Das getippte Update kann Rich Text auf einem einfachen Textfeld einschalten, während Password-, File-Select- und Comb-Kombinationen vor der Mutation abgelehnt werden

Read-only, MaxLen, authentifizierte Richtlinien für signierte Dokumente, verschlüsselte Formularfüll-Berechtigungen, Abbruch sowie Objekt-, Schrift-, Glyph- und Ausgabenbudgets gelten weiterhin

Alle Rich-Updates bereiten V-, RV-, Ff- und AP-Overrides vor, bevor das Dokument geändert wird; gespeicherte Strings und Streams behalten die ursprüngliche AES-256-R5- oder -R6-Policy

Stilarrays, Layoutzeilen und gezeichnete Fragmente haben jeweils eine Obergrenze von 4096 Elementen zusätzlich zu den konfigurierten Dokumentlimits; Stilfont-Bytes werden als Sammelposten verrechnet

Gewöhnliche SetTextFieldValueWithAppearance-Aufrufe auf einem vorhandenen Rich-Feld ersetzen seinen Inhalt durch den gelieferten schlichten Stil und synchronisieren RV; reine SetTextFieldValue-Wertaufrufe synchronisieren RV ebenfalls und behalten NeedAppearances=true

GetRichTextFieldValue liest den tatsächlich gespeicherten XHTML-Textstring oder UTF-8-Textstream, einschließlich geerbter Werte

Der erste Run jedes Absatzes wählt dessen Ausrichtung, selbst wenn dieser Run leeren Text hat; Inline-Stilwechsel und explizite Zeilenumbrüche bewahren diese Absatzausrichtung

Zu breite Wörter in umbrochenen mehrzeiligen Feldern werden an Extended-Grapheme-Grenzen von Unicode 17 geteilt, unter Bewahrung von Kombinationssequenzen, ergänzenden Skalaren, Emoji-Sequenzen und des ursprünglichen V/RV-Texts; ein unteilbares Cluster, das breiter als das Feld ist, bleibt intakt und wird abgeschnitten

Rechteck- und Kreisrahmen werden vor dem Content-Clip gezeichnet, und ausgewählte mehrzeilige Zeilen bekommen echte blaue Hintergründe mit gemessenem Ascent, Descent und Abstand jeder Rich-Zeile

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 ist ein Array von Objekten mit erforderlichem text und optionalem fontStyle, fontSize, color, underline, strikeOut, paragraphBreakBefore und alignment; fontStyle akzeptiert regular, bold, italic oder boldItalic

Optionale fontFamilies-Arrays wählen über fontFamily echte benannte Programme pro Run, wobei ein Array auf Editing-Ebene das Array auf Operationsebene überschreibt und fehlende Run-Bezeichnungen die erste Familie wählen

Eine weggelassene run-fontSize verwendet die fontSize der Feldoperation, wenn diese positiv ist, sonst 12; ein optionaler value muss exakt dem aus den Runs abgeleiteten Klartext entsprechen, mit Carriage Return zwischen expliziten Absätzen

Formatierte Runs verlangen appearance=true; forms.read liefert das tatsächlich gespeicherte XHTML in richText für ein Rich-Feld

Die ABI behält ihr vorhandenes Operationslayout bei und bereitet die vollständige Binär- und Ergebnisausgabe vor, bevor der neue geladene Kontext gecommitted wird; fehlgeschlagene Schreibvorgänge oder Abbruch bewahren das vorherige Feld

Abnahme und offene Arbeit

Tests/Linux/Run-HeadlessRichTextAcceptance.sh und Tests/Linux/HotPDFHeadlessRichTextTests.pas üben echte gespeicherte PDFs aus; Verify-HeadlessRichText.py prüft unabhängig XHTML, Werte, vier echte Schriftprogramme, Glyphmaps, Dekorationspfade und sichtbare Widgetpixel

Diese API akzeptiert Typed Runs und nutzt die Unicode-17-Defaults über ganze Absätze hinweg, unter Bewahrung von Wort-, geschützten-Leerzeichen-, Satzzeichen- und Zahlengruppen über Stilwechsel hinweg; Gruppen, die auf eine frische Zeile passen, ziehen gemeinsam um und verwenden dabei ihre tatsächlichen formatierten Schriftvorschübe

Stilgruppen-Umbruch bewahrt auch gemeinsame Baselines bei gemischten Punktgrößen und verschmilzt CRLF über Stilgrenzen hinweg, sowohl im tatsächlichen Layout als auch im kanonischen XHTML

Graphemumbruch über Stile hinweg ordnet komplette zu breite logische Cluster einer physischen Zeile zu, behält echte Font-, Farb- und Größenfragmente bei und übernimmt das vorhandene Clipping-Verhalten für ein unteilbares Cluster, das breiter als das Rechteck ist

Kontextuelle Verbindung nutzt den umgebenden Unicode-Text, und jede tatsächliche physische Zeile behält die Absatzrichtung bei, während gemischte Bidi- und Skript-Elemente über getippte Stile hinweg geordnet werden

Marks über Stile hinweg nutzen echte GPOS-Anbindungen für tatsächliche Basis-, Ligatur- und vorausgehende Mark-Glyphen, unter Bewahrung des jeweiligen Stilfonts, der Punktgröße und Farbe sowie sichtbarer Glyphenüberhänge

Rich-FDF- und XFDF-Austausch dekodiert das unterstützte begrenzte XHTML-Stilprofil in echte eingebettete Schriften und gespeicherte Appearances

Explizite richtungssetzende Embeddings, Overrides, Isolates und Paired-Bracket-Kontext überleben den automatischen Umbruch über getippte Stile hinweg; eine gemeinsame logische Absatzreihenfolge liefert unabhängiges Neuanordnen physischer Zeilen und native kontextuelle Glyphenformung

Cluster, die nur Unicode-Richtungssteuerzeichen enthalten, bewahren den ursprünglichen logischen Wert und den Auswahltext, ohne Zeichenabstand zu verbrauchen; sichtbare Cluster und gewöhnliche Leerzeichen behalten ihre konfigurierten Vorschübe

Aus Absätzen abgeleitete Zeilenordnung und gecachtes Zeilenumordnen bewahren vollständige UTF-16-Scalar-Grenzen und setzen nachgestellten Leerraum physischer Zeilen zurück, ohne den gemeinsamen Absatzrecord zu verändern

Benannte Fontfamilien bieten explizite Typed-Run- und begrenzte XHTML-Auswahl mit echten Familienfonts, unabhängigen Vorschüben und familienbewusstem Formularimport

Interne Style-Sheets wenden die gemeinsame begrenzte Selektor-Kaskade auf native Rich-Werte und FDF/XFDF-Importe an; breiteres XHTML/CSS, externe Style-Sheets und allgemeines Layout bleiben in Arbeit

Beliebiges XHTML und CSS, Per-Glyph-Fallback, Style Sheets und allgemeines Layout bleiben in Arbeit

Verhalten nativer Rich-Text-Felder · Document-API