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ą