Leveret Rich Text Font Fallback

Sæt THPDFHeadlessTextAppearanceOptions.FallbackFontFamilies til True for at opløse manglende rich text-glyphs fra de familier, der er leveret til HPDFBuildHeadlessRichTextFamilyAppearance eller SetRichTextFieldValueWithFamilies

Standarden er False og bevarer strengt valg af hver authored familie og style; enkelt-font tekst-builderen søger ikke andre familier

Options:= THPDFHeadlessTextAppearanceOptions.Default;
Options.FallbackFontFamilies:= True;
Document.SetRichTextFieldValueWithFamilies(FieldIndex, Runs, Families, Options);

Valg og shaping

Resolveren bruger komplette Unicode 17 extended grapheme-grænser på tværs af tilstødende authored style-runs og tomme run-sømme inden for hvert afsnit; en familievejledning splitter aldrig et surrogate-par, combining-sekvens, variation-sekvens eller joiner-cluster

Når det første berørte run leverer FontFamilyCandidates, har dets deklarerede rækkefølge forrang, og hver konfigureret kandidat skal dække hvert stylet stykke af det komplette grapheme; hvis ingen kvalificerer, gælder de eksisterende valgt-familie- og leveret-array-fallback-regler nedenfor

Hvis de valgte programmer dækker hele graphemet, forbliver deres authored familier i brug; ellers forsøger resolveren først det første berørte runs familie, efterfulgt af de leverede familier i array-rækkefølge og vælger én familie, der dækker hvert stylet stykke af det komplette grapheme med det tilsvarende faktiske regular-, bold-, italic- eller bold italic-program

Manglende style-programmer springes over som kandidater, mens et misdannet program, der skal undersøges, giver en typet invalid-font-fejl; layout- og shaping-kontroller kræver ikke synlige cmap-glyphs; et grapheme, som ingen leveret familie dækker, giver haMissingGlyph

Eksisterende kontekstuel shaping, bidirektionel ordning, cross-style mark-placering, ombrydning, eksplicitte afsnitsbrud og widget-rotation gælder de opløste appearance-runs

Værdier og transaktioner

Fallback-runs findes kun under appearance-forberedelse; kalderens runs forbliver uændret, og dokumentet gemmer den originale plain-værdi og authored rich-markup i V og RV

Typede punktstørrelser og RGB-komponenter sendes direkte til appearance-layout uden at blive rekonstrueret fra den serialiserede rich-værdi, hvis kanoniske tekstrepræsentation har sin egen præcision

Familie-bevidste FDF- og XFDF-importer accepterer samme option og beholder deres eksisterende uforanderlig-kilde-, signatur-, sikkerheds-, semantisk no-op- og publiceringskontrakter

Grænser og afhængigheder

Den samlede MaxFontBytes-grænse tæller hvert familie/style-program, der undersøges under fallback, inklusive gyldige kandidater, der ikke endeligt indlejres; appearance indlejrer kun de valgte styles

Eksisterende UTF-16 input-, glyph-, objekt- og bytebudgetter forbliver gældende, og opløsning kan give højst 4096 stylede runs; cancellation tjekkes under fontvalg og scalar-dækning samt under layout og publicering

Kompleks shaping beholder de eksisterende HarfBuzz- og FriBidi-afhængigheder; fallback bruger kun leverede font-bytes uden implicit systemfont-opdagelse, generiske aliasser, downloadede fonts eller downloadede style sheets; eksplicitte ordnede font-kandidatlister beholder understøttet inline CSS familierækkefølge

Native familie-API'er udstiller denne option; Linux navngivet-familie JSON accepterer samme opt-in-flag og forbereder rigtige kandidatprogrammer; Windows callback fallback-indlæsning forbliver separat arbejde

Accept

Seks native compiler-mål består hver 199 tjek over 30 gemte PDF'er og 1098 uafhængige værdi-, indlejret-font-, glyph-, shaping-, præcisions-, linje- og synlig pixel-tjek; rigtige subset- og fulde fontprogrammer dækker alle fire styles, cross-style combining marks, arabisk joining, hebraisk, supplementary joiners, ordnede familie-kandidater, AES R5/R6, FDF/XFDF, typede budgetter og otte valgte cancellation-checkpoints inklusive det sidste checkpoint

Friske C++Builder-interfaces kompilerer begge arkitekturer; rigtig udgivet manglende-glyph-evidence og det succesfulde faktiske primary/fallback/primary widget glyph-bevis bevares separat

Navngivne familier · Appearance-options