Natywne pola Rich Text

SetRichTextFieldValueWithAppearance zapisuje zsynchronizowany jawny tekst V, kanoniczne XHTML RV, flagę pola RichText i rzeczywiste wyglądy dla każdego istniejącego widgetu

Każdy run dostarcza tekst Unicode, styl fontu, dodatni rozmiar punktowy, kolor RGB, opcjonalne podkreślenie albo przekreślenie, łamania akapitów i wyrównanie do lewej, środka albo prawej; cztery fonty stylów to dostarczone przez wywołującego programy TrueType Unicode z istniejącymi kontrolami edycji i osadzania

Runy domyślnie używają stylu regular czarny 12pt; wyrównanie akapitu pochodzi z jego pierwszego runa i domyślnie jest do lewej

Wygląd używa rzeczywistych osadzonych fontów stylów, mapowań glifów i zmierzonych fragmentów słów ze współdzielonymi liniami bazowymi; powtórzone fragmenty współdzielą program fontu każdego stylu w obrębie widgetu

Jawne łamania CR, LF, CRLF, NEL, LINE SEPARATOR i PARAGRAPH SEPARATOR oraz przejścia akapitów wymagają pola wielowierszowego; mierzone zawijanie, rotacje widgetów i przycinanie używają rzeczywistego prostokąta widgetu

Typowana aktualizacja może włączyć rich text na polu zwykłego tekstu, podczas gdy kombinacje password, file-select i comb są odrzucane przed mutacją

Tylko do odczytu, MaxLen, uwierzytelnione polityki dokumentów podpisanych, zaszyfrowane uprawnienia wypełniania formularzy, anulowanie oraz budżety obiektów, fontów, glifów i wyjścia nadal obowiązują

Wszystkie aktualizacje rich przygotowują nadpisania V, RV, Ff i AP przed zmianą dokumentu; zapisane łańcuchy i strumienie zachowują oryginalną politykę AES-256 R5 albo R6

Tablice stylów, linie layoutu i malowane fragmenty mają każde sufit 4096 elementów dodatkowo do skonfigurowanych limitów dokumentu; bajty fontów stylów są zarachowywane zagregowanie

Zwykłe wywołania SetTextFieldValueWithAppearance na istniejącym polu rich podmieniają jego zawartość dostarczonym stylem plain i synchronizują RV; wywołania SetTextFieldValue tylko wartości również synchronizują RV i zachowują NeedAppearances=true

GetRichTextFieldValue odczytuje rzeczywisty przechowywany łańcuch tekstu XHTML albo strumień tekstu UTF-8, włącznie z wartościami dziedziczonymi

Pierwszy run każdego akapitu wybiera jego wyrównanie nawet, gdy ten run ma pusty tekst; zmiany stylu inline i jawne łamania linii zachowują wyrównanie tego akapitu

Zbyt szerokie słowa w zawijanych polach wielowierszowych są dzielone na granicach rozszerzonych grafemów Unicode 17, zachowując sekwencje łączenia, skalary z płaszczyzny uzupełniającej, sekwencje emoji i oryginalny tekst V/RV; niepodzielny klaster szerszy niż pole pozostaje nietknięty i przycięty

Ramki prostokątne i okrągłe są malowane przed przycięciem zawartości, a zaznaczone wiersze wielowierszowe otrzymują rzeczywiste niebieskie tła używając zmierzonego ascent, descent i odstępów każdej linii rich

Natywne ABI JSON

{"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 to tablica obiektów z wymaganym text i opcjonalnymi fontStyle, fontSize, color, underline, strikeOut, paragraphBreakBefore i alignment; fontStyle przyjmuje regular, bold, italic albo boldItalic

Opcjonalne tablice fontFamilies wybierają rzeczywiste nazwane programy per run przez fontFamily, z tablicą poziomu edycji nadpisującą tablicę poziomu operacji i pominięte etykiety runów wybierające pierwszą rodzinę

Pominięty run fontSize używa fontSize operacji pola, gdy dodatni, w przeciwnym razie 12; opcjonalna value musi dokładnie pasować do zwykłego tekstu wyprowadzonego z runów, z powrotem karetki między jawnymi akapitami

Stylowane runy wymagają appearance=true; forms.read zwraca rzeczywisty przechowywany XHTML w richText dla pola rich

ABI zachowuje istniejący layout operacji i przygotowuje kompletne wyjście binarne i wynik przed zatwierdzeniem nowego wczytanego kontekstu; nieudane zapisy albo anulowanie zachowują poprzednie pole

Akceptacja i pozostała praca

Tests/Linux/Run-HeadlessRichTextAcceptance.sh i Tests/Linux/HotPDFHeadlessRichTextTests.pas ćwiczą rzeczywiste zapisane PDF-y; Verify-HeadlessRichText.py niezależnie sprawdza XHTML, wartości, cztery rzeczywiste programy fontów, mapy glifów, ścieżki dekoracji i widoczne piksele widgetów

To API przyjmuje typowane runy i konsumuje domyślne możliwości Unicode 17 na kompletnych akapitach, zachowując grupy słów, nierozdzielających spacji, interpunkcji i liczb przez zmiany stylów; grupy mieszczące się w świeżej linii przechodzą razem, używając rzeczywistych stylowanych posunięć fontu

Zawijanie grup stylów zachowuje tež współdzielone linie bazowe dla mieszanych rozmiarów punktowych i skleja CRLF przez szwy stylów w rzeczywistym layoucie i kanonicznym XHTML

Dopasowywanie grafemów między stylami przydziela kompletne zbyt szerokie logiczne klastry jednej fizycznej linii, zachowując rzeczywiste fragmenty fontu, koloru i rozmiaru oraz istniejące zachowanie przycinania dla niepodzielnego klastra szerszego niż prostokąt

Kontekstowe łączenie używa otaczającego tekstu Unicode, a każda rzeczywista fizyczna linia zachowuje kierunek akapitu podczas porządkowania mieszanych elementów bidi i skryptów między typowanymi stylami

Znaczniki między stylami używają prawdziwych przypięć GPOS dla rzeczywistych glifów bazowych, ligatur i poprzedzających znaczników, zachowując font, rozmiar punktowy i kolor każdego stylu oraz widoczne nawisy glifów

Wymiana rich FDF i XFDF dekoduje wspierany ograniczony profil stylów XHTML w rzeczywiste osadzone fonty i zapisane wyglądy

Jawne kierunkowe embeddingi, override, izolaty i kontekst sparowanych nawiasów przeżywają automatyczne zawijanie między typowanymi stylami; jeden współdzielony logiczny porządek akapitu dostarcza niezależne sortowanie fizycznych linii i natywne kontekstowe shapowanie glifów

Klastry zawierające wyłącznie sterowania kierunkowe Unicode zachowują oryginalną logiczną wartość i tekst zaznaczenia bez konsumowania odstępów znaków; widoczne klastry i zwykłe spacje zachowują skonfigurowane posunięcia

Kolejność linii z akapitu i cache'owane sortowanie linii zachowują kompletne granice skalarów UTF-16 i resetują końcowe białe znaki fizycznych linii bez mutowania współdzielonego rekordu akapitu

Nazwane rodziny fontów dostarczają jawny wybór typowanych run i ograniczonego XHTML rzeczywistymi fontami rodzin, niezależnymi posunięciami i importem formularzy świadomym rodzin

Fallback dostarczonych rodzin wybiera kompletne grafemy przez autorskie szwy stylów, a Linux JSON i wersjonowane callbacki bindują to samo zachowanie do rzeczywistych skonfigurowanych programów fontów

Wewnętrzne arkusze stylów stosują współdzieloną ograniczoną kaskadę selektorów do natywnych wartości rich i importów FDF/XFDF; szerszy XHTML/CSS, zewnętrzne arkusze stylów i ogólny layout pozostają aktywną pracą

Natywne zachowanie pól rich-text · API dokumentów