HotPDF Versionsinformation

Versionshistorik för HotPDFs användarsynliga funktioner, felkorrigeringar, kompatibilitetsuppdateringar och dokumentationsändringar

Obs: Endast de 800 senaste ändringsposterna sparas

Last release

  • Senaste version: 2.974.0; Releasedatum: 2026-10-11

Version 2.974.0

Added

  • Ta bort sidannoteringar efter exakt sida och Unicode-namn, inklusive popup- och svarskaskader, genom avgränsade nativa API:er, Windows-transaktioner, JSON-jobb och versionshanterade callbacks med autentiserade behörigheter och publiceringsåterrullning

Version 2.973.0

Added

  • Utbyter binära FDF-annoteringar med bevarade utseenderesurser, delade objektgrafer och lokala åtgärdsmål genom nativa API:er, Windows-utbyte och versionshanterade callbacks

Version 2.972.0

Added

  • Renderar annoteringars standardutseenden med bevarat textläge, automatisk anpassning, rich-text-avstånd och textklippning, inklusive renderingslägena 4 till 7

Version 2.971.1

Fixed

  • Förhindrar intervallkontrollfel i den publika shaped-run-cachen på FPC 3.3.1 Windows-byggen genom att bevara explicit 32-bitars modulär hashmultiplikation, exakt cache-nyckelisolering och LRU-eviktering

Version 2.971.0

Added

  • Matchar rotens :scope och antar statiska hover-, active- och focus-pseudoklasser med inaktivt interaktionstillstånd, och bevarar negation, logiska och relativa selektorer, stödfrågor samt sparade FDF/XFDF-utseenden

Version 2.970.0

Added

  • Utvärderar nativa rich-text @supports-grupper och supports()-imports med stödda deklarations- och selectorfrågor, avgränsade nästlade villkor, namnrymdsmedvetna avkänningar, annulleringsåterhämtning och beräknade sparade FDF/XFDF-utseenden

Version 2.969.0

Added

  • Utvärderar ändliga calc-, min-, max- och clamp-uttryck, rotrelativa och uttryckliga viewport-längder samt slutliga typsnitts rad- och avståndsmått i nativ rich-text-avkodning, sparade fältsutseenden och rich FDF/XFDF-importer

Fixed

  • Antar exakta minimi-mediadimensioner, upplösning och inledande teckenstorlekar konsekvent över kompilatormål samtidigt som värden under den stödda gränsen fortsätter att avvisas

Version 2.968.0

Added

  • Utvärderar uttryckliga rich-text-preferenser för färgschema, minskad rörelse, transparens och data, kontrast, tvingade och inverterade färger samt scripting-tillgänglighet medan okända utelämnade preferenser och beräknade sparade utseenden bevaras

Version 2.967.0

Added

  • Tillämpar anropartillhandahållna länkade och importerade rich-text-stylesheets med delade föredragna eller alternativa titeluppsättningar, avgränsad URI- och dokumentbaslösning samt transaktionell nativ, Windows- och Linux-FDF/XFDF-publicering

Version 2.966.0

Added

  • Utvärderar nativa rich-text-mediafrågor med uttryckliga print/screen-profiler, nästlade villkor och avgränsade funktionsintervall och behåller beräknade stilar i sparade utseenden och transaktionella FDF/XFDF-importer

Version 2.965.0

Added

  • Skapar, klonar och redigerar nativa XFA-formulärträd transaktionellt och bevarar överlevande nodidentiteter, händelserullback, stödda tom-sammanslutnings-occurrences och sparade formulärpaket oberoende av skrivna templates

Version 2.964.0

Added

  • Genererar nativa plain-, rich-, shaped- och family-utseenden från fullständiga OpenType-CFF2-typsnitt vid standardvariationskoordinater och bevarar glyfidentitet, Unicode, bredder och inbäddningsbehörigheter i avgränsad statisk CID-nycklad CFF 1-utdata

Version 2.963.0

Added

  • Tillämpar omfångsavgänsade CSS-namespace-deklarationer och kvalificerade selektorer på nativa rich-text-fält och Windows/Linux-formtransaktioner och bevarar beräknade utseenden, avgränsad namnrymdsslagning, exakt no-op-publicering och checked-build-kompatibilitet

Version 2.962.0

Added

  • Låter genererad annoteringstext för råtypsnitt brytas vid mellanslags- och bindestrecksgränser över stilruns och bevarar fullständiga kodade tecken, hårda brytningar, automatisk storleksanpassning och avgränsad annullering

Version 2.961.0

Added

  • Renderar saknade annoteringstextutseenden med ursprungliga Type1C-, CIDFontType0C- och nakna Type1-typsnittsprogram och bevarar Unicode-mappningar, automatisk storleksanpassning, avstånd, radhöjd och avgränsade oföränderliga resurser

Version 2.960.0

Added

  • Transporterar standard XFDF Stamp normal-, överrullnings- och ned-Form-utseenden med inbäddade typsnitts- och bildresurser, avgränsade cykelfria grafer, autentiserade nativa transaktioner och befintliga Windows/Linux-callbacks

Version 2.959.0

Added

  • Tillämpar komplexa not-listor, förlåtande is- och where-listor, förankrade has-relationer och filtrerade nth-child-positioner på nativa interna rich-text-stylesheets och bevarar selectorspecifitet, beräknade värden, typsnitt och transaktionella FDF/XFDF-utseenden

Version 2.958.0

Added

  • Åtkomst till levande nativa Data DOM-barnkollektioner genom skrivskyddade numeriska index i JavaScript och FormCalc, med bevarad aktuell barnordning, behållna skriptobjektreferenser, oberoende kloner, sparade värden och PDF-utseenden

Fixed

  • Avvisar numerisk tilldelning, borttagning och egenskapsdefinition både på aktuella kollektioner och inuti behållna lexikala skriptobjekt, med avgränsad händelserullering och försök igen

Version 2.957.0

Added

  • Tillämpar attributselektorer, syskonkombinatorer, strukturella och positionella pseudo-klasser, ärvd språkmatchning och sammansatt negation på nativa interna rich-text-stilmallar, med bevarade faktiska beräknade värden, typsnitt, sparade utseenden och transaktionella FDF/XFDF-importer

Version 2.956.1

Fixed

  • Löser FormCalc-noders barnlistsökvägar genom den faktiska händelsekompilatorn, med bevarade levande formulär-/egenskapskollektioner, Data DOM-objektåtkomst, avgränsad uppspelning, sparade nativa värden och PDF-utseenden

Version 2.956.0

Added

  • Genererar nativa rena, rich- och formade fältsutseenden från kompletta OpenType CFF-teckensnitt, med bevarade namnnycklade glyfidentiteter, faktiska CID-nycklade teckenuppsättningar, Unicode-mappningar, inbäddningsbehörigheter och delade typsnittsresurser; renderar saknade FreeText-utseenden med inbäddade OpenType-standarder

Fixed

  • Avgränsar CFF-tolkning och glyfmått, behåller avbrott och oföränderliga per-stil-läsare och bevarar TrueType-beteende över sex nativa kompilatormål

Version 2.955.1

Security

  • Avvisar delade X25519- och X448-hemligheter som består av enbart nollor efter kanonisk byteserialisering, inklusive indata med låg ordning vars svaga fältlim är nollskilda, och låter överenskommelsesresultatet vara falskt med en tom hemlighet och en färsk diagnos

Fixed

  • Bevarar portabla SHA3/SHAKE-konstanter och avsiktlig modulo-2^64 aritmetik för nyckelöverenskommelse när heltalsöverlopps- och intervallkontroller är aktiverade, inklusive P-256-, P-384- och P-521-utbyten i full bredd på 32-bitars Free Pascal

Version 2.955.0

Added

  • Lägger till direkta JavaScript-formulär-/egenskapsbarnkollektioner med längd, indexerade läsningar, item, namedItem, iteration och oberoende kloner; bevarar ägaridentiteten över händelser, upprepningsinstansredigeringar och implicit egenskapsskapande, med sparade nativa värden och PDF-utseenden

Fixed

  • Håller behållna direkta listor fästa vid sin aktuella händelseägare, avvisar borttagna ägare utan att rikta om till en annan instans och bevarar nativa värden, behållet tillstånd och journarullering vid kollektionsallokering, åtgärds- och tidsgränsfel

Version 2.954.0

Added

  • Tillämpar interna XHTML-stilmallar på nativa rich-text-fält och FDF/XFDF-importer med typ-, klass- och ID-selektorer, ättling- och barnkombinatorer, grupperade selektorer, Unicode-identifierareskapser, specificitet, importance och källordning

Fixed

  • Bevarar beräknade stilar i faktiska sparade värden och widgetutseenden, med avgränsad skanning och matchning, avbrott, exakta no-op-byte vid sparande och transaktionell återställning av återanrop

Version 2.953.0

Added

  • Lägger till oberoende XFA-frågenodekollektioner med all-, classAll-, classIndex-, klon- och medlemskapsoperationer, stabila behållna referenser, avgränsad transaktionell uppspelning och nativ konsumtion i sparad PDF

Fixed

  • Håller behållna frågade instanshanterare fästa vid den aktuella händelsegrafen och utvärderar ordinära SOM-sökvägar och predikat inom de ursprungliga standardstack- och åtgärdsgränserna

Version 2.952.0

Added

  • Bevarar externa GoToR-annoteringsdestinationer genom nativ, ordinär Windows- och versionshanterad återanrops-XFDF-utbyte, inklusive exakta koordinater, Unicode-filspecifikationer och valfritt fönsterbeteende

Fixed

  • Autentiserar ordinära annoteringsimporter i inlästa dokument mot ursprungliga krypteringsbehörigheter, signaturer och fältlås samtidigt som tillåtna anroparredigeringar och oberoende källivslängd behålls; läser signaturens ByteRange-heltal utan Single-avrundning och frikopplar delad RC4-stränglagring före kryptering

Version 2.951.0

Added

  • Rendererar avgränsade molniga kanter för Square-, Circle-, Polygon- och FreeText-annoteringar utan normala utseenden och bevarar bredd, streck, opacitet och källgrafer; delar oföränderliga genererade typsnittsbyte mellan FreeText-visningar utan upprepade avkodningsbyteavgifter samtidigt som tolkningsbudgetar och avbrott behålls

Version 2.950.0

Added

  • Skapar, klonar, byter namn på, infogar och tar bort nativa XFA Data DOM-noder med avgränsat ägarskap, ärvda namnområden, stabila importerade referenser, uppdatering av bindning och komplett händelserullering; bevarar UTF-8-attribut och behållna FormCalc-referenser genom sparad XML och nativa PDF-konsumenter

Version 2.949.0

Added

  • Bevarar skillnaden mellan inga valda choice-alternativ och ett valt tomt exportvärde genom nativt, Windows- och Linux-XFDF-utbyte, med exakt no-op-publicering, avgränsad validering och kontrollerad inläsning av krypterade dokument

Version 2.948.0

Fixed

  • Rendererar fyllda glyfmasker med fångad fraktionell klippningstäckning samtidigt som PDF-sökvägar, mönster, alfa- och blandningsoperatorer bevaras, och kontrollerar rasterminnets arbetskapacitet före allokering

Version 2.947.1

Fixed

  • Bevarar explicita tomma standarddeklarationer för XML-namnområde under XFA-tolkning och serialisering, vilket hindrar okvalificerade dataunderträd från att ärva ett förfadernamnområde efter sparande och omläsning

Version 2.947.0

Added

  • Rendererar fasade och infällda rektangulära annoteringskanter samt mätta Unicode- eller rich-radrubriker och bevarar opacitet, ändpunktsförskjutningar, befintliga utseenden, avgränsade typsnittsresurser och annoteringsklippning

Version 2.946.3

Fixed

  • Tillämpar xfa.host.resetData genom nativa händelser utan att feltolka det som en Data-XML-import och bevarar standardmallvärden, bundna värden, upprepningsomfång, väntande redigeringar och transaktionell rullering

Version 2.946.2

Fixed

  • Rättar SHA-1-, SHA-256-, SHA-384- och SHA-512-ordaritmetik när kompilatorns intervall- och överloppskontroller är aktiverade, och bevarar giltiga digestvärden och AES-256-lösenordsautentisering utan att ändra publika gränssnitt

Version 2.946.1

Fixed

  • Bevarar till-present-tomma XFA-attribut samt UTF-8-namn, värden, namnområden och indexerade frågor genom nativ XML-serialisering, bestående egenskapsstandardvärden, upprepade scripthändelser och transaktionell rullering

Version 2.946.0

Added

  • Rendererar tillfällig rich-text för annoteringar med explicita skrivskyddade Preview/Print-typsnittsbehörigheter och oförändrade hela typsnittsbyte, bevarar redigerbara inbäddningspolicyer och befintliga Screen-utseenden utan implicita mediaplatshållare

Version 2.945.0

Added

  • Bevarar lokala annoteringssidor och namngivna destinationer genom nativt och äldre XFDF-utbyte, med exakta avgränsade decimaltoken, kvalificerad Adobe-XML, validering av dubblettattribut och transaktionell publicering via Windows-/Linux-återanrop

Version 2.944.0

Added

  • Aktuella visnings- och exportposter för XFA-val hanteras via JavaScript och FormCalc, medan kvarvarande alias, exakta dubblett- eller tomval, nativa listor per instans och sparade native- eller legacy-PDF-appearances bevaras inom begränsade mutationsgränser

Version 2.943.1

Fixed

  • Laddade PDF-byte bevaras exakt när native-transaktioner med blandade skalära och typade rich-text-runs eller tomma batcher inte gör några ändringar, medan pågående grafredigeringar, autentiserade signatur- och krypteringspolicyer, resursgränser och atomär publicering behålls

Version 2.943.0

Added

  • Mappad annoterings-XFDF utväxlas via Windows-filjobb och ursprungliga V1-callbacks, med autentiserade tilläggstransaktioner, begränsad binär- och Unicode-data, exakta no-op-byte och atomär publicering

Version 2.942.0

Added

  • Annoteringar utan normala appearances renderas via begränsad temporär geometri, linjeändar, ikoner och Unicode FreeText, med källresurser, rich text, visnings- och utskriftsflaggor samt avbrott behållna

Version 2.941.1

Fixed

  • Unika val i native XFA-valfält valideras med begränsad, avbrytbar sortering, medan exakta skiftlägeskänsliga exportvärden, ursprunglig valordning och transaktionellt felbeteende bevaras

Version 2.941.0

Added

  • Oberoende kaskaderad native-CSS och ursprungliga typade värden för tecken- och ordmellanrum tillämpas på shapade runs, fysiska rader, anpassning och sparade appearances, med beräknad punktserialisering, exakt decimalavrundning och transaktionell Windows-/Linux-JSON-publicering

Version 2.940.0

Added

  • Arton mappade annoteringstyper utväxlas via begränsade native-XFDF- och Linux-V1-JSON-operationer, medan Unicode-richtextinnehåll, callouts, genomskinliga färger, binära bilagor, popup- och svars-/vidarebefordringslänkar, autentiserade behörigheter och transaktionell tilläggpublicering bevaras

Version 2.939.0

Added

  • Legacy XFA-kombo- och listfält skapas med exakta exportvärden för upprepade instanser, visningsetiketter, valda index, rullningspositioner och stylade Unicode-appearances, medan höga fältflaggor och per-fält-rollback bevaras, med en fristående choice-fabrik för tillhandahållna teckensnitt och ett läge enbart för metadata

Version 2.938.0

Added

  • De fyra standardiserade color intentions renderas över grafiktillstånd, formulär, bilder, shadingar, mönster och transparensgrupper, med bildöverskridanden, relativ fallback för okända namn och begränsad, avbrytbar cache av ICC-transformeringar

Version 2.937.0

Added

  • Oberoende legacy XFA-radiogrupper skapas från faktiska scope för upprepade instanser, med bevarade exakta exportvärden, valda tillstånd och stylade Unicode-etiketter, samt rollback som återställer hela gruppen och ett fristående native-API för medlemsappearances med tillhandahållna teckensnitt

Version 2.936.1

Added

  • Giltiga PDF-ordlistor och trailers parsas med kontroll av aritmetiskt overflow, aktiverat genom att explicit behålla de låga 32 bitarna från FNV-hashmultiplikationen

Version 2.936.0

Added

  • Explicita typade JSON-radhöjder för rich text binds till sparade appearances i Windows och Linux, medan författade runs, tillhandahållna överordnade mått, begränsad aggregerad planering och transaktionella uppdateringar av blandade fält bevaras

Version 2.935.1

Added

  • Supplerande Unicode-tecken räknas en gång i portabla XFA-lösenordsappearances, ursprungliga värden behålls, och aggregerade glyfbudgeter verkställs innan masker allokeras, med avbrott på skalär nivå

Version 2.935.0

Added

  • Radhöjd för rich text, beräknade CSS-längder, ärvda faktorer och överordnade teckensnittsmått bevaras genom native-layout, sparade appearances, Windows-filjobb och callbacks samt Linux-import av FDF/XFDF-JSON, med begränsad planering av måtteckensnitt

Version 2.934.0

Added

  • Riktiga Unicode-appearances för legacy XFA-text, tal-, datum- och lösenordsfält skapas med effektiv teckensnittsfamilj och -stil per instans, redigerbara inbäddade teckensnittsresurser, skalär lösenordsmaskering och transaktionell resursadoption

Version 2.933.0

Added

  • Flerdimensionella samplade kubiska färgfunktioner utvärderas med befintlig konvention för fyra knutar och skalära värden, linjär fallback längs den korta dimensionen, begränsat tensorarbete, avbrott och oförändrad skalär interpolation

Version 2.932.0

Added

  • Signerade och osignerade JPEG 2000-komponenter avkodas upp till 26 bitar med blandad precision, subsampling och opacitet, begränsade sampel normaliseras, och JPX-bildens BitsPerComponent-deklarationer ignoreras före rendering

Version 2.931.0

Added

  • Legacy XFA-kryssrutornas exporttillstånd på, av och neutral bevaras liksom stylade Unicode-etiketter och native-appearancepaket, special-PDF-namn kodas konsekvent, och direkta sidresurser återställs efter avbruten widgetadoption

Version 2.930.0

Added

  • Automatiska tillämpningar av optional content utvärderas med explicit zoom-, språk- och användarkontext, bestående native-manuella val och begränsat tillstånd för Linux JSON-operationer; lånade renderingskontexter ogiltigförklaras efter dokumentändringar

Version 2.929.0

Added

  • Skalär text, comb-celler, valetiketter och knappmarkeringar byggs från ordnade, tillhandahållna reguljära teckensnittsfamiljer via native-setters, Windows-jobb och versionerade Windows-/Linux-callbacks; vanlig skalär metadata bevaras, och ett val utan markering skiljs från en markerad tom export

Version 2.928.0

Added

  • Streckarrayer och faser i ExtGState renderas med begränsad, typad skanning av PDF-arrayer, medan kommentarer, strikt operandvalidering, ärvd streckgeometri, avbrott och vanliga textarrayer bevaras

Version 2.927.0

Added

  • Skalära och rich-etiketter för ursprungliga Windows ApplyXFAAsAcroForm-pushknappar ritas med faktiskt installerade familje- och stilprogram, bestående överskridanden per instans och native normal-/down-/rollover-appearancepaket, med registrering av äkta AcroForm-teckensnittsresurser

Version 2.926.0

Added

  • Begränsad inline-CSS font-shorthand expanderas till oberoende kaskaderade kandidater för storlek, vikt, kursiv stil och tillhandahållen familj, medan ärvd relativ storleksättning, återställning vid utelämnad stil, prioritet för important-komponenter och faktiskt sparade teckensnittsappearances bevaras

Version 2.925.0

Added

  • Ordnade, av anroparen tillhandahållna teckensnittsfamiljer väljs för kompletta stylade rich-text-grafem via Windows-filjobb och V1-callbacks, medan CSS- och typade kandidater, äkta tomvärdestransaktioner och aggregerade teckensnittsbudgeter bevaras

Version 2.924.0

Added

  • Standarddokumentets optional content-grupper och medlemskapsuttryck renderas över markerat sidinnehåll, form-XObjects och annoteringar, dolda grafik- och texttillstånd bevaras, och explicit visnings- eller utskriftsanvändning exponeras via det nativa Linux V1 JSON-gränssnittet

Version 2.923.0

Added

  • Ordningställda listor med rich-text-teckensnittskandidater bevaras genom native-appearances och Linux V1 JSON, och blandade skalära samt ursprungligt typade runs binds till Windows-filjobb och oförändrade V1-callbacks med exakt målning, tillhandahållna stilprogram och publicering i två faser

Version 2.922.0

Added

  • Visnings- eller utskriftssynlighet för native-annoteringar väljs enligt PDF 2.0:s Invisible-regler, RichMedia- och Projection-statiska appearances samt implicita Text-transformationer känns igen, och begränsad, avbrytbar atomär Windows-PNG-ersättning behålls med faktiska OS-feldiagnostiker

Version 2.921.0

Added

  • Skalära och XHTML-etiketter för native-XFA-pushknappar renderas med äkta tillhandahållna familje- och stilprogram, bevarade inline-avgränsare och författad utfyllnad, faktiska normal-/down-/rollover-appearances, etikettsynlighet och bestående överskridanden för upprepade instanser

Version 2.920.1

Fixed

  • Lyckade native Linux C ABI-mutationer av PDF hålls synkade med deras committade källsnapshot, så att efterföljande FDF- eller XFDF-importer med samma värden bevarar de exakta publicerade formulärvärdena, typade appearances, ritad text och importerade sidor i stället för att återställa inaktuella indatabyte

Version 2.920.0

Added

  • Blandade skalära fält och ursprungliga typade rich-text-runs sparas i en enda oberoende atomär dokumenttransaktion, exakta appearancevärden och tillhandahållna teckensnittsprogram behålls, autentiserade policyer och aktuella grafredigeringar bevaras, och äkta read-only-appearance-no-ops känns igen

Version 2.919.0

Added

  • Kompletta stylade Unicode-grafem löses via explicit tillhandahållna kandidatteckensnittsfamiljer, författade värden och exakta appearancestilar bevaras, en opt-in native Linux JSON-fallback exponeras via oförändrade V1-callbacks, och den faktiska aggregerade teckensnittstilldelningen behålls när konfigurerade program läses in

Version 2.918.0

Added

  • Boolean-etiketter i native XFA renderas från effektiv XHTML och tillhandahållna namngivna stilteckensnitt, överlägg för upprepade instanser och sparad runtime-XML bevaras, och automatiska etikettreserver mäts med slutliga logiska textlinjeutsträckningar

Version 2.917.0

Added

  • Äkta namngivna familje- och stilprogram väljs för Windows-FDF- och XFDF-importer via nästlade filsökvägar eller befintliga versionerade teckensnittscallbacks, och synkroniserade läsningar från slumpkällor isoleras från sekventiell transaktionspublicering

Version 2.916.0

Added

  • 182 inbyggda legacy-CMaps avkodas och renderas med begränsade koder om ett till fyra byte, exakta skrivriktningar för förälder och barn, Unicode-mappningar, deterministisk återhämtning vid felaktiga koder, avbrytbart arv och medföljande redistribution-notiser

Version 2.915.0

Added

  • Valda alternativ i native-XFA-listor hålls synliga via valfönster baserade på teckensnittsmått och bestående toppindex, kompletta alternativ- och värdearrayer bevaras, och teckensnittsändringar samt event-rollback för upprepade instanser behålls med begränsad förberedelse av synliga glyfer

Version 2.914.1

Fixed

  • Träffar i förgrundens minnescache överlappas med kooperativt prefetch-avbrott efter att den verkliga minnesreservationen tagits, cache-telemetri för operationer bevaras, och avbrott kontrolleras igen efter väntan på cachelås eller reservation, medan strikt missordning och tråd-joins behålls

Version 2.914.0

Added

  • Boolean-appearances i native XFA skapas med sex anpassade markeringar, runda eller fyrkantiga ramar, markeringsfärger och -storlekar, fem etikettplaceringar och delade inbäddade etikettteckensnitt; reversibla Unicode-exportalias och distinkta giltiga neutrala tillstånd bevaras genom eventkörning och omladdning av sparad PDF

Version 2.913.2

Fixed

  • Kompletta roterade matrisstreckkoder avkodas med företräde framför frånkopplade fragment, och exakta avvikelser i QR-finder avvisas innan hela rutnätet samplas, med bibehållen snävare gruppering, ursprungligt beteende för linjära streckkoder, atomära skanningsbudgeter och den oförändrade tvåsekundersdeadlinen

Version 2.913.1

Added

  • Befintliga implicita XFA-värden löses via begränsade levande datakontexter utan att väljarparsning upprepas på bekostnad av scriptoperationernas tilldelning, medan ursprungliga transaktionsdeadlines och explicit bindningsbeteende bevaras

Version 2.913.0

Added

  • Konfigurerade nativa rich-teckensnittsfamiljer väljs via oförändrade Linux V1 JSON-callbacks för typade fyllningar och FDF- eller XFDF-importer, faktiskt nödvändiga familje- och stilprogram läses in med aggregerade budgeter, och båda implementerade rich-profilerna annonseras

Version 2.912.0

Added

  • Äkta FDF eller XFDF importeras och exporteras via Windows-filjobb och V1-callbacks med oföränderlig, ägd indata, förberedelse av aktuell osparad graf, faktiska rich-appearances med fyra teckensnitt, autentiserade signerade AES-policyer och context-commit först när båda utdata-callbacks lyckats

Version 2.911.0

Added

  • Nativa XFA-ritningar av rektanglar, linjer och bågar samt inline-PNG- eller JPEG-bilder skapas med faktisk sampelavkodning, alfamasker, anpassat bildförhållande och roterad placering, begränsad förberedelse och transaktionellt ägarskap under avbrott

Version 2.910.0

Added

  • NoZoom- och NoRotate-annoteringsappearances anpassas runt det transformerade rektangelankaret uppe till vänster, med UserUnit, anpassad formulärgeometri, opacitet och den faktiska sidklippningen bevarade vid skalning och rotation

Version 2.909.0

Added

  • Faktiska tillhandahållna namngivna TrueType-familjer väljs per rich-run och för begränsade XHTML font-family-deklarationer, stilmått och markningscachor per familj bevaras, och äkta FDF- eller XFDF-rich-värden importeras med kanonisk jämförelse som känner igen familjer

Version 2.908.1

Fixed

  • Giltiga inline-deklarationer för rich text tillämpas med oberoende important-prioritet, omslutande beräknade font-size-baser och explicita ärvda egenskaper, medan gränserna för CSS-kommentarer samt citat- och funktionsdeklarationer bevaras

Version 2.908.0

Added

  • Äkta native-XFA-kombinationsrutor, listrutor, flervalsfält, kryssrutor och strukturellt scopade radiogrupper skapas direkt från sparade runtime-data, med parade visnings-/exportetiketter, objekt per instans, åtkomstflaggor och oberoende native-appearance-tillstånd

Version 2.907.1

Fixed

  • Faktiska hexadecimala PDF-escape-sekvenser och UTF-8-byte avkodas i namnbaserade och ärvda formulärfält, medan exporttillstånd för knappar med mellanslag, skiljetecken och Unicode bevaras vid native-omladdning av sparade dokument

Version 2.907.0

Added

  • Riktiga glyfidentiteter för CID-keyed CFF renderas med begränsade notdef-substitutioner via faktiska CID-till-GID-mappningar för teckensnitt, med oberoende textextraktion och avbrottskontroller bevarade genom hela parsningen av escape-kodade CMaps

Version 2.906.0

Added

  • Kombinerande tecken över stilar placeras med faktiska valda glyfgränser och kanoniska kombineringsklasser när fästankare saknas, med oberoende teckensnittsskalor, stapling på samma sida och faktiska upplösta objektriktningar vid dubbla tecken

Version 2.905.1

Fixed

  • Escape-kodade predictorparametrar löses inom den faktiska DecodeParms-ordlistan och den verkliga strömtoken lokaliseras efter balanserad yttre ordlistesyntaks, medan binära xref-nyttolaster med whitespace-värden bevaras vid vanlig Windows-inläsning

Version 2.905.0

Added

  • Nativa PDF-sidträd, upprepade redigerbara fält, pushknappar och statisk Unicode-text skapas direkt från XDP och sparade runtime-värden på Linux och Windows, med äkta inbäddade appearances och begränsad kandidatförberedelse innan anroparens utdata

Version 2.904.2

Fixed

  • Faktiska yttre korsreferensströmordlistor läses utan att nästlade krypteringsinställningar förväxlas, escape-kodade postnamn löses upp, och direkta krypteringsordlistor bevaras vid vanliga Windows-inkrementella revisioner

Version 2.904.1

Fixed

  • Kompletta riktningskontroller för stycken och parade parenteser bevaras genom automatisk fristående shaping och enkel radbrytning i flerradsfält, med kopplingskontexter för fysiska rader, oföränderlig cachning av stycken och begränsad total glyfutdata

Version 2.904.0

Added

  • Runtime:n för native XFA JavaScript, eventjournal, Data DOM, XML, FormCalc och ICU-lokaler körs på Linux med egna delade modul-leaser och verkliga monotoniska klockor, medan befintlig Windows-Unicode-initiering bevaras

Version 2.903.1

Fixed

  • Unicode-kluster med enbart riktningsstyrning hålls på noll teckenframsteg vid teckenmellanrum, samtidigt som logiska kontroller, glyfidentiteter samt normalt mellanrum för synliga kluster och ord behålls

Version 2.903.0

Added

  • Riktningsinbäddningar, överskrivningar, isolat och styckekontext för parade parenteser bevaras över radbrutna rich-stilrader, begränsade API:er för styckehärledd och cachad fysisk radordning exponeras, och faktiska radobjekt shapas med upplösta nivåer och skriftsystem

Version 2.902.0

Added

  • Stylad FDF och XFDF importeras och exporteras via äkta Linux JSON C ABI-callbacks, konfigurerade äkta font faces bäddas in, signaturpolicyer och exakta privata källbyte bevaras vid no-op-importer, och aktuell dokumentstatus publiceras först när båda callback-utdatan lyckats

Version 2.901.0

Added

  • Coons- och tensorpatch-nätshadingar renderas med begränsad kubisk geometri, färginterpolation i källrymden, fortsättningskanter, vekhantering samt transaktionella gränser för resurser och avbrott

Version 2.900.0

Added

  • Namespace-medveten native XFA Data DOM-XML läses in och sparas transaktionellt, ordnat blandat innehåll och databindningsidentiteter bevaras, värdvärden citatas i linjär tid, och en exakt JavaScript-modullease per session behålls genom begränsad engine-replay

Version 2.899.0

Added

  • Stylade kombinerande tecken fästs vid faktiska GPOS-bas-, ligatur- och mark-ankare med oberoende teckensnittsskalor, glyfkonturer med negativ origo bevaras inuti rich-widget-klipp, och passande radutsträckningar reserveras för synliga staplade tecken

Version 2.898.0

Added

  • Begränsad rich text i FDF och XFDF läses och skrivs, nativa XHTML-stilspann avkodas till fyra äkta inbäddade teckensnittsstilar, och riktiga appearances importeras transaktionellt i signerade eller krypterade PDF:er, inklusive kanonisk jämförelse av befintliga read-only-rich-värden

Version 2.897.0

Added

  • Utvalda Unicode-stilspann shapas med äkta omgivande HarfBuzz-kontext, nativa API:er för styckeordning och riktning exponeras, och typade rich-objekt placeras inom faktiska radbrutna fysiska rader, medan logiska stilar och objektägande bevaras

Version 2.896.0

Added

  • Native XFA-bindnings-SOM löses genom upprepade datascopes med begränsad genomlöpning av underordnade, escape-kodade namn, Unicode-matchning, per-instans-fallback för saknade blad och transaktionell synkronisering av runtime-värden

Version 2.895.1

Fixed

  • Statiskt stöd för native XFA-event kompileras en gång per ägd JavaScript-engine, och kompletta kompakta dynamiska eventargument spelas upp igen, med closures, inspelade värdsvar, instansisolering, ursprungliga journalbudgeter och transaktionsdeadlines bevarade under rollback

Version 2.895.0

Added

  • Faktiska FDF- och XFDF-byte importeras och exporteras via befintliga versionerade nativa Linux JSON-callbacks, Unicode-fältvärden, AES-säkerhet och autentiserade signaturpolicyer bevaras, och det aktuella dokumentet rullas tillbaka efter misslyckad utdata eller resultatpublicering

Version 2.894.0

Fixed

  • För bred typad rich-text radbryts vid kompletta Unicode-grafemgränser över teckensnitts- och färgstilar, faktiska stylade intervall mäts före radfördelning, och odelbara överdimensionerade kluster, blandade punktstorlekar och explicita teckenmellanrum bevaras

Version 2.893.1

Security

  • Nödvändiga Adobe-signerade CRL- och OCSP-bevis autentiseras inuti äkta RFC3161-dokumenttidsstämplar innan signaturpolicyskyddade formuläruppdateringar accepteras, med transaktionell vägran bevarad för saknade, återkallade, utgångna eller opålitliga bevis

Version 2.893.0

Added

  • Begränsad skalär fältdata i native FDF och XFDF läses och skrivs, och riktiga Unicode-, val- och knappappearances importeras transaktionellt i oberoende publicerade PDF:er, med autentiserade signaturpolicyer och AES-kryptering bevarade

Version 2.892.0

Added

  • Begränsade friforms- och gitterbaserade triangelnäts-shadingar renderas med äkta koordinat-, flagg-, funktions-, färg- och transparenssemantik, och hexadecimala Indexed-palettströmmar avkodas exakt en gång

Version 2.891.0

Added

  • Ordningställda XML-kommentarer och bearbetningsinstruktioner i native XFA bevaras genom eventimport, serialisering, kloning och transaktionell rollback, samtidigt som de hålls utanför skalär text, rich text och SOM-elementval

Version 2.890.1

Fixed

  • Tillfälliga lås vid atomär Windows-publicering återställs med högst åtta avbrytbara ersättningsförsök, medan exakta mål, förberedda byte, permanenta operativsystemsfel och egen rensning av mellanlagring bevaras

Version 2.890.0

Added

  • Giltiga Unicode-grupper för ord, hårda mellanslag, skiljetecken och siffror bevaras över typade rich-stilruns, hela grupper anpassas med verkliga stylade teckensnittsframsteg, baslinjer med blandade storlekar behålls och CRLF sammanfogas över stilgränser

Version 2.889.0

Added

  • Materialiserade dolda och osynliga XFA-skaläralias synkroniseras efter synliga fält-commitar, medan nativa upprepade datascopes, explicita tomvärden och exakt transaktionell rollback bevaras

Version 2.888.0

Added

  • Kompletta Unicode 17-egenskaper och kontextuell radbrytning tillämpas via befintliga dokument-API:er, portabla egenskapsfrågor exponeras råa eller LB1-upplösta, etablerade enum-ordinaletter och tailoring-kontrakt bevaras, och radbrytningsförbud vid mjuka bindestreck respekteras

Version 2.887.0

Added

  • Persistent native XFA exData-XML importeras och serialiseras med omedelbara script-läsningar, bevarade namespaces och blandat innehåll, behållna identiteter för upprepade instanser, transaktionell rollback och äkta rendering av sparad XHTML

Version 2.886.0

Added

  • Fristående RFC3161-dokumenttidsstämplar för PDF skapas och autentiseras med begränsad strömning, SHA256-, SHA384- eller SHA512-avtryck, betrott TSA-identitet och nonce-bindning, nödvändiga ESIC-tilläggsdeklarationer och autentiserade undantag för certifiering eller fältlås

Version 2.885.0

Added

  • Unicode 17:s standardradbrytningspunkter exponeras och används i faktiska nativa rich-fält, med grupper för hårda mellanslag, bindestreck och skiljetecken samt explicita Unicode-avgränsare bevarade och exakta ursprungliga V- och RV-värden

Version 2.884.0

Added

  • Portabla standardgränser för utökade Unicode 17-grafem exponeras, och för breda rich-ord radbryts vid kompletta kluster, med faktiskt Unicode-appearanceinnehåll bevarat och korrigering av breddändringar i anslutningsformer efter delsträngsshaping

Version 2.883.0

Added

  • Bestående native XFA-barn för bild- och geometrivärden skapas, och verklig PNG-alfa, bild-DPI samt bildförhållandegeometri renderas, med isolering av upprepade instanser och transaktionell rollback bevarade; FPC-bildpixlar som tidigare renderades svarta korrigeras

Version 2.882.0

Added

  • Faktiska teckensnittsresurser och PDF-textparametrar från underordnade strömmar ärvs i Form-, Type3- och Pattern-rendering, textsparningar i grafiktillstånd bevaras, osynlig Type3-text respekteras, och oberoende standardvärden för annoteringsappearances återställs

Version 2.881.0

Added

  • Standardiserade fristående CAdES-signaturer autentiseras automatiskt med nödvändig bindning till signeringscertifikat, och äkta hexadecimala eller escape-kodade literala Contents-strängar läses konsekvent för verifiering, tillåtna formuläruppdateringar och bevis för långtidsvalidering

Version 2.880.2

Fixed

  • Rich-styckejustering behålls över tomma inledande runs, inline-stiländringar och explicita radbrytningar, och begärda rektangel- eller cirkelramar samt uppmätta markerade rader ritas i stället för att tyst utelämnas

Version 2.880.1

Fixed

  • Avbrott respekteras före allokering av sidrenderare och kontextinstallation samt under initiering, en aktiv färgkontext från anroparen bevaras när konstruktionen avvisas inledningsvis, och lånade visningslistor frigörs utan att publicera partiella bitmappar

Version 2.880.0

Added

  • Faktiska skalära rit- och etikettvärden i native XFA renderas efter scriptskapande, explicita tomvärden och isolering av upprepade instanser bevaras, och exakt rollback behålls när senare native-ritning tar slut på sin budget

Version 2.879.0

Added

  • Bestående skalära värdesbarn i native XFA skapas med omedelbar synkronisering av fält, data och delade alias, typad formulärpersistens, widget-commitar, isolering för upprepade instanser och exakt transaktionell rollback

Version 2.878.0

Added

  • Faktiska Windows-signaturappearanceprofiler genereras med inbäddade Unicode-teckensnitt för sammanslagna och separata widgets, rotation, kryptering och certifieringsflöden, och nödvändig AppearanceFilter verkställs mot den profil som faktiskt genererats

Version 2.877.0

Added

  • Faktiska färgade och ofärgade PDF-mönster för tiling och shading renderas med ärvda mönsterorigo, nästlade celler, överlapp, linje- och stencilfärgläggning, transparens och begränsat avbrott mot nativa Linux- och Windows-mål

Version 2.876.1

Fixed

  • Komplet XFA-SOM-bindning och faktiskt val av emitterad instansdata bevaras när standardvärden för saknade instanser tillämpas från formulär och mallar, utan att värden lånas från en annan upprepad förekomst

Version 2.876.0

Added

  • Autentiserade CRL- och OCSP-bevis bäddas in i signerade Windows Adobe RevocationInfoArchival-attribut, faktiska seed-policyer verkställs, och betrodd status, svarsauktorisering och aktualitet valideras innan signaturer publiceras

Version 2.875.0

Added

  • Faktiska XFA-fältstandardvärden löses utan att data tillverkas vid läsning, explicita tomma instansvärden bevaras, och redigeringar skriver oberoende instansdata utan att ändra delade mallar

Version 2.874.0

Added

  • Nativa rich-text-fält redigeras med typade Unicode-stilruns, faktiska inbäddade regular-, bold-, italic- och bold-italic-teckensnitt, uppmätta appearancebaslinjer med blandade storlekar, dekorationer och synkroniserade V/RV-värden över widgets och krypterad utdata

Version 2.873.0

Added

  • Bestående XFA-UI-val per instans skapas genom nativa scripts, och faktiska text-, lösenords- och valwidgets används med flerradiga och uppmätta appearances för långa ord

Version 2.872.0

Added

  • Faktiska Windows DocMDP-certifieringssignaturer skapas med P1-, P2- eller P3-behörigheter och autentiserade Unicode-rättsliga intyg, nödvändiga seed-policyer och FieldMDP-lås respekteras, och efterföljande signaturer tillåts endast där den signerade policyn tillåter dem

Version 2.871.1

Fixed

  • XFA-eventkroppar körs i sitt eget lexikala och strikta scope, medan fältalias i det yttre scopet, eventets this-värde, explicita returer och exakt rollback vid fel bevaras

Version 2.871.0

Added

  • Saknade XFA-egenskaper för teckensnitt, stycke, fyllning, färg, ram, kant och hörn skapas genom faktiska nativa eventscripts, stabila formulärbindningar per instans sparas med exakt rollback, och valfria widgetappearances återskapas när stiländringar får effekt

Version 2.870.0

Added

  • Faktisk nativ Windows Cairo-utdata renderas med explicita GDI-standardteckensnittskonturer och korrekta Win32 OpenJPEG-anropskonventioner, med reproducerbara låsta nativa beroenden och oberoende godkännande av utdata

Version 2.869.0

Added

  • Windows-dokument signeras med verkliga synkrona C ABI RFC 3161-transport-callbacks och SHA256-, SHA384- eller SHA512-avtryck, autentiserat TSA-förtroende och CRL-kontroller, nödvändiga tidsstämpelseed-begränsningar och begränsad transaktionell publicering

Version 2.868.0

Added

  • Maskerade lösenordsfält och literala filväljarfält får appearances med bevarade Unicode-värden och AES-256-policyer, escape-kodad supplerande Unicode förs genom det nativa JSON-ABI:t, subnormala decimala PDF-källtoken behålls, och RGB-prefetch-buffertar skapas utan en skärm-DC

Version 2.867.0

Added

  • XFA rich text radbryts över inline-stilar med uppmätta ordgränser, explicita radbrytningar, delade radbaslinjer och justering, verkliga mellanrum i justerad text och fragmentlänksgeometri, medan nativ XDP-persistens för upprepade instanser bevaras

Version 2.866.1

Added

  • RFC 3161-token för råsignaturer autentiseras med den faktiskt stödda algoritmen för SHA256-, SHA384- eller SHA512-meddelandeavtryck, medan befintligt SHA256-standardval för förfrågningar samt full kontroll av tokenförtroende och återkallning behålls

Version 2.866.0

Added

  • XFA rich text-runs med blandade storlekar riktas mot en gemensam baslinje i sparad PDF, anroparens textpositionsläge bevaras, och den större intilliggande styckemarginalen tillämpas, inklusive övergångar via tomma stycken

Version 2.865.0

Added

  • RFC 3161-tidsstämplar begärs och autentiseras för explicita SHA256-, SHA384- och SHA512-meddelandeavtryck utan att avtrycket hashas igen, med strikta digestlängder, färska nonces, begränsad transport samt validering av förtroendekedjor och återkallning bevarade

Version 2.864.0

Fixed

  • Den ursprungliga deadlinen för streckkodsskanning bevaras genom att kompletta linjära raster och kandidatgrupper i tystzonen prioriteras, och ogiltiga projektiva DataMatrix-finderramar avvisas före sampling av inre moduler, utan att finder-toleranserna ändras

Version 2.863.0

Added

  • Giltiga ärvda Windows-begränsningar för signaturseed och certifikat respekteras med faktiskt digest- och CAdES-val, Unicode-signaturinformation, normaliserade indirekta fältlås, autentiserade historiska låsbehörigheter, tillåtna andrasignaturer och krypterade formulärpolicyer

Version 2.862.0

Added

  • Faktiska nativa funktions-, axiella och radiala PDF-shadingar renderas med begränsad geometri- och funktionsutvärdering, ärvda klippningar samt Domain-, Matrix-, Extend- och BBox-semantik, kalibrerade och specialfärger, transparens, soft masks, blandning och knockoutgrupper

Version 2.861.0

Added

  • Faktiska nativa annoterade kontraktgransknings-PDF:er och explicita Unicode-markeringar exporteras med synliga normala appearances, källinnehåll och inkrementella signaturrevisioner bevaras, autentiserade P3-annoteringsbehörigheter och krypterade användarrättigheter verkställs, och begränsade utdata förbereds före callback-publicering

Version 2.860.0

Added

  • Nativa Linux-alternativ för signering och verifiering binds till faktiskt digest-val, Unicode-signaturmetadata, namngivna appearanceprofiler, explicita förtroendebyte, tidsstämpeltransportidentitet och autentiserade återkallningsbevis, med begränsad privat förberedelse före publicering

Version 2.859.0

Added

  • Aktiva överskridanden per instans för XFA-teckensnitt, stycke och skalär brödtext tillämpas på faktisk rich-text-ritning och mätning, inline-CSS-företräde och explicit tomt innehåll bevaras genom nativ XDP-persistens, och exakt transaktionell rollback behålls

Version 2.858.0

Added

  • Escape-kodade PDF-namn för teckensnitt, teckenkodning, glyfer, färger och resurser avkodas exakt en gång i native-rendering och delad textextraktion, literala hash-resursnycklar bevaras, och ekvivalenta namn hålls överensstämande med faktiska konturer och glyfmått

Version 2.857.0

Added

  • Nativa dokument jämförs via antal sidor och objekt, Unicode-text, normaliserade strukturella grafer och faktiskt renderade RGB- eller luminanspixlar, med semantisk strömekvivalens, autentiserad krypterad indata och begränsad förberedelse före callback-publicering

Version 2.856.0

Added

  • Faktiska nativa förval för signaturappearances väljs via registrerat profilnamn, distinkta layouter för godkännande, certifiering och kompakt format genereras, autentiserad profilmetadata och krypterade policyer bevaras, och okända profiler avvisas före publicering

Version 2.855.0

Added

  • Standardvärden från native XFA-egenskapsscheman tillämpas, och explicita tomvärden, stilar per instans samt decimala punktmått för teckensnitt, ram och ritning bevaras genom faktisk AcroForm- och tillplattad PDF-utdata

Version 2.854.0

Added

  • Egenskaps- och attributobjekt i native XFA exponeras med bestående formulärbindningar per instans, synkroniserade värde-/dataskrivningar och verkliga effekter på teckensnitt, ram, stycke och UI-layout, medan transaktionell rollback och scriptlösa fokusbudgetar bevaras

Version 2.853.0

Added

  • Äkta Adobe-återkallningsbevis bäddas in som autentiserade CMS-signerade attribut, kompletta certifikat- och tidsstämpelkedjor valideras mot explicit förtroende och aktuella CRL- eller OCSP-bevis före publicering, och nödvändig inbäddning av återkallning i signaturseed verkställs

Version 2.852.0

Added

  • Autentiserade Unicode-rättsliga intyg skrivs i certifieringssignaturer, Legal-seedkrav som gäller enbart certifiering respekteras, befintlig juridisk statistik och katalogbehörigheter bevaras, och krypterade strängpolicyer behålls

Version 2.851.0

Added

  • Fysiska Lab ICC-källfärger och begränsade XYZ-kompatibilitetsindata renderas i banor, text, packade bilder och Indexed-paletter, kalibrerade och ICC-alternativa toner bevaras genom RGB- eller CMYK-grupper, och inbäddade JPX-profiler tillämpas med separat eller associerad alfa

Version 2.850.0

Added

  • Kompatibla dokument med saknade teckensnitt konverteras till sökbar text och vektorbaserad PDF/A-4 med explicit, begränsad Ghostscript-teckensnittsinbäddning, äkta veraPDF-validering och atomär publicering, och nativa Unicode TrueType-teckensnitt väljs konsekvent oavsett distribution

Version 2.849.0

Added

  • Inbäddade enkla Type1- och Type1C-teckensnitt renderas med exakta deklarerade eller inbyggda Adobe-glyfkodningar, ToUnicode-extraktion hålls separat från visade konturer, och validerat neutralt grafiktillstånd för streckjustering och relativ kolorimetri accepteras

Version 2.848.0

Added

  • Kompletta descendant-vägsuffix i XFA löses inom varje wildcard-kontext, lokala förekomstgränser bevaras, och predikat körs i aktuellt event-scope med exakt transaktionell rollback

Version 2.847.0

Added

  • Ärvda nativa signaturseed- och certifikatbegränsningar verkställs med verkliga utgivarkedjor, policyer för ämne och nyckelanvändning, valbara CMS-digests, krypterad Unicode-signaturmetadata och transformeringar för låsta dokument

Version 2.846.0

Added

  • Datasets och datanoder i native XFA exponeras med dubbelriktade formulärbindningar, dynamisk spegling av instansdata, stabila kvarhållna referenser, oberoende obundna formulärvärden och transaktionell script-replay

Version 2.845.0

Added

  • Autentiserade FieldMDP-referenser avges från befintliga eller ärvda signaturfältlås, krypterade Unicode-fältnamn och certifieringsreferenser bevaras, och låsbehörighetsnivåer tillämpas utan att försvaga ursprungliga signerade policyer

Version 2.844.0

Added

  • Alternativa toner för Separation och DeviceN renderas med begränsade vektorfunktioner, packade bilder och CMYK-gruppblandning, None-knockout-geometri bevaras, och All-registerfärger mappas konsekvent

Version 2.843.0

Added

  • Dynamiska XFA-SOM-sökvägar löses med härledda och relativa förekomster, scopade predikat, klass- och descendant-selektorer, wildcard-samlingar och transaktionella tilldelningar av scriptobjektegenskaper

Version 2.842.0

Added

  • Nativ semantisk kontraktsjämförelse mellan två dokument erbjuds via C ABI och Pascal genom en gemensam portabel kärna, med källglyfgeometri, krypterad indata och nästlat innehåll, förberedd granskningsutdata som JSON eller HTML samt stabil låsordning vid samtidighet

Version 2.841.0

Added

  • Ursprungliga CMS- och CAdES-revisioner autentiseras före nativa formuläruppdateringar, ursprungliga DocMDP- och FieldMDP-behörigheter samt låsta fält verkställs, signerat innehåll och resurser bevaras, och metadata för pushknappsetiketter synkroniseras atomärt

Version 2.840.0

Added

  • Kalibrerade CalGray-, CalRGB- och Lab-källfärger renderas, liksom kalibrerad grupp- och sidblandning, Indexed-baser, 16-bitars bildsampel och XYZ-luminans-soft masks, med begränsad konvertering och säker gammautvärdering

Version 2.839.0

Added

  • FormCalc-värdekopiering och stabila nodreferenser implementeras med tilldelning via referens, ombindning och null-frånkoppling, numerisk identitetslikhet, kvarhållna handles och transaktionell rollback

Version 2.838.0

Added

  • Runtime-genererade FormCalc Eval-program körs med isolerade beräkningsscope, nästlad utvärdering, Unicode-källa, begränsat antal kompileringsförsök och transaktionell uppspelning av värdsvar

Version 2.837.0

Added

  • Inbäddade Unicode-appearances genereras genom nativ Linux JSON-formulärfyllning för text-, val- och flervalsfält, kryssrute- och radiotillstånd samt pushknappsetiketter, med transaktionell publicering och kryptering behållen

Version 2.836.0

Added

  • Synkron RFC 3161-tidsstämpeltransport erbjuds via en kompatibel, utökad post för nativa signeringsoperationer, med begränsade svar, delat avbrott och explicit validering av TSA-förtroende och återkallning

Version 2.835.0

Added

  • Transaktionellt XFA-värdtillstånd, sid- och livscykelflaggor, fokusändringar per instans, validering av väntande redigeringar och återställningsoperationer körs med stabil identitet och uppspelning av lexikalt tillstånd

Version 2.834.0

Added

  • CAdES-signaturcertifikatidentifierare valideras mot den faktiska signeraren, oberoende av valfritt certifikatförtroende, och inbäddade Encoding CMap-strömmar löses via den nativa teckensnittsadaptern

Version 2.833.0

Added

  • Vertikala Identity-V- och Unicode-fördefinierade CMaps renderas med verkliga W2/DW2-origo, matriser, textrörelse och klippning, och inbäddade Encoding CMap-strömmar avkodas korrekt

Version 2.832.0

Added

  • Signering sker via det nativa Linux callback-ABI:t med PEM- eller begränsade PFX-identiteter, nya Unicode-appearancefält och certifiering, och det förberedda signerade dokumentet behålls som aktuell kontext efter lyckad publicering

Version 2.831.0

Fixed

  • Begränsningar för signeringsseed, låsning och read-only tillämpas konsekvent på kodade PDF-namn, semantiska dubblettnycklar avvisas, och ärvda policyordlistor valideras

Version 2.830.0

Added

  • Avancerade XFA-picture-satser för tal, kalender, text och sammansatta värden körs genom verkliga formevent, med bevarad inmatningsprecision, lokalsemantik och transaktionell script-replay

Version 2.829.0

Added

  • Nativa sidresursgrafer och transformerade annoteringsappearances importeras i vanliga eller krypterade dokument, och kompatibel indata konverteras till sökbar text och vektorbaserad PDF/A-4 med äkta validering före atomär publicering

Version 2.828.0

Added

  • Fyrkomponents CMYK- och ICC-transparensgrupper samt sidgrupper renderas med alla blandningslägen, nästlad knockout-geometri och delade budgetar för färgprofiler

Version 2.827.0

Added

  • Lokalkänsliga XFA-picture-mönster för datum, tid, tal och text körs med inbäddade locale-samlingar, begränsade transaktionella locale-frågor och skyddad JavaScript-IEEE-aritmetik

Version 2.826.0

Added

  • Val med Unicode-arrayvärden läses och skrivs, sorterade alternativindex underhålls, och matchande appearances genereras för synliga och rullade val i listrutor

Version 2.825.0

Added

  • Krypterade dokument signeras via Windows JSON- och C ABI-jobb, medan ursprungliga revisioner, AES-säkerhetsinställningar, dokument-ID:n och signaturbehörigheter bevaras

Version 2.824.0

Added

  • Nativa Linux-HTML-dokument skapas, synlig eller anpassad sökbar Unicode-text infogas, begränsad och avbrytbar Tesseract-OCR körs, och oberoende validerad raster-PDF/A-4-utdata författas via Pascal- och callback-API:er
  • Alpha/Luminosity-masker i grafiktillstånd, begränsade överföringsfunktioner, additiv transparens och sidgrupper, knockoutformer samt utökade JPEG 2000-sampel med inbäddad färg och alfa renderas
  • Tillhandahållna certifikat-, OCSP- och CRL-bevis valideras före inkrementell DSS/VRI-publicering, medan befintliga signaturer och AES-kryptering bevaras
  • Explicita typade XFA-värd- och FormCalc-transport-callbacks körs med begränsade förfrågningar, inspelade svar och transaktionell uppspelning

Fixed

  • Unicode-värden och undantagsdiagnostik som returneras av Free Pascal QuickJS-API:t bevaras

Version 2.823.0

Added

  • Validerade RFC 3161-tidsstämplar bäddas in i headless CMS-signaturer med kontroller av meddelandeavtryck, nonce, TSA-auktorisering, förtroende och tillhandahållna återkallningsbevis, medan målfiler bevaras när en nödvändig tidsstämpel misslyckas
  • Lexikalt tillstånd för XFA-scriptobjekt, nästlade closures och oberoende moduler för upprepade instanser behålls med deterministisk, begränsad transaktionell uppspelning
  • Explicita tecken- och ordmellanrum tillämpas på uppmätta och genererade headless Unicode-textappearances

Fixed

  • Specifikationskorrekt argumentordning för FormCalc At source/search används, och den första positionen returneras för en tom söksträng

Version 2.822.0

Added

  • Allmänna QuickJS- och kompilerade FormCalc XFA-event körs med direkta DOM-operationer för upprepade instanser, transaktionell persistens av standardformulärpaket, automatisk initialize/calculate/validate/ready-livscykel samt begränsad körning och avbrott

Fixed

  • Specifikationskorrekta parametrar för XFA-finansfunktioner och kassaflödesformler, gregorianska datumorigo samt beteendet vid negativ rest tillämpas, med dubbel precision bevarad i både Delphi och Free Pascal

Version 2.821.0

Added

  • Nativa headless-dokumentflöden utökas med ett versionerat Linux C ABI, verkliga callback-baserade text-, formulär-, renderings- och signeringsoperationer, begränsat avbrott och rollback vid fel, multiline/comb/roterade/val/knapp-appearances med HarfBuzz/FriBidi-shaping, PFX-identiteter, nya synliga signaturfält och DocMDP-certifiering
  • Begränsade bildmasker, soft masks, Indexed/ICC-färger, PDF-blandningslägen, isolerade RGB-transparensgrupper, Type3-glyfer och textklippning renderas, och JPEG-, JPEG 2000-, CCITT-, JBIG2- och RunLength-bildströmmar avkodas via den autentiserade nativa dokumentsökvägen

Version 2.820.0

Added

  • Stödda nativa headless-enkelradiga Unicode AcroForm-fält fylls med äkta inbäddade TrueType-appearances, exakta glyfbredder och CIDToGID/ToUnicode-mappningar, transaktionella uppdateringar över flera widgets, bevarad AES-säkerhet, kontrollerad teckensnittsinbäddning och begränsad atomär sparning på Linux och Windows

Version 2.819.0

Added

  • Stödda PDF-banor, horisontell text, bilder, Forms och befintliga annoteringsappearances renderas till PNG med nativa Cairo/FreeType-CPU-ytor på Linux, begränsat arbete och avbrott verkställs, källor bevaras, och PNG-filer publiceras atomärt

Fixed

  • Kanoniska Adobe AFM-framsteg används för tolv standardstilar av Helvetica/Times/Courier när PDF-bredder saknas, vilket förhindrar kumulativ textpositionsförskjutning från ersättande teckensnittsmått, medan explicita och inbäddade teckensnittsbredder bevaras

Version 2.818.0

Added

  • Äkta nativa headless-inkrementella CMS/CAdES PDF-signaturer publiceras på Linux och Windows med befintliga osignerade fält och explicita PEM-autentiseringsuppgifter, tidigare revisioner och AES-256-säkerhet bevaras, exakta signerade byte verifieras, och befintliga målfiler skyddas genom begränsad atomär publicering

Version 2.817.0

Added

  • Begränsade JSON- och C ABI-dokumentjobb fullföljs med validerad inkrementell PFX-signering, befintliga signaturfält, jämförelse av två dokument, sex nativa jämförelselägen och tvåsidig kontraktgranskning som JSON/HTML/annoterad PDF, inklusive kooperativt avbrott, resursgränser och atomär filpublicering

Version 2.816.0

Added

  • Nativa headless PDF-signaturer verifieras med exakt ByteRange/Contents-bindning och strömmande OpenSSL 3, äkta fristående CMS/CAdES-signaturer genereras från explicita PEM-autentiseringsuppgifter, och certifikatförtroende rapporteras separat från integritet på Linux och Windows

Version 2.815.0

Added

  • Den begränsade XFA-hjälparen för instanspresentation används för villkorade event, explicit upprepad bindning, oberoende instansnärvaro och åtkomst, stabil bestående identitet, transaktionellt omflöde, canvas-ritning hos värden och tillgänglighetsposter

Version 2.814.0

Added

  • Nativa headless AES-256 R5/R6-dokument öppnas på Linux och Windows, ägar- och användarbehörigheter autentiseras, krypterade komprimerade objekt avkodas, och krypterade inkrementella formulärvärden sparas med exakt bevarat källprefix och begränsad atomär utdata

Version 2.813.0

Added

  • Text flödas om i begränsade sidrektanglar över baslinjer och utvalda anrop av delade Form, teckensnitt och bredd ändras, konservativa kollisionsrapporter granskas, och förseglade förhandsvisningar används med transaktionell commit eller rollback

Fixed

  • Redigeringar i inlästa dokument bevaras vid upprepade sparningar efter objektserialisering, inklusive ström-till-fil-sparningar och försök igen efter ett utdatafel

Version 2.812.0

Added

  • Kompatibla inlästa dokument konverteras till PDF/A-4 medan ursprunglig text, vektorer, bilder och inbäddade resurser bevaras, synliga annoterings- och widgetappearances komponeras, sökbar OCR behålls eller läggs till, explicita förluster rapporteras, och bevarandet valideras före atomär filpublicering

Version 2.811.0

Added

  • Korsreferensströmmar, hybrida referensavsnitt och komprimerade objektströmmar läses in via det nativa headless-dokument-API:t, begränsade medlemsindex och revisionsföreträde valideras, exakta breda numeriska källvärden bevaras, och källbevarande, oberoende inkrementell utdata sparas på Linux och Windows

Version 2.810.0

Added

  • Skanningsorientering, snedställning i kontinuerlig vinkel, skuggor, ramar och explicita perspektivfyrsidingar korrigeras med begränsad reversibel geometri, betrott Tesseract-orienteringsbevis används, och OCR-ord, baslinjer, sidfyrsidingar och semantisk layout mappas tillbaka till den ursprungliga skanningen för redigerbar, strukturerad utdata

Version 2.809.0

Added

  • Lokala Tesseract- och RapidOCR CLI- eller DLL-motorer konfigureras i JSON- och C ABI-OCR-jobb, Unicode-sökbar text och skanningspixlar behålls, stödda adaptrar upptäcks, explicita inställningar valideras, och renderings- och igenkänningsbudgeter verkställs med atomär utdata och rollback vid misslyckad publicering

Version 2.808.0

Added

  • Classic-xref-PDF:er läses in i nativa Linux-konsolprogram, Unicode-sidtext och nästlad Form-text extraheras med ärvda resurser, AcroForm-textvärden granskas och fylls, och källbevarande inkrementell utdata publiceras med typad diagnostik, avbrott, resursbudgeter och atomär ersättning

Version 2.807.0

Added

  • Flera separerade nativa streckkoder lokaliseras i en raster, upprepade nyttolaster behålls på distinkta positioner, roterade och projektiva ECC 200 Data Matrix-symboler avkodas med fyrahörnsgeometri, och aggregerade skanningsbudgeter verkställs med avbrott och atomär resultatpublicering

Version 2.806.0

Added

  • Kontraktsstycken och redigeringar av ord eller meningar kan jämföras med poster för infogning, borttagning, ersättning och flytt, sidpositioner på båda sidor, bevarande av upprepade klausuler, explicita undantag för boilerplate-text, begränsad HTML-granskning och annoterad PDF-utdata som verifieras mot källan

Version 2.805.0

Added

  • HTML-affärmallar kan importeras med nästlade flex-/grid-paneler, radbrytande rader, kolumnspan i grid, bilder och formulärkontroller i parallella rutor, med explicit tillhandahållna font-face-resurser som bevaras genom fördröjd inbäddning samt en separat cachebudget för avkodade bilder

Version 2.804.0

Added

  • Det gemensamma PDF-objektet, Direct File I/O, innehålls- och teckensnittsavkodning, komprimering, kryptografi och skrivarkärnan byggs som native Linux-kod med POSIX-mappning och synkronisering; Windows-API:erna bevaras och klassiska xref-poster serialiseras korrekt

Version 2.803.0

Added

  • Versionerade fakturaprofiler och landsregellager kan registreras, explicita CII XML- eller hybridfakturor valideras med scope-medvetna rapporter, och officiella XRechnung 3.0.2- samt franska CTC-fakturaregler körs via en explicit konfigurerad Saxon-motor, med val publicerad profil och diagnostik som stänger vid fel

Version 2.802.0

Added

  • Typade tabeller kan exporteras till Office-oberoende XLSX-arbetsböcker via native-API:er, JSON-jobb och C ABI, med bevarade värdetyper, valuta- och procentformat, sammanslagna celler, exakta stora heltal och valfri källmetadata, samt begränsad mellanlagring och felsäker publicering

Version 2.801.0

Added

  • JSON-jobb och C ABI kan exportera valda inlästa sidor som semantisk HTML, XHTML, XML eller JSON samt typade tabeller som CSV eller JSON, med native-alternativ, begränsad mellanlagring, avbrott, kompatibilitet med signaturfält, bevarat källtillstånd och atomär filpublicering

Version 2.800.2

Fixed

  • Cachear för inlästa formulärrelationer ogiltigförklaras nu innan graf-rollback, så att signeringsjobb och misslyckade dokumentändringar lämnar originaldokumentet säkert att fråga och återanvända

Version 2.800.1

Fixed

  • Ordnad parallell rendering beviljar nu minnesreservationer i inmatningsordning, så att senare sidor inte kan tömma budgeten medan leveransen väntar på en tidigare sida; avbrott och begränsad utdata bevaras i Delphi och FPC

Version 2.800.0

Changed

  • SVG-text, inlästa FreeText-utseenden och inlästa textersättningar bevarar nu dokumentets shaping-funktioner, flaggor för automatisk skript-shaping samt val av GSUB-skript och -språk, använder varje valt teckensnitts OpenType-data och behåller Unicode-mappningar över teckensnittsbyten

Version 2.799.0

Changed

  • SVG-vektorimporter behåller nu ärvda streckmönster, streckförskjutningar och miter-gränser för heldragna streck och gradientstreck, medan native-renderingen bevarar fasade och nolllånga streckmönster

Version 2.798.0

Changed

  • Formaterad Unicode-text behåller nu fet- och kursiva teckensnitt genom fallback-layouten; de stilmedvetna överlagringarna ResolveFontForCodePoint och AnalyzeUnresolvedGlyphs gör att preflight matchar utdata, och FPC XML-teckenreferenser bevarar Unicode-skalärer i stället för att förstöra texten

Version 2.797.0

Fixed

  • SVG-importer komponerar nu objekt- och gruppopacitet via isolerade vektortransparens-Forms, bevarar oberoende alfa för fyllnad och streck samt behåller nästlat beteende för resurser, clip, masker och länkar inom explicita budgetar

Version 2.796.0

Added

  • Begränsad PDF/A-4-rasterkonvertering för arkivering exponeras via JSON-jobb och C ABI, med explicit accept av informationsförlust, strukturerade budgetfel, kooperativt avbrott, återställning av källtillstånd och atomär filutmatning

Version 2.795.0

Added

  • Inlästa PDF-filer kan nu normaliseras till validerade PDF/A-4-rasterdokument med strikt native-rendering, verifierad sRGB-färg, begränsad avkodning och rasterresurser, avbrott, skydd av källalias och atomär filpublicering; konverteringsrapporten redovisar interaktivt och bifogat innehåll som medvetet tagits bort

Version 2.794.0

Changed

  • HTML5-importen använder nu uppmätta textrader med blandad riktning, widow- och orphan-hantering vid sidbrytning, valfri avstavning, begränsade flex- och grid-layouter samt observerbar CSS-diagnostik; FPC native-bitmappar synkroniserar direkt GDI-ritning med LCL:s bildcachear

Version 2.793.0

Changed

  • Dynamiskt XFA-stöd har lagts till för begränsad tillägg/borttagning i instance-managern och händelser för mallexistens, med layoutombindning, bevarande av redigeringstillstånd, atomär rollback, resursgränser och beständig XDP-utmatning

Version 2.792.0

Changed

  • SVG-importen utökas med uppmätta inbäddade Unicode-teckensnitt, PNG/JPEG-resurser, gradientstreck samt riktiga Alpha- och Luminosity-softmasker, medan gruppalphan i native-rendering och FPC-bitmapytornas komposition korrigeras

Version 2.791.0

Changed

  • Förhandsvisningsbar textersättning i inlästa PDF-filer har lagts till, med inbäddade teckensnitt, policyer för radbrytning och bredd, diagnostik per träff, upptäckt av föråldrade planer, begränsade resurser, atomära commits samt preview- och apply-operationer via JSON/C ABI

Version 2.790.0

Changed

  • Standardmässiga CFF Type 2-stack- och transient-array-operationer implementeras i glyfrenderingen, och beroenden mellan lokala och globala subrutiner som härletts aritmetiskt bevaras vid teckensnittssubsetting

Version 2.789.0

Changed

  • Den inbyggda streckkodsavkodningen utökas med Code 128, EAN/UPC, perspektivmedveten QR-återställning, Data Matrix ECC 200 och PDF417 med Reed-Solomon-korrigering och begränsad nyttolastavkodning

Version 2.788.0

Changed

  • Windows FPC stöder nu native TIFF, JPEG/JPX, ICC-konvertering, JBIG2 och Zopfli via en ABI-validerad codec-brygga och använder riktiga arbetstrådar för rendering av sidor, ordnade sidor, tiles, band och JPEG 2000-tiles med budgeter, ordnade callbacks, avbrott och deterministiska pixlar

Version 2.787.0

Changed

  • C ABI och JSON-jobbprocessorn delar nu schemaversionerade dokumentoperationer för kapabiliteter, rendering, Unicode-text och formulär, OCR-lager, redaction och PFX-signering, med explicita resursbudgeter, rollback vid callback-fel och atomära filutmatningar; indata med flera sidor i callbacks läses nu in korrekt

Version 2.786.0

Changed

  • Redigering av inlästa FreeText-annoteringar bygger nu om inbäddade Unicode- och rich-text-utseenden atomärt, med radbrytning, justering, opacitet, rotation, callouts, insets och explicita overflow-policyer; omskrivna stream-nyttolaster fångas innan ändringen så att rollback i transaktionen återställer originaltexten

Version 2.785.0

Added

  • SearchableOCR-konsoldemot lägger till inbyggd OCR samt Tesseract-DLL- och CLI-motorer vid sidan av RapidOCR, genererar ett tresidigt inskannat exempel och erbjuder sidval, konfidensfiltrering, igenkänningsbudgeter och detaljerad konverteringsstatistik

Version 2.784.0

Changed

  • FDF- och XFDF-batchimporter rullar nu tillbaka tidigare fält- och annoteringsuppdateringar efter en misslyckad import, bevarar transaktioner som ägs av anroparen och rensar metadata från misslyckade utbyten

Version 2.782.0

Added

  • Den lokala Tesseract-OCR-adaptern accepterar konfigurerbar sidsegmentering, läge för igenkänningsmotorn, pixelgränser och timeouts via THPDFTesseractOptions för igenkänning av enskilda rader, enskilda ord, gles text och vertikala block

Fixed

  • Den nativa Tesseract-adaptern använder textboxens tvärdimension för övervägande vertikala baslinjer, vilket hindrar vertikala ordlängder från att blåsa upp textstorlekarna i sökbara PDF-filer

Version 2.781.0

Changed

  • Delphi- och C++Builder-demosamlingarna innehåller nu en flersidig handledning för streckkodsfält med affärsetiketter och en komplett navigeringshandbok med hierarkiska bokmärken, namngivna destinationer och fungerande länkar till kompanjondokument; de minimala PDF/A-recepten flyttas till Miscellaneous och redundanta fristående outline- och metadataprojekt pensioneras

Version 2.780.1

Fixed

  • Annoteringssidan i Showcase skiljer bildtexter för innehållsförhandsvisning från faktiska free-text- och stämpelutseenden, vilket förhindrar överlappande etiketter i PDF-läsare samtidigt som exemplen förblir identifierbara när annoteringsutseenden är gömda

Version 2.780.0

Changed

  • Demokatalogerna prioriterar nu kompletta arbetsflöden och lyfter sjutton minimala, avgränsade eller äldre exempel till undermappar under Miscellaneous; de redundanta projekten ImageCompression och AddDelPages har tagits bort, med funktionaliteten bevarad i huvuddemona och regressionssviterna

Version 2.779.0

Added

  • Delphi- och C++Builder-Showcasedemona öppnar nu en komplett dokumentstudio med tio kapitel, inbäddad förhandsvisning, sökmarkering, personliga omslag, review-vattenstämplar med ett klick, verifierad sidexport och AES-256 R6-skyddade kopior som bevarar ändringar; båda använder samma dokumentmotor och stöder ett fönsterfritt genereringskommando

Version 2.778.1

Removed

  • De redundanta TestNumeric GUI-demona för Delphi och C++Builder har pensionerats till förmån för automatiserade numeriska regressionstester som verifierar icke-heltaliga siddimensioner och ritoperander när okomprimerade och Flate-komprimerade PDF-filer sparas och läses in igen, med bestående täckning av numeriska arrayer

Version 2.778.0

Changed

  • Sid- och kundrapportdemona erbjuder nu praktiska arbetsflöden: PageOperations redigerar riktiga PDF-filer med kommandon för extract, delete, move, insert och append plus verifiering vid ny inläsning, medan DBTable använder tabellmotorn för radbrutna rader, upprepade rubriker och automatisk sidbrytning med ett standardexempel utan databas

Version 2.777.1

Fixed

  • OCR avvisar felaktig UTF-8, control-tecken som inte stöds samt inkompatibla utdata från nativa detektionsmodeller innan texten publiceras och tar hänsyn till förkastade igenkänningsresultat när ordgränser över flera sidor upprätthålls

Version 2.777.0

Fixed

  • Inbyggd OCR accepterar tomma eller oigenkännliga sidor som lyckade tomma resultat så att satser av inskannade dokument kan fortsätta, bevarar Windows FPC-bitmappspixlar och kontrollerar avbrott och tidsgränser genom hela bildanalysen
  • Native RapidOCRs vinkelklassificering bevarar sidförhållandet hos korta rader och kräver en säker upp-och-ned-prognos innan beskärda textbilder roteras
  • Den lokala Python-RapidOCR-adaptern bevarar radavstånd och skiljetecken i det igenkända i stället för att publicera enskilda tecken som kan få oönskade mellanslag, och Tesseract-DLL-adaptern avvisar C1-kontrolltecken innan texten publiceras

Version 2.776.0

Added

  • Textlager i inskannade PDF-filer kan atomärt ersätta markerade HotPDF-OCR-strömmar efter sparning och ny inläsning, behåller befintliga lager vid misslyckad eller tom igenkänning, rapporterar ersatta sidor och använder ett native-konsollexempel med flerspråkig RapidOCR för konvertering utan att skriva över befintliga filer

Fixed

  • Angränsande latinska och kyrilliska OCR-ord med ett ordmellanrum på samma rad får uttryckliga Unicode-mellanslag för stabil frassökning och kopiering, medan angränsande CJK-ord förblir oseparerade
  • Windows FPC JPEG-skannrendering behåller avkodade pixlar vid konvertering till OCR-bitmappsformatet, vilket förhindrar tomt igenkänningsindata från en LCL-pixelformatsändring

Version 2.775.0

Added

  • Native RapidOCR får lokala modellförinställningar för förenklad och traditionell kinesiska, engelska, franska, tyska, spanska, portugisiska, italienska, holländska, turkiska, japanska, koreanska, ryska, arabiska och hindi, med matchande teckenordlistor, verifierad modellinstallation, horisontell läsordning och flerspråkig Unicode-utmatning i Delphi, C++Builder och Windows FPC/Lazarus

Fixed

  • Lokala process-OCR-adapterrar försöker igen med städning av temporära utdata när diagnostikfiler förblir kortvarigt låsta efter att en arbetarprocess avslutats

Version 2.774.0

Added

  • En native RapidOCR-DLL-adapter håller lokala ONNX-modeller i processen, känner igen bitmappsbilder utan Python, stöder valfri vinkelklassificering och sökbara Unicode-PDF-filer och validerar utdatabudgeter med kooperativt avbrott i Delphi-, C++Builder- och Windows FPC/Lazarus-byggen

Version 2.773.0

Added

  • Den lokala RapidOCR-adaptern får explicit ONNX-modellkonfiguration, valfri vinkelklassificering, lokala teckenordlistor och teckensnitt, CPU-trådinställningar, offline-preflight och igenkänningsbudgeter för sökbara Unicode-PDF-filer i Delphi-, C++Builder- och FPC/Lazarus-byggen

Version 2.772.1

Fixed

  • Tesseract DLL- och CLI-adapterrar fungerar nu i Windows FPC/Lazarus Win32- och Win64-byggen, bevarar Unicode-OCR-ord och läser aktuella LCL-bildpixlar för sökbara PDF-textlager

Version 2.772.0

Added

  • En valfri native Tesseract-DLL-adapter lägger till flerspråkig OCR med konfigurerbar sidsegmentering och motormode, Unicode-ord, konfidens, ordgränser och baslinjer, plus kooperativt avbrott, igenkänningsdeadlines och utdatabudgeter för sökbara inskannade PDF-filer

Version 2.771.1

Changed

  • Inbyggd OCR känner igen normal, fet, kursiv och fet kursiv ASCII-text på ljusa eller till största delen mörka bakgrunder, accepterar blekta texter med tillräcklig gråskalekontrast och utelämnar ord som innehåller osäkra behållna glyfer i stället för att tyst tappa tecken

Version 2.770.175

Fixed

  • LoadedDocInspector och SignatureValidator returnerar en felande exit code för oläsbara PDF-filer och avvisar ogiltiga kommandoargument i stället för att rapportera en lyckad tom inspektion

Version 2.770.174

Fixed

  • LoadedImageExport validerar alla bildmål innan någon sida exporteras, vilket förhindrar sökvägsalias från att skriva över inmatnings-PDF:en eller en annan vald sida, och avvisar formatnamn som inte stöds

Version 2.770.173

Fixed

  • Diskcachen för renderade sidor hoppar över länkade dokumentmappar vid återställning, uppslag, lagring, ogiltigförklaring och utkastning av poster, så att filer utanför cachen bevaras

Version 2.770.172

Fixed

  • JSON-jobb avvisar felformaterad syntax, innehåll efter slutet, tal utanför det ändliga Double-intervallet och överdriven nästling innan någon åtgärd körs, och frigör delvis tolkade värden vid fel

Version 2.770.171

Fixed

  • PreflightCLI kontrollerar hela planen för rapportutdata innan något skrivs, skyddar inmatnings-PDF-filer från filalias och avvisar motstridiga rapportmål; rekursiva skanningar hoppar över länkade underkataloger för att undvika cykler

Version 2.770.170

Fixed

  • CopyPage kontrollerar filidentiteter innan export, avvisar motstridiga utdataalias och placerar automatiskt namngivna utdata bredvid indatas utan filändelse i kataloger som innehåller punkter

Version 2.770.169

Fixed

  • JSON-jobbvärden bevarar escapade null-tecken, serialiserar ändliga tal utanför det tecknade 64-bitarsintervallet utan heltalsoverflow och returnerar standardvärden för heltalsparametrar utanför intervallet utan att ändra processens locale

Version 2.770.168

Fixed

  • Enkelobjektparserns återhämtning avslutas på ensamma högerklamrar i arraykroppar utan klamrar och bevarar giltiga tal och ordlistenycklar direkt efter felformaterade avgränsare

Version 2.770.167

Fixed

  • HotPDFCLI avvisar utdatasökvägar som aliasar inmatningsfiler och kontrollerar alla genererade sökvägar innan batchexporten startar, vilket förhindrar att kommandon trunkerar eller ersätter sina källdata

Version 2.770.166

Fixed

  • ExtractText-exemplet skyddar sin inmatnings-PDF när ett utdata använder en katalogjunction eller hård länk, och LoadedImageExport rapporterar fel för oläsbara dokument eller ofullständiga sidexporter

Version 2.770.165

Fixed

  • Direkta filläsningar ogiltigförklarar ofullständiga cache-påfyllningar efter ett I/O-fel och avgränsar förhandsläsningsintervall på ett säkert sätt nära gränsen för tecknade 64-bitars offset

Version 2.770.164

Fixed

  • RunLength-avkodning allokerar bara den avkodade nyttolaststorleken och validerar felformaterade sekvenser innan utdata allokeras, vilket undviker överdrivna minnesreservationer för strömmar med tidiga avslutstecken

Version 2.770.163

Fixed

  • Delphi- och C++Builder-exemplen hittar medföljande bilder, metafiler, färgprofiler och valfria signaturfixturer i både projektmapar och kapslade byggutdatakataloger

Version 2.770.162

Fixed

  • HugeFileBenchmark-exemplen avvisar genererade PDF-sökvägar som matchar något inmatningsdokument innan en benchmark-batch startas
  • C++Builder-exemplet bevarar relativa inmatningsunderkataloger för genererade PDF-filer, vilket förhindrar att rekursiva indatas med samma namn delar en utdatafil
  • Misslyckade åtgärder, överträdelser av minnesgränsen och ogiltiga inläsningar med noll sidor ger nu en icke-noll exit code samtidigt som benchmark-rapporten behålls

Version 2.770.161

Fixed

  • Preflight-CLI:erna för Delphi och C++Builder avvisar rapport- och samlingsutdatasökvägar som matchar en inmatnings-PDF, vilket förhindrar att rapporter skriver över källdokument

Version 2.770.160

Fixed

  • ASN.1-tolkning avvisar high-tag-number-kodningar som överskrider det stödda 32-bitars taggintervallet i stället för att acceptera ett tal som wrapat runt

Version 2.770.159

Fixed

  • C++Builder Preflight CLI bevarar relativa underkataloger för rekursiva rapporter och dashboard-länkar, så att PDF-filer med samma namn inte längre skriver över varandra
  • Preflight-dashboarderna för Delphi och C++Builder kodar rapportlänkar korrekt för specialtecken och icke-ASCII-katalognamn
  • Misslyckad standardvalidering i C++Builder returnerar nu exit code 3 och visas som ogiltig i dashboarden för alla rapportformat, inklusive indatas som inte kan läsas in

Version 2.770.158

Fixed

  • C++Builder PDF merge-exemplet löser relativa inmatningssökvägar från den körbara filens katalog och hindrar fildialoger från att ändra arbetskatalogen
  • Varje genererat bokmärke pekar nu på första sidan som kopierats från sitt eget inmatningsdokument

Version 2.770.157

Fixed

  • Objektparsern normaliserar oescapade CR- och CRLF-radslut inuti PDF-literalsträngar till LF samtidigt som escapade vagnreturer och radfortsättningar bevaras

Version 2.770.156

Fixed

  • LZW-strömkomprimering rapporterar det faktiska antalet skrivna byte för tom inmatning
  • LZW-komprimering och dekomprimering klarar en hel tur och retur med InitialCodeSize satt till 2, och komprimeringen avvisar literaler utanför ett reducerat alfabet innan utdata skrivs

Version 2.770.155

Fixed

  • I Win64-byggen väcker import av SVG- eller XPS-sökvägsdata med ett tal som har en exponent nära 100, till exempel 1e-100 eller 5e99, inte längre en flyttalsoverflow när programmet avmaskerar flyttalsundantag
  • Sådana tal läses nu som sitt faktiska värde, så att en lång mantissa med en stor negativ exponent importeras korrekt

Version 2.770.154

Fixed

  • DecodeLoadedPageBarcodes rapporterar nu korrekta streckkodsgränser på sidor vars CropBox skiljer sig från MediaBox när inget avkodningsområde är satt; tidigare var positionerna flyttade med crop box-offset, eller skalade mot fel sidhöjd
  • Ansiktsfynd från DetectLoadedRedactionFindings (med ansiktsigenkänning påslagen) hamnar nu på de upptäckta ansiktena på sådana sidor, i stället för att vara förskjutna från dem
  • Båda funktionerna renderar det synliga sidområdet (CropBox klippt mot MediaBox) och mappar nu upptäckta positioner tillbaka genom samma område; sidrutan som skickas till en egen IHPDFFaceDetector matchar nu bitmappen den tar emot
  • Streckkodsavkodning med ett uttryckligt område, samt sidor utan CropBox eller vars CropBox är lika med MediaBox, påverkas inte

Version 2.770.153

Fixed

  • ApplyLoadedOCRTextLayer placerar nu det osynliga textlagret korrekt på sidor vars CropBox skiljer sig från MediaBox; tidigare var den sökbara texten flyttad med crop box-offset, eller skalad mot fel sidhöjd, så att markeringar och sökträffar inte stämde med de synliga orden
  • OCR-rastern renderas från det synliga sidområdet (CropBox klippt mot MediaBox), och igenkända ordpositioner mappas nu tillbaka genom samma område
  • Sidrutan som lämnas till en egen IHPDFOCREngine i THPDFOCRRequest är nu det renderade synliga området, matchande bitmappen den tar emot
  • Sidor utan CropBox, eller vars CropBox är lika med MediaBox, påverkas inte

Version 2.770.152

Fixed

  • GetLoadedInvoiceSummary returnerar nu köparnamnet (BT-44) som avkodad text, så att namn med icke-ASCII-bokstäver som "Müller & Söhne" inte längre kommer tillbaka som råa UTF-8-byte med XML-escapet kvar
  • Köparnamnet läses nu alltid från köparsidans handelspart i sig, i linje med säljarnamnet och de övriga sammanfattningsfälten
  • ValidateVisualXmlConsistency drar också nytta av detta: ett köparnamn med accenterade bokstäver eller escapade tecken jämförs nu med den synliga sidtexten som den är skriven

Version 2.770.151

Fixed

  • THPDFTable håller nu rader som knutits ihop av en RowSpan på en sida: när gruppen inte ryms i det återstående utrymmet flyttas hela gruppen till nästa sida tillsammans med den upprepade rubriken
  • En cell som spänner över flera rader löper inte längre förbi den nedre marginalen medan raderna den täcker fortsätter på nästa sida
  • En radspann-grupp som är högre än en hel sida delas fortfarande rad för rad, med sina spännande celler avklippta vid varje sidas nedre marginal
  • TotalHeightRendered speglar den flyttade gruppen på den sista sidan

Version 2.770.150

Fixed

  • THPDFTable-celler med en ColSpan eller RowSpan på noll eller mindre ritas nu som enkla celler, som tabellrutnätet redan placerat dem, i stället för att trycka följande celler i fel kolumner
  • Negativa spann får inte längre tabellen att läsa utanför sitt rutnät, och spann som löper förbi sista kolumnen eller raden klipps vid tabellkanten även vid mätning och ritning
  • En cell vars första ord är bredare än kolumnen börjar inte längre med en tom rad, så dess rad blir inte högre än den radbrutna texten kräver

Version 2.770.149

Security

  • XFA-formulär som deklarerar en intern entitet i sin DOCTYPE kan inte längre spränga minnet genom att referera till en stor entitet många gånger: texten som substitueras för interna entiteter är begränsad till 16 MB per dokument
  • Ett enda internt entitetsvärde längre än 1 MB avvisas
  • Dokument som överskrider någon av gränserna misslyckas att läsas in med en EHPDFXFAError i stället för att expandera till gigabyte text; vanlig entitetsanvändning påverkas inte
  • Text som innehåller många entitets- eller teckenreferenser avkodas också i linjär tid

Version 2.770.148

Fixed

  • RecalculateLoadedFormFieldsIncremental behandlar nu varje fält som skickas som ändrat på samma sätt, oavsett i vilken ordning namnen listas
  • Ett beräknat fält som skrevs direkt tillsammans med ett av sina källfält behåller det skrivna värdet i stället för att bara räknas om när det listas efter den källan
  • Fält som beror av de ändrade fälten räknas fortfarande om en gång, i beräkningsordning

Version 2.770.147

Fixed

  • GS1-128-streckkoder med startkod A (THPDFBarcode typ 20) kodar nu sina data i koduppsättning A, som Code 128 A gör
  • Gemener i sådana streckkoder skrivs nu med en SHIFT till koduppsättning B i stället för ett set B-kodord som streckkodsläsare tolkar som ett kontrolltecken i uppsättning A
  • Skannade GS1-128 A-symboler som innehåller gemener returnerar därför den ursprungliga texten

Version 2.770.146

Fixed

  • EAN-2- och EAN-5-tilläggsstreckkoder (THPDFBarcode typ 18 och 19) lägger inte längre till en beräknad siffra till Text när Checksum är aktiverad
  • Att rita en sådan streckkod upprepade gånger ger nu samma symbol varje gång i stället för att texten växer med en siffra per omdrag och streckmönstret ändras
  • Tilläggssymbolerna har inget kontrolltecken per definition, så Checksum ignoreras för dem; paritetsmönstret härleds fortfarande från värdet som tidigare

Version 2.770.145

Fixed

  • XFDF-export avkodar nu formulärfältvärden och annoteringstext som PDF-textsträngar (ISO 32000-1 7.9.2.2): UTF-16BE-värden, hexadecimala strängar och PDFDocEncoding-tecken som bullet-tecknet skrivs som den faktiska Unicode-texten i stället för hexsiffror eller kodsidigt skräp
  • Annoteringars innehåll, författare, ämne, status och överlagringstext som exporteras till XFDF behåller icke-latinska tecken, till exempel kinesiska eller kyrilliska kommentarer
  • Rich text (/RC, /RV) som börjar med en XML-deklaration bäddas nu in utan den, så att den exporterade XFDF:en förblir välformad XML
  • XFDF-import konverterar inte längre text via systemets ANSI-kodsida: värden som PDFDocEncoding kan representera lagras som sådana, allt annat som en UTF-16BE-textsträng, för både formulärfält och annoteringstext
  • Exporterade XFDF-filer klarar nu en tur och retur av tecken utanför ANSI-kodsidan genom ImportLoadedFormFromXFDF och ImportLoadedAnnotationsFromXFDF utan att göra om dem till frågetecken

Version 2.770.144

Fixed

  • Namn och annan text i fakturasammanfattningen avkodas nu från fakturans UTF-8-XML, så att en säljare som "Müller GmbH" inte längre kommer tillbaka som förvrängda multibyte-tecken
  • Escapade markup-tecken och teckenreferenser löses upp, så att "A & B" i XML:en rapporteras som "A & B"
  • ValidateVisualXmlConsistency rapporterar inte längre ett säljarnamn med accenterade bokstäver eller ett et-tecken som saknas i den synliga sidtexten när det är utskrivet där
  • Sammanfattningstexten returneras i systemets ANSI-kodsida, eftersom sammanfattningspostens fält är ANSI-strängar; tecken som kodsidan inte kan representera blir frågetecken

Version 2.770.143

Fixed

  • GetLoadedInvoiceSummary rapporterar nu nettosumman på fakturanivå (BT-106) från rubrikens monetära summering i stället för första radpostens belopp
  • Momssumma, totalsumma och förfallet belopp läses på samma sätt från rubriksummeringen, inklusive för ZUGFeRD 1.0-fakturor
  • Fakturadatumet (BT-2) returneras nu som det rena datumvärdet, till exempel 20260305, i stället för att inkludera den kapslade DateTimeString-markupen
  • HPDFFacturXXMLElementText returnerar nu teckendata för hela elementet med barnens taggar borttagna, och matchar inte längre element vars namn bara börjar med det begärda namnet

Version 2.770.142

Fixed

  • XFDF-export skriver nu tecken utanför Basic Multilingual Plane, till exempel emoji eller ovanliga CJK-ideogram, som giltig fyra-byte UTF-8 i stället för att koda varje surrogatehalva separat, så att strikta XML-läsare accepterar filen
  • XFDF-import avkodar nu teckenreferenser över U+FFFF, som 😀, till hela tecknet i stället för att avkorta det till ett orelaterat BMP-tecken
  • Teckenreferenser som inte namnger ett Unicode-scalarvärde, och oparade surrogater vid export, blir nu U+FFFD i stället för att förstöra texten
  • XFDF-filer skrivna av tidigare versioner importeras fortfarande korrekt

Version 2.770.141

Fixed

  • Fältvärden och annoteringstext som innehåller omvända snedstreck, till exempel Windows-sökvägar som C:\Data\2024\001, klarar nu en XFDF-export och -import oförändrade i stället för att siffersekvenser görs om till kontrolltecken
  • När ett omvänt snedstreck i annat fall skulle läsas tillbaka som ett escape skriver XFDF-exporten det nu som det oktala escapet \134, som i en PDF-literalsträng (ISO 19444-1 5.8.2)
  • XFDF-importen avkodar bara de oktala escapen som formatet använder för kontrolltecken och omvända snedstreck; andra snedstrecksekvenser från tredjepartsfiler behålls ordagrant
  • SVG-text som läses genom samma lättviktiga XML-läsare tappar inte heller längre snedstrecksekvenser

Version 2.770.140

Fixed

  • Den beständiga cachen för renderade sidor som aktiveras av RenderCacheFolder fungerar nu för dokument som öppnats med LoadFromFile, LoadFromStream och LoadFromRandomAccessSource; tidigare hoppades disknivån över vid vanliga inläsningar, så att ingen sida någonsin skrevs till eller lästes från mappen
  • Dokument som lästs in från en fil identifieras via sin storlek, senaste skrivtid och inledande och avslutande byte, så att en oförändrad fil som öppnas igen läser sina sidor från cachen utan att hela filen hashas
  • Dokument som lästs in från en ström eller en random access-källa identifieras via SHA-256 av sitt innehåll; sätt RenderCacheFolder före inläsningen för att dessa dokument ska använda disknivån
  • Ett dokument som redigerats efter inläsningen läser eller skriver inte längre diskposter under resten av den inläsningen, så att redigerade sidor aldrig tas från, eller lagras som, de cachade sidorna av originalfilen
  • Diskposter beror nu också på sidrenderingsbackenden och ICC-proofflödet, så att en annan backend eller utdataprofil inte återanvänder sidor renderade med andra inställningar; krypterade dokument skrivs aldrig till diskcachen

Version 2.770.139

Fixed

  • Import av stora XFDF-filer blir inte längre långsammare med kvadraten på filstorleken: en fil med tusentals fält eller annoteringar tolkas nu på millisekunder i stället för sekunder eller minuter
  • Fältvärden med många radbrytningar eller andra teckenreferenser avkodas i linjär tid
  • Maxminnet vid XFDF-tolkning växer inte längre med antalet element gånger filstorleken
  • SVG-indata som läses genom samma lättviktiga XML-läsare får del av samma hastighetsvinst

Version 2.770.138

Fixed

  • När DecodeLoadedPageBarcodes försöker igen med en sida vriden 90 eller 270 grader är rastern som lämnas till avkodaren nu vriden medurs, som AttemptRotationDegrees dokumenterar
  • Symboler som bara hittas i de försöken rapporteras nu på sin verkliga position på sidan i stället för den punktspeglade positionen
  • Orienteringen som rapporteras för sådana symboler stämmer nu med deras läsriktning på sidan i stället för att avvika med 180 grader
  • Egna streckkodsavkodare som förlitar sig på den dokumenterade medursvridningen får nu korrekt vridna raster

Version 2.770.137

Fixed

  • Kopiering av sidor mellan dokument (CopyPageFromDocument, CopyPageByPhysicalIndex, sidimport- och sammanslagningsmetoder) gör inte längre om textsträngar som innehåller "<<" och ">>" eller "[" och "]" till ordlistor eller arrayer; en annoteringskommentar som "Read <<this>> [now]" kopierades som en trasig ordlista
  • Hexadecimala strängar, som annoteringsnamn och identifierare, kopieras i hexadecimal form i stället för att skrivas som literalsträngar av sina hexsiffror

Version 2.770.136

Fixed

  • Annoteringar som skapas på nya sidor (AddStampAnnotation, AddTextAnnotation och de övriga THPDFPage-annoteringsmetoderna) skriver nu /Rect med det nedre vänstra hörnet först, [llx lly urx ury]; flera av dem skrev den övre kanten före den nedre, till exempel [395 712 575 652], vilket visare accepterar men PDF/A-validerare och vissa bearbetningsverktyg avvisar eller missförstår

Version 2.770.135

Changed

  • THotPDF.RenderCacheFolder är nu en sträng (UnicodeString i Delphi 2009 och senare, UnicodeString i C++Builder) i stället för en AnsiString, så att en cachemapp vars sökväg innehåller tecken utanför systemets kodsida, som ett kinesiskt användarnamn på en engelsk Windows, används som angiven i stället för att göras om till frågetecken
  • Kod som tilldelar en AnsiString till egenskapen kompilerar fortfarande; värdet konverteras till Unicode vid tilldelningen

Version 2.770.134

Fixed

  • SetOptionalContentGroupUsage med Zoom-kategorin skriver nu zoomintervallet som talen /min och /max, som PDF-specifikationen definierar dem; hela värdet skrevs som en textsträng under /Min, vilket visare ignorerar, så lagrets zoomintervall hade ingen effekt
  • Zoom-värdet är den minsta förstoringen eventuellt följt av den största, åtskilda av ett mellanslag (till exempel '0.5 4'); ett värde som inte börjar med ett tal kastar nu ett undantag

Version 2.770.133

Fixed

  • Delmängdsbildning av inbäddade CFF/OpenType-teckensnitt tappar inte längre subrutiner som glyfer fortfarande använder; glyfer med fler än åtta hints, hstemhm-hints eller counter masks skannades fel, så att en använd subrutin kunde ersättas med en tom och glyfen renderas med saknade eller trasiga konturer

Version 2.770.132

Fixed

  • RegisterNChannelColorSpace (överlagringen med spotfärgsdefinitioner) skriver nu färgnamn som innehåller mellanslag eller avgränsare, som "PANTONE 185 C", korrekt som nycklar i ordlistorna /Colorants, /Solidities och /DotGain; det råa namnet förstörde filsyntaxen
  • AddPDFX6ExternalOutputIntentSpotData skriver sina nycklar för soliditet och spektraldata på samma sätt

Version 2.770.131

Fixed

  • XMP-metadata som skrivs med EnableXMPMetadata bär nu Title, Author, Subject och Keywords som giltig UTF-8 när de innehåller text i systemets kodsida (till exempel accenterade eller kinesiska tecken tilldelade som AnsiString); de råa kodsidbytes gjorde paketet till ogiltig XML, vilket PDF/A-validerare och XMP-läsare avvisar
  • Kontrolltecken som XML 1.0 inte tillåter lämnas utanför dessa XMP-värden

Version 2.770.130

Fixed

  • JBIG2-bilder som skrivits med JBIG2Options.AccumulateGlobalsAcrossPages avkodas korrekt igen när en senare sida lägger till symboler som tidigare sidor inte använde; sådana sidor fortsatte hänvisa till första sidans globals-ström, som saknar de nya symbolerna, så att visare visade dem förvrängda eller inte alls
  • Närhelst en sida lägger till symboler skrivs en globals-ström som innehåller hela ordlistan fram till den sidan och används därefter; sidor som inte lägger till symboler fortsätter dela den senaste

Version 2.770.129

Fixed

  • Sparning av ett inläst dokument vars objekt har ett generationsnummer annat än 0 skriver nu konsekventa objektnummer: en full omskrivning (SaveLoadedDocument och relaterade metoder) skriver varje objekt, referens och korsreferenspost med generation 0, där objekthuvuden och trailern förut behöll den gamla generationen medan referenser och korsreferenstabellen använde 0
  • Inkrementella uppdateringar (SaveIncrementalUpdate och relaterade metoder) hänvisar nu till befintliga objekt med sitt verkliga generationsnummer; referenser skrevs alltid med generation 0 och pekade därför på objekt som inte finns när originalet använde en annan generation

Version 2.770.128

Fixed

  • THPDFPage.TextOutHTML med en MaxWidth tappar inte längre formateringen vid radbrytning: när flera olika stylade runs flyttades till nästa rad tillsammans slogs de ihop till en run som ritades med den stil som gällde vid brytningen, så att deras färg, fet eller kursiv stil, teckensnitt, storlek, sub/superscript-offset och länk förlorades. Varje run behåller nu sin egen formatering på den nya raden

Version 2.770.127

Fixed

  • InvalidateRenderedPageCache kastar nu också de Type 3-glyf- och halftone-poster som delas av parallell rendering; efter en ogiltigförklaring av hela dokumentet kunde nästa parallella rendering återanvända glyfer cachade för det tidigare innehållet
  • PreflightLoadedPAdES tömmer inte längre den delade renderingscachen som en sidoeffekt av att kontrollera en signaturs PAdES-nivå, så renderingar efter en preflight behåller sina cachade glyfer

Version 2.770.126

Fixed

  • Revisions- och modifieringsanalys av signerade dokument rapporterar nu fältnamn korrekt när namnet innehåller parenteser eller slutar med en, till exempel "Total (net)"; det sista tecknet kapades av
  • Fältnamn skrivna med oktala escape eller med ett omvänt snedstreck som radfortsättning avkodas också

Version 2.770.125

Fixed

  • SplitPDFToFiles öppnar inte längre varje utdatafil i standardvisaren för PDF när den skrivs; de interna dokument den skapar har nu AutoLaunch avstängd

Version 2.770.124

Fixed

  • GetLoadedTrailerID returnerar nu dokumentets permanenta filidentifierare från trailerns /ID-array, som hexadecimal text; den letade efter /ID i dokumentkatalogen, där den aldrig finns, och rapporterade därför ingen identifierare för praktiskt taget varje fil

Version 2.770.123

Fixed

  • SetLoadedOpenActionPage skriver nu en destination som namnger den begärda sidan; sidreferensen skrevs som 0 0 R, så att visare inte kunde öppna dokumentet på den sidan
  • Destinationen behåller den aktuella visningspositionen (null för left och top) i stället för att tvinga 0 0, vilket hoppade till sidans nedre vänstra hörn

Version 2.770.122

Fixed

  • SetLoadedViewerPreferences skriver nu HideToolbar, HideMenubar, FitWindow och DisplayDocTitle som booleska värden; de skrevs som namnen /true och /false, vilket visare inte behandlar som booleska värden, så inställningarna hade ingen effekt

Version 2.770.121

Fixed

  • CheckLoadedSignatureSeedValue tvingar nu fram ett signaturfälts /Reasons-seedvärde när fältets /Ff-flaggor markerar det som obligatoriskt (bit 4, värde 8); en icke listad anledning brukade slippa igenom
  • Anledningar jämförs exakt, som textsträngar är i PDF; "approved" nöjer inte längre ett seedvärde som listar "Approved"

Version 2.770.120

Fixed

  • Att stämpla en inläst sida mer än en gång med StampLoadedPageText eller StampLoadedPageShape ger nu varje stämpel sin egen opacitet, och varje textstämpel sitt eget standardteckensnitt; den andra och senare stämplar återanvände den första stämpelns transparens och teckensnitt på sidan
  • En stämpel med samma opacitet och teckensnitt som en tidigare delar fortfarande sina resurser, så upprepade identiska stämplar får inte sidresurserna att växa

Version 2.770.119

Fixed

  • ExtractLoadedPageStructureText följer nu strukturelement vars /K-post är ett rent marked-content-nummer (till exempel /K 3 eller /K [0 1]), den vanligaste formen i taggade PDF-filer; sådana element ignorerades, så metoden rapporterade ingen strukturordning för många taggade dokument eller returnerade deras text i ritordning
  • Metoden läser inte längre en ogiltig katalogpost när ett dokument inte har något användbart rotobjekt

Version 2.770.118

Fixed

  • StampLoadedPageText, StampLoadedPageImage, StampLoadedPageShape, StitchLoadedPage och FlattenLoadedAnnotations förstör inte längre sidor som ärver sina resurser från den överordnade /Pages-noden; de gav en sådan sida en ny, tom /Resources-ordlista, som dolde de ärvda teckensnitten och bilderna så att sidans ursprungliga text och bilder inte längre visades
  • Sidan får nu en egen kopia av de ärvda resurserna innan det nya teckensnittet, bilden eller formen läggs till

Version 2.770.117

Fixed

  • ComposeLoadedPagesNUp, ImposeLoadedPagesNUp, ImposeLoadedPagesBooklet och sid-syssättningsmetoderna tar nu med resurser som en källsida ärver från sin överordnade /Pages-nod; sådana sidor placerades utan sina teckensnitt och bilder, så att deras text och bilder saknades eller blev fel på det sammanställda arket

Version 2.770.116

Fixed

  • SaveIncrementalUpdateAuthenticated kan nu skriva tillbaka till filen som den inkrementella uppdateringen startades från; den accepterade uppdateringen kunde inte ersätta målet eftersom dokumentet fortfarande hade källan öppen, och anropet misslyckades alltid med ett access-denied-fel vid sparningen
  • Som med en in-place-SaveIncrementalUpdate släpps källan före ersättningen, öppnas igen om ersättningen misslyckas, och BeginIncrementalUpdate måste anropas igen före en ny inkrementell sparning

Version 2.770.115

Fixed

  • RepairPDFUA2Structure tar inte längre exponentiell tid på strukturträd vars element listas av mer än en förälder (eller bildar en cykel); reparationssteget för språkarv, rubrikordningsreparationen och marked-content-skanningen bakom alternativtextreparationen går nu igenom varje strukturelement en gång. Ett konstruerat träd med 24 element där vart och ett listade nästa två gånger tog tidigare omkring 40 sekunder

Version 2.770.114

Fixed

  • HPDFPaginateTable lägger inte längre till sidor tills minnet tar slut när en rad som inte kan delas inte ryms under de upprepade rubrikraderna; på en sida som bara rymmer upprepade rubriker delas raden nu (eller, när rubrikerna fyller sidan, placeras den och får flöda över)
  • HPDFLayoutFootnotes och HPDFLayoutEndnotes loopar inte längre i all evighet när avgränsaren inte lämnar utrymme på en sida eller en nots minsta fragmenthöjd inte kan uppnås på en tom sida; noten placeras i stället på den sidan

Version 2.770.113

Fixed

  • HPDFBalanceColumns hänger sig inte längre när ett delbart objekt har en rad som är högre än kolumnhöjden; den gick vidare till nästa kolumn i all evighet. En sådan rad placeras nu ensam i toppen av en tom kolumn, som den flödar över, och layouten fortsätter

Version 2.770.112

Fixed

  • Dokument krypterade med standard säkerhetshanterare revision 4 (RC4- eller AES-128-crypt filter) öppnas igen när deras krypteringsordlista utelämnar den valfria toppnivåposten /Length; inläsningen misslyckades med "Unsupported legacy Standard security handler V=4 R=4 Length=40"
  • Ett godtyckligt toppnivå-/Length-värde accepteras för sådana dokument, eftersom filnyckeln alltid är 128 bitar

Version 2.770.111

Fixed

  • ProcessObjectStreamsForDecompression och ExtractRawObjectFromStream litar inte längre på en objektströms deklarerade /N-antal: ett antal över tio miljoner avvisas och antalet begränsas till de objektnummerpar som strömhuvudet faktiskt kan rymma, så att en konstruerad fil inte längre kan få dem att allokera eller gå igenom miljontals tomma poster

Version 2.770.110

Fixed

  • Direct File API (DADirectEncryptFileAES256, DADirectDecryptFileAES256 och relaterade metoder) läser nu /Root, /Info, /Encrypt, /Prev och /XRefStm i en klassisk korsreferenssektion bara från sektionens egen trailerordlista; på inkrementellt uppdaterade filer kunde den hämta en /Prev från objekt (till exempel ett dispositionsobjekt) eller en trailer i en senare revision och misslyckas eller läsa fel revision
  • En /Prev-kedja som loopar tillbaka till en redan läst sektion stannar nu i stället för att läsa samma sektioner igen

Version 2.770.109

Security

  • ApplyLoadedRedactions tar nu bort texten under ett svärtningsområde på sidor vars innehåll är delat över flera strömmar; när en ström slutade med en operator och nästa började med en (till exempel ET följt av BT), matchades texten efter sammanfogningen till fel operander och förblev läsbar i den sparade filen trots att området målats över
  • Innehållsströmmar utan data hoppas nu över konsekvent, så att de återstående strömmarna stämmer med texten som lokaliserats på sidan

Version 2.770.108

Changed

  • GetLoadedOCGCount, GetLoadedOCGName, GetLoadedOCGVisibility och SetLoadedOCGVisibility använder nu alla samma index: positionen för den valfria innehållsgruppen i dokumentets /OCProperties /OCGs-array. Count och name använde positionen i standardkonfigurationens /ON-array, visibility använde positionen i /OFF och sättaren använde /OCGs, så att ett index kunde beteckna tre olika grupper; dokument utan /OCGs faller fortfarande tillbaka på /ON-arrayen
  • GetLoadedOCGVisibility rapporterar nu en grupp som dold när den listas i /OFF, eller när den inte finns i någon av arrayerna och standardkonfigurationens /BaseState är /OFF

Fixed

  • SetLoadedOCGVisibility lägger inte längre in samma referensobjekt i både /OCGs och /ON eller /OFF (det frigjordes två gånger när dokumentet frigjordes) och läcker inte längre de poster det tar bort

Version 2.770.107

Fixed

  • CopyLoadedPage låter inte längre käll- och målsidans ordlistor dela samma /Contents- och /Resources-postobjekt; de delade objekten frigjordes två gånger när dokumentet frigjordes eller målposten ersattes, vilket kunde skada minnet
  • Målsidan får nu sin egen referens till källinnehållet och resurserna (direkta värden kopieras), och dess post i cachen för renderade sidor uppdateras

Version 2.770.106

Fixed

  • Inläsning av en skadad PDF läcker inte längre minne för varje strömobjekt som inte kan läsas, till exempel en ström utan vare sig /Length-post eller nyckelordet endstream, eller en vars ordlista eller data inte kan läsas in; att öppna sådana filer upprepade gånger fick processen att växa obegränsat

Version 2.770.105

Fixed

  • Tal skrivna med en tom bråkdel som "21." (tillåtet enligt PDF-specifikationen) får inte längre inläsningen att misslyckas; en indirekt ström-/Length skriven på det sättet brukade tappa hela strömmen, så att sidan blev tom
  • Tal med ett inledande plustecken, en tom heltalsdel som ".5", eller en heltalsdel utanför 32-bitarsintervallet läses också korrekt

Version 2.770.104

Fixed

  • PDFmerge-demon: med bokmärken påslagna öppnar nu varje källspecifikt bokmärke den första sammanslagna sidan av den källan; tidigare pekade varje bokmärke på första sidan av den sammanslagna filen
  • PDFmerge-demon: standardexempelkällorna och utdatanamnet, liksom relativa namn som skrivs in i formuläret, löses mot demomappen; att lägga till filer eller välja utdata i en dialog ändrar inte längre den aktuella katalogen och förstör inte de relativa uppgifterna

Version 2.770.103

Fixed

  • TextOut-demon: den genererade TextOut.pdf använder nu verkligen komprimerade innehållsströmmar, som demokommentarerna lovar; den sätter Compression till cmFlateDecode i stället för att förlita sig på BeginDoc-argumentet, som inte styr komprimeringen

Version 2.770.102

Fixed

  • Bilder ritade med AlphaBlend i en enhanced metafile behåller nu sin registrerade opacitet när metafilen konverteras med THPDFEmfPatcher.RenderEmfDirect; de blandades med noll opacitet och försvann
  • Det registrerade alfaformatet respekteras också, så att bilder utan alfakanal blandas med sin konstanta opacitet i stället för att misslyckas
  • Bitmappsposter vars huvud eller pixeldata pekar utanför posten, eller vars pixeldata är kortare än den deklarerade bitmappen, hoppas nu över i stället för att läsas förbi posten
  • Bitmappar större än 32768 pixlar på en sida eller 64 megapixlar totalt hoppas över i stället för att allokeras i sin helhet

Version 2.770.101

Fixed

  • StitchLoadedPage, StitchLoadedPageSideBySide och StitchLoadedPageSideBySideEx ritar nu källsidan genom en Form XObject som bär sidans innehåll, sidruta och resurser; sidordlistan själv registrerades som en XObject, vilket visare inte kan måla, så att den insydda sidan inte visades
  • Att sy in mer än en sida på samma mål bevarar varje insydd sida: var och en får sitt eget XObject-namn i stället för att alla delar ett namn som ersatte den föregående sidan

Version 2.770.100

Fixed

  • Form XObjects klipps nu mot sin /BBox vid rendering, som ISO 32000-1 kräver; innehåll som en form ritar utanför sin begränsande ruta visas inte längre på sidan
  • Form XObjects kapslade djupare än fyra nivåer ritas nu; de kastades bort som om de rekurrerade. Nästling tillåts upp till 32 nivåer
  • En form XObject som ritar sig själv, direkt eller genom andra former, upptäcks och det upprepade anropet hoppas över, med en rekursionspost i renderingsdiagnostiken

Version 2.770.99

Fixed

  • PDFOptimize-demon: raden av små rektanglar på varje textsida stryks nu, så att staplarna syns och innehållsströmmen avslutar varje bana med en målningsoperator som ISO 32000-1 8.5.2 kräver; de rapporterade text-PDF-storlekarna ändras något till följd av detta

Version 2.770.98

Fixed

  • Literalsträngar som innehåller balanserade parenteser utan omvända snedstreck, som /Title (Report (draft) v2), läses nu i sin helhet när ett dokument läses in; strängen slutade tidigare vid den första högerparentesen och resten av ordlistan lästes fel
  • Escapade parenteser fungerar fortfarande som tidigare

Version 2.770.97

Fixed

  • Inläsningen förväxlar inte längre ett ordlisteobjekt med en ström när ett av dess sträng- eller namnvärden innehåller bokstäverna "stream" i slutet av en rad, som en Info-ordlista med /Title (Livestream); objektet lästes som en ström och dess poster förlorades
  • Nyckelordet stream känns nu bara igen som en egen token efter ordlistans avslutande >> och i slutet av en rad, som PDF-specifikationen föreskriver för strömobjekt

Version 2.770.96

Fixed

  • Stamp-demon: PNG- och BMP-filer som erbjuds av bildväljaren kan nu användas som bildstämpel; tidigare fungerade bara JPEG och andra filer misslyckades med ett ogiltig-bitmapp-fel
  • Stamp-demon: gummistämpelannoteringen placeras i det övre högra området av varje sida som avsett, under en bildstämpel uppe i hörnet, i stället för i det nedre högra hörnet där den överlappade en bildstämpel nere till höger
  • Stamp-demon: standardsökvägarna för inmatning, utdata och bild löses mot demomappen, och att välja en fil i en dialog ändrar inte längre den aktuella katalogen, så att relativa namn fortsätter peka på samma filer

Version 2.770.95

Fixed

  • Tidsstämpelbegäranden byggda med en policy-OID (HPDFRFC3161BuildRequest, och signering med en tidsstämpelmyndighets policy) kodar nu den begärda policyn som den rena objektidentifierare som RFC 3161 föreskriver
  • Policyn packades tidigare in i en context-tagg som RFC 3161 reserverar för begärandetillägg, så att en strikt tidsstämpelmyndighet avvisade begärandet eller ignorerade policyn
  • Begäranden utan policy-OID påverkas inte

Version 2.770.94

Fixed

  • ViewerPref-demon: att lämna Initial Zoom omarkerat betyder nu verkligen "None (Default)"; den genererade PDF-filen öppnas inte längre med fit-height, som var komponentstandard som demon inte återställde

Version 2.770.93

Fixed

  • FileAttach-demon: annoteringarna för bilagor på sidnivå skapas nu när demon körs från en mapp vars namn har tecken utanför systemets ANSI-kodsida; den bifogade filen skickas med sitt rena filnamn i stället för en absolut sökväg

Version 2.770.92

Fixed

  • HTMLText-demon: en utdatasökväg som innehåller tecken utanför systemets ANSI-kodsida (till exempel ett grekiskt eller kyrilliskt katalognamn) skrivs nu korrekt i stället för att misslyckas
  • HTMLText-demon: den genererade PDF-filen öppnas inte längre automatiskt i en extern läsare, i linje med de andra konsoldemona

Version 2.770.91

Fixed

  • SVG- och XPS-sökvägsimport kastar inte längre EOverflow på tal med hundratals siffror, eller på långa tal kombinerade med en stor exponent; sådana värden avvisas som vilket annat tal utanför intervallet som helst
  • Påverkar SVG-bilder placerade genom SVG-import-API:erna och XPS-sökvägsgeometri, på kompilatorer vars flyttalsundantag inte är maskerade
  • Vanliga tal, inklusive långa mantissor med negativa exponenter, läses som tidigare

Version 2.770.90

Fixed

  • EmfDraw-demon: en misslyckad konvertering (till exempel en saknad inmatningsmetafil) avslutas nu med exit code 1 i stället för 0, så att skript och byggsteg som kör demon upptäcker felet

Version 2.770.89

Fixed

  • CJKAnnotations-demon: när Arial Unicode MS inte är installerat faller demon nu faktiskt tillbaka på Microsoft YaHei; den kontrollerar de installerade teckensnitten i stället för att vänta på ett undantag som ett saknat teckensnitt aldrig kastade, så att CJK-texten inte längre hamnar i ett ersatt teckensnitt utan CJK-täckning

Version 2.770.88

Fixed

  • Innehållsströmmar som nästlar mer än 32 q-operatorer förlorar inte längre det omslutande grafiktillståndet: djupare sparanden ignorerades medan deras motsvarande Q fortfarande återställde, så att text och grafik efter det kapslade blocket använde tillståndet från före en yttre q
  • Påverkar textextraktion genom content device-gränssnittet och SVG-export av sådana sidor
  • Sparade tillstånd växer nu med nästlingsdjupet; mycket djup nästling paras fortfarande ihop korrekt

Version 2.770.87

Fixed

  • ImageDemo: bokmärket "Image zoom" hoppar nu till rubriken IMAGE ZOOM i stället för till en punkt nära slutet av första sidan

Version 2.770.86

Security

  • En PDF som är krypterad för ett mottagarcertifikat med en nyckel på elliptisk kurva (ECDH-nyckelöverenskommelse) nollställer nu den råa delade hemligheten och de mellanliggande buffertarna för nyckelhärledning så snart de inte längre behövs, även vid återförsöket med den alternativa byteordningen och vid varje tidigt felfall
  • Signering med ett certifikat från Windows certifikatarkiv lämnar inte längre crypt32.dll och advapi32.dll inlästa när en nödvändig CryptoAPI-funktion inte hittas

Version 2.770.85

Security

  • Konturering av en Type 1-glyf vars charstring använder sbw med för få operander läser inte längre före operandstacken; den felformaterade operatorn ignoreras
  • En Type 1-charstring som slutar med escape-byten för en tvåbytesoperator läser inte längre förbi charstringens slut

Version 2.770.84

Fixed

  • Bytelängden för teckenkoder i ett CMap-codespace-intervall hämtas nu från längden på dess hexsträngar, som ISO 32000-1 9.7.6.2 anger; ett intervall som <0000> <00FF> behandlades som enbyte eftersom dess övre gräns ryms i en byte, vilket delade tvåbyteskoder vid rendering och textextraktion
  • Codespace-intervall som lästs från inbyggda CMap bär också sin kodlängd

Version 2.770.83

Fixed

  • Inbäddning av en delmängd av ett installerat TrueType-teckensnitt bevarar varje komponent i sammansatta glyfer (accenterade bokstäver och dylikt) vars komponenter bär en skalning eller en 2x2-transform; komponenten efter en sådan transform lästes fel, så den kunde försvinna från delmängden eller få sin glyfreferens skriven över transformbytena
  • Sammansatta glyfer vars komponenter refererar till varandra i en cykel, pekar förbi teckensnittets glyfantal eller pekar på en tom glyf kraschar eller låser inte längre delmängdsbildningen
  • I en delmängd numreras komponentreferenserna i en sammansatt glyf som är kapslad inuti en annan sammansatt om en gång i stället för två

Version 2.770.82

Fixed

  • Reella tal i CFF-teckensnittsordlistor (FontMatrix, FontBBox, blue values och dylikt) läses korrekt när en byte rymmer ett tecken, decimaltecken eller exponent bredvid en siffra; siffran i samma byte kastades tidigare bort, så -2.25 blev -0.5
  • Dessa värden tolkas med punkt som decimaltecken oavsett Windows regionala inställningar; på system som använder decimaltecknat komma misslyckades de med ett konverteringsfel

Version 2.770.81

Fixed

  • Textextraktion och ToUnicode-uppslag returnerar inte längre en inaktuell flerteckenssträng för koder i en beginbfrange-arraypost som följer en annan arraypost med flerteckensmål; sådana koder mappas nu till sitt eget enskilda tecken

Version 2.770.80

Fixed

  • Instansiering av ett TrueType-variabelteckensnitt vid valda axelvärden (till exempel via SetVariableFontAxis) förvränger inte längre glyfer vars gvar-data har en gles tupel efter en annan tupel; den glesa tupeln startade från föregående tupels deltan och flyttade de punkterna två gånger
  • Punkter som en gles tupel utelämnar interpoleras nu bara från de punkter tupeln listar, som OpenType gvar-reglerna kräver

Version 2.770.79

Security

  • AddTiffFromFile avvisar nu en TIFF-sida vars bredd gånger höjd kräver en raster på mer än 2 GB och kastar ett undantag i stället för att allokera en buffert vars storlek hade wrapat runt och låta avkodaren skriva förbi dess slut (heap overflow)
  • En TIFF-sida med bredd eller höjd noll avvisas på samma sätt
  • Höga TIFF-sidor (1200 rader eller fler) rapporterar nu ett allokeringsfel i stället för att avkoda in i en nil-buffert

Version 2.770.78

Fixed

  • Glyfer i Type 3-teckensnitt följer nu horisontell skalning (Tz): en text som ritas med 200 % horisontell skalning ritas dubbelt så bred i stället för i sin naturliga bredd
  • Glyfer i Type 3-teckensnitt följer nu texthöjning (Ts), så upphöjda och nedsänkta tecken satta i Type 3-teckensnitt höjs eller sänks i stället för att stanna på baslinjen
  • Glyfframmatningen var redan skalad; glyfernas former passar nu ihop med den

Version 2.770.77

Fixed

  • RFC 3161-tidsstämpelbegäranden byggda av HPDFRFC3161BuildRequest kodar alltid noncen som en minimal DER INTEGER; när den slumpvisa noncen började med en nollbyte bar begärandet en redundant inledande nolla, vilket strikta tidsstämpelservrar avvisar som felformaterat
  • Den returnerade noncen behåller den begärda längden, så anropare som jämför den med tidsstämpelsvaret påverkas inte
  • Krypterade PDF 2.0-filer (AES-256-GCM) vars objektströmmar avkodar till tomt innehåll misslyckas inte längre att läsas in med ett GCM-autentiseringsfel; en tom objektström med en giltig autentiseringstagg accepteras nu, medan en manipulerad tagg fortfarande avvisas

Version 2.770.76

Fixed

  • Hyperlink-demon: länktexter och URL:er med tecken utanför systemets ANSI-kodsidan (till exempel grekiska, kyrilliska eller accenterade texter) görs inte längre om till frågetecken; länktexter ritas som Unicode-text med en URI-länk lagd över
  • Hyperlink-demon: icke-ASCII-tecken i en URL procentteckenkodas som UTF-8 innan de lagras i länkaktionen, så visare öppnar den avsedda adressen

Version 2.770.75

Fixed

  • CalRGB-färger med komponenter utanför 0..1 kastar inte längre ett flyttalsundantag (EInvalidOp) vid rendering; komponenterna klipps till sitt giltiga intervall innan gammat appliceras
  • Sådana färger renderas nu som den närmaste färgen inom intervallet i stället för en odefinierad, på kompilatorer vars flyttalsundantag är maskerade

Version 2.770.74

Fixed

  • Direkta File API-omskrivningar (till exempel DADirectEncryptFileAES256 och DADirectDecryptFileAES256) som körs på flera trådar samtidigt förstör inte längre varandras utdata; byterange-kopian de delar använde en enda buffert för hela processen

Version 2.770.73

Fixed

  • THPDFSignatureValidationBatch:s delade revokeringscache hittar nu OCSP-svar för undertecknarcertifikat vars serienummer har sin översta bit satt; sådana svar lagrades under ett serienummer utan den inledande nollbyten och söktes upp med det, så varje senare signatur missade cachen
  • OCSP-svar signerade av en delegerad svarande, eller som identifierar den svarande med nyckel, lagras nu under certifikatutgivaren och kan återanvändas av senare signaturer i batchen; tidigare lagrades de under den svarandes namn eller inte alls
  • Signaturer som litar på bevis cachade av en tidigare signatur i samma batch når nu ett betrott resultat i stället för en okänd revokeringsstatus i dessa fall

Version 2.770.72

Fixed

  • Uppslag av en bifogad fil vid namn (GetLoadedEmbeddedFileSpec, ExtractEmbeddedFileBytes, SaveLoadedEmbeddedFileToDisk och relaterade metoder) spiller inte längre stacken när dokumentets /EmbeddedFiles-namnträd har noder som listar varandra eller sig själva som /Kids
  • Varje namnträdsnod söks en gång, så namn som nås via en delad nod hittas fortfarande

Version 2.770.71

Fixed

  • PageSizes-demon: sidorna i kinesiska 8K- och 16K-format skriver nu ut hela sin beskrivning på alla system; de kinesiska formatnamnen ges i pinyin eftersom beskrivningarna ritas i Arial, som saknar CJK-glyfer, och icke-ASCII-text blev frågetecken på icke-CJK-kodsidor

Version 2.770.70

Fixed

  • Axiala (Type 2) skuggningar täcker nu hela det målade området när skuggaxeln ligger långt bort från det, till exempel en gradient definierad utanför sidkanten med /Extend [true true]; sådana områden lämnades omålade
  • Gäller operatorn sh och skuggningsmönster använda som fyllnads- eller streckfärg

Version 2.770.69

Fixed

  • Navigation-demon: de namngivna målen chapter-1 och chapter-2 öppnar nu sina sidor vid toppen, 60 punkter under övre kanten, i stället för att scrolla till sidans botten; målkoordinaterna ligger i PDF default user space, med origo i nedre vänstra hörnet

Version 2.770.68

Fixed

  • Textextraktion ur en PDF med ett inbäddat TrueType-teckensnitt fastnar inte längre i minuter när teckensnittets cmap är avhuggen men påstår tusentals segment eller grupper; tabellängden kontrolleras nu innan segmenten och grupperna läses
  • Byggandet av glyf-till-Unicode-mappen för ett inbäddat TrueType-teckensnitt går igenom varje cmap-undertabell en gång per segment eller grupp i stället för att slå upp alla 65 535 BMP-kodpunkter en och en, vilket också snabbar upp extraktionen med stora CJK-teckensnitt
  • Glyfuppslag genom en avhuggen format 4- eller format 12-cmap-undertabell stannar vid slutet av teckensnittsdata i stället för att skanna segment som inte finns där

Version 2.770.67

Fixed

  • Exponentiella funktioner (Type 2) och stitching-funktioner (Type 3) följer nu en /Domain med ett enda ingångsvärde, som [0 0.5]; den ignorerades och byttes ut mot [0 1], så ingångsvärden klipptes till fel intervall
  • En exponentiell funktion utan /C1 använder nu standardvärdet [1.0]; Separation-färger och skuggningar definierade så renderades svarta
  • Exponentiella funktioner beräknar nu C0 + x^N (C1 - C0) med ingången själv i stället för att skala om den till 0..1, i linje med ISO 32000-1 för domäner andra än [0 1]
  • Utdata från exponentiella funktioner klipps till /Range bara när den finns; spotfärger med ett Lab-alternativutrymme (L* upp till 100) klipptes till 0..1 och renderades nästan svarta
  • En exponentiell funktion vars ingång ligger utanför de värden den är definierad för avvisas i stället för att kasta ett flyttalsundantag

Version 2.770.66

Fixed

  • PKCS#12 / PFX-filer exporterade utan lösenord av verktyg som härleder sina nycklar från ett lösenord med noll längd öppnas nu med ett tomt lösenord i HPDFParsePFX, HPDFParsePFXByLocalKeyID, HPDFEnumeratePFXIdentities och PFX-signeringsmetoderna; de misslyckades tidigare med ett autentiseringsfel
  • Med ett tomt lösenord provas RFC 7292:s standardkodning först och nollängdsformen sedan, för både integritetskontrollen och nyckeldekrypteringen

Version 2.770.65

Fixed

  • Sidhuvudet i C++Builder DBTable-demon lyder nu "Page 1" i stället för "Page1"
  • Ett fel medan C++Builder DBTable-demon skriver sin tabell stänger nu det halvfärdiga dokumentet, så nästa klick börjar från ett rent tillstånd

Version 2.770.64

Fixed

  • C++Builder-konsoldemonerna AnnotationInteraction, FormFields, CanvasDraw, EmfDraw, FormXObject, GraphicDraw, ImageDemo, ImageMask, LineGraphicsState och RtLTextOut byter till den körbara filens katalog när de startas utan argument, liksom Delphi-demonerna, så deras indatafiler hittas och deras PDF:er skrivs där även när de körs från en annan katalog
  • C++Builder Graphic-demonerna skickar inte längre ett stängningsmeddelande till varje fönster vars rubrik innehåller namnet på sin utdata-PDF, vilket kunde stänga orelaterade fönster
  • C++Builder ImageMask-demon fungerar nu som Delphi-versionen: den kontrollerar att Mask.bmp och Image.jpg finns, komprimerar sin utdata, öppnar ingen visare och rapporterar fel i stället för att sluta med ett ohanterat undantag
  • C++Builder EmfDraw-demon rapporterar ett fel, till exempel en saknad Sample.emf, och returnerar en utgångskod skild från noll i stället för att sluta med ett ohanterat undantag
  • C++Builder AddDelPages-demon löser relativa in- och utdatafilnamn mot den körbara filens katalog, liksom Delphi-versionen

Version 2.770.63

Fixed

  • C++Builder FileAttach-demon skriver FileAttach.pdf bredvid den körbara filen, namnet Delphi-versionen och readme-filen använder, i stället för Output.pdf i arbetskatalogen, och behåller sin FileAttach.txt-bilaga i samma mapp

Version 2.770.62

Fixed

  • Direct File API (DADirectEncryptFileAES256, DADirectDecryptFileAES256 och de andra direkta omskrivningsmetoderna) läser nu korsreferensströmsoffset över 2 GiB korrekt; sådana offset klipptes av och blev negativa, så objekt i den övre delen av en stor fil kunde inte hittas
  • /Prev- och /XRefStm-offset över 2 GiB i trailern eller korsreferensströmmen följs i stället för att läsas som 0, så äldre revisioner och hybridkorsreferensavsnitt i stora filer hoppas inte längre över
  • Detsamma gäller vid inläsning av en stor fil och vid granskning av dess revisioner
  • Nya HPDFDirectReadUIntBE64- och HPDFFindNameInt64-hjälpfunktioner returnerar hela 64-bitarsvärdet

Version 2.770.61

Fixed

  • En korsreferensström vars /W-fältbredder är negativa eller större än 8 byte avvisas nu i stället för att avkodas; inläsningen faller tillbaka på att skanna filen efter sina objekt
  • Direct File API-metoderna (till exempel DADirectEncryptFileAES256) läser inte längre minne utanför den avkodade tabellen och kan inte längre krascha på en sådan fil; de avvisar den i stället

Version 2.770.60

Fixed

  • Textextraktion, sökning och glyfpositioner läser nu textoperatorn " korrekt: dess första operand är ordmellanrummet och dess andra teckenmellanrummet; de två var ombytta
  • Rader skrivna med " och ett skilt från noll ord- eller teckenmellanrum rapporterar inte längre förskjutna glyfpositioner, vilket kunde slå ihop eller dela ord i extraherad sidtext och lägga sökträffar på fel ställe
  • Sidrenderingen påverkades inte

Version 2.770.59

Fixed

  • Table-demon: raderna som täcks av "Group A"-rowspanet visar nu sin punkt och anteckning i kolumnerna Item och Notes; tidigare sköts anteckningstexten en kolumn åt sidan och föll bort
  • Table-demon: den genererade PDF:en öppnas inte längre automatiskt i en extern läsare, i linje med de andra konsoldemonerna, och utdatasökvägar utanför systemets ANSI-kodsida bevaras orörda

Version 2.770.58

Fixed

  • Dekomprimering av Flate-data till en ström läcker inte längre avkodartillståndet (cirka 40 KB per gång) när käll- eller målströmmen kastar ett undantag halvvägs, till exempel när en skrivning misslyckas eller en ström når sin storleksgräns
  • Komprimering av en sträng läcker inte längre sin tillfälliga buffert om komprimeringen kastar ett undantag
  • Lyckad komprimering och dekomprimering beter sig exakt som tidigare

Version 2.770.57

Fixed

  • Certifikat vars tillägg för namnbegränsningar inte är märkt kritiskt avvisas inte längre som oläsliga vid signaturcertifikatsvalidering; ett CA-certifikat av det slaget gjorde tidigare att varje kedja genom det misslyckades att byggas
  • En sådan certifikats begränsningar tillämpas nu på resten av kedjan som kritiska, så undertecknarnamn utanför de tillåtna underträden rapporteras fortfarande som ett brott mot namnbegränsningar

Version 2.770.56

Fixed

  • PostScript-kalkylfunktioner (Type 4) med djupt kapslade if- eller ifelse-procedurer spiller inte längre stacken vid rendering; en sådan funktion behandlas som oanvändbar och färgen faller tillbaka som för varje annan ogiltig funktion
  • Kapslingen begränsas till 64 nivåer, långt utöver vad riktiga kalkylprogram använder; vanliga Type 4-tinttransformer och skuggningar renderas som tidigare
  • Utvärdering av kalkylfunktioner kräver mindre stack per kapslingsnivå

Version 2.770.55

Fixed

  • E-Invoice-demon: den extraherade Factur-X / ZUGFeRD-XML:en avkodas som UTF-8, så accenterade och andra icke-ASCII-tecken i namn och adresser visas inte längre förvrängda i XML-panelen
  • E-Invoice-demon: på Delphi XE2 och senare styr det samlade e-fakturaomdömet nu affärsregelssteget, så att en regelfil eller motor som misslyckas får valideringen att fallera i stället för att passera tyst
  • E-Invoice-demon: en avvikelse mellan synlig text och XML från den heuristiska konsistenskontrollen rapporteras som en varning och får inte längre den övergripande valideringen att misslyckas på egen hand

Version 2.770.54

Security

  • CMS-signaturverifiering (HPDFVerifyCMSSignature, HPDFVerifyCMSSignatureEx och inlästa PDF-signaturer) rapporterar nu en felformaterad signatur när de signerade attributen saknar content-type-attributet eller anger en innehållstyp skild från det signerade innehållet, som RFC 5652 kräver; sådana signaturer verifierades tidigare som giltiga, vilket lät signerade attribut gjorda för en innehållstyp presenteras som signering av en annan
  • Signaturer med content-type-attributet upprepat avvisas som tidigare
  • Kontrasignaturer, som per definition inte bär något content-type-attribut, och RFC 3161-tidsstämpeltoken verifieras som tidigare

Version 2.770.53

Fixed

  • Ett andra klick på knappen i C++Builder Annotations-demon skriver inte längre ut föregående dokument igen innan det nya har startats
  • Ett fel medan C++Builder Annotations-demon bygger sin PDF stänger nu det halvfärdiga dokumentet, så nästa klick börjar från ett rent tillstånd

Version 2.770.52

Fixed

  • Flera dokument eller THotPDF-instanser i en process som använder samma diskrenderingcachemapp delar nu ett enda cacheindex; tidigare höll varje instans sitt eget index och skrev över de andras vid varje sparande, så att ordningen senast använda gick förlorad
  • Dokumentantal- och totalstorleksgränserna för diskrenderingcachen upprätthålls över alla instanser som delar en mapp, så mappen växer inte längre förbi sin budget när flera visare eller rendertrådar använder den samtidigt
  • Samma mapp känns igen oavsett gemener/versaler eller ett avslutande sökvägsavgränsartecken

Version 2.770.51

Fixed

  • Omsampling av en bitmapp med bicubic- eller Lanczos3-kärnan fungerar nu för alla källpixelformat; en 32-bitars, 8-bitars eller 1-bitars källa lästes tidigare som om den höll 3-bytespixlar, vilket blandade dess färgkanaler eller läste förbi radernas slut
  • Sådana källor konverteras först till 24 bitar, så den omsamplade bilden har samma färger som källan; resultatet förblir en 24-bitars bitmapp som tidigare
  • 24-bitarskällor och halftone-kärnan påverkas inte

Version 2.770.50

Fixed

  • PreflightCLI-demon: -d på en enda PDF skriver nu dashboardindexet även när filen fallerar i preflight
  • PreflightCLI-demon: filer som kastar ett fel under preflight listas som misslyckade i dashboardindexet, och utgångskoden speglar varje misslyckad fil
  • PreflightCLI-demon: med -r skrivs rapporter för lika namngivna PDF:er i olika underkataloger till matchande undermappar i stället för att skriva över varandra, både med -o och i dashboarden
  • PreflightCLI-demon: -f json och -f csv ger nu samma schema med eller utan --profile / --preset / --aggregate, inklusive CSV:s spec-kolumn
  • PreflightReport-demon: CSV-rapporter genererade med en profil fyller nu spec-kolumnen som rapporter utan en

Version 2.770.49

Fixed

  • C++Builder LargeFile-demon genererar nu den benchmarkindatamängd dess readme beskriver, liksom Delphi-versionen: LargeFile-Text.pdf, LargeFile-Image.pdf, LargeFile-Mixed.pdf och den AES-256-krypterade LargeFile-Encrypted.pdf i en BenchmarkInputs-mapp bredvid den körbara filen; den skrev bara en enda 200-sidig LargeFile.pdf
  • C++Builder LargeFile-demon tar emot alternativen --output-dir, --scale (small, default, large, huge) och --pages och skriver ut HugeFileBenchmark-kommandot för den genererade mappen

Version 2.770.48

Fixed

  • C++Builder Outlines-demon skriver nu Outlines.pdf bredvid den körbara filen, filen readme-filen namnger, i stället för Output.pdf i arbetskatalogen, och rapporterar var den sparades i stället för att öppna en visare
  • C++Builder Outlines-demon bygger nu samma 10-sidiga dokument med Arial-sidetiketter som Delphi-versionen; sidbottenetiketterna vid y = 830 skars av vid sidkanten och sista sidans "Bottom"-bokmärken pekade under dem
  • Ett fel medan C++Builder Outlines-demon skriver PDF:en lämnar inte längre demon oförmögen att skapa ett nytt dokument

Version 2.770.47

Fixed

  • Den beständiga diskrenderingcachen fungerar nu under mappar vars namn innehåller tecken utanför systemets ANSI-kodsida (till exempel en användarprofilsmapp med icke-latinska tecken); tidigare misslyckades varje sidskrivning där och cachen gav aldrig någon träff
  • THPDFDiskPageCache tar sin rotmapp som en Unicode-sträng och håller alla cache-sökvägar i Unicode, inklusive det atomära utbytet av sidfiler och av cacheindexet

Version 2.770.46

Fixed

  • Region- och tile-rendering (RenderLoadedPageRegionToBitmap, RenderLoadedPageTiles, progressiv regionrendering) lämnar inte längre en tile tom när dess enda innehåll kommer från ett form XObject placerat bort från origo; en form räknas nu som täckande sin /BBox som placerad av dess /Matrix och den aktuella transformationen
  • Text placerad med TD, T*, ' eller " landar nu på rätt rad när det avgörs vilka tiles som innehåller den, så senare rader i ett stycke gallras inte längre bort från de tiles de visas i
  • Td-offset skalas med textmatrisen och mäts från radens början, i linje med hur texten faktiskt ritas
  • Teckenmellanrum, ordmellanrum, horisontell skalning och texthöjning tas med i beräkningen när det uppskattas var en textsekvens slutar, och glyfer antas inte längre vara smalare än en em

Version 2.770.45

Fixed

  • C++Builder MemStream-demon skriver MemStream.pdf bredvid den körbara filen, namnet Delphi-versionen använder, i stället för Memory.pdf i arbetskatalogen
  • C++Builder MemStream-demon läser nu in PDF:en i minnet igen med LoadFromStream och kontrollerar att den har en sida innan den sparas
  • Ett fel medan C++Builder MemStream-demon skriver PDF:en lämnar inte längre demon oförmögen att skapa ett nytt dokument

Version 2.770.44

Fixed

  • C++Builder HelloWorld-demon skickar inte längre ett stängningsmeddelande till varje fönster vars rubrik innehåller HelloWorld.pdf när den startar, vilket kunde stänga orelaterade fönster som en redigerare eller en filhanterare
  • C++Builder HelloWorld-demon skriver HelloWorld.pdf bredvid den körbara filen och öppnar den bara när --open är angivet; liksom Delphi-versionen tar den emot ett utdatafilnamn eller --output <file>

Version 2.770.43

Fixed

  • Inläsning av en PDF vars sidträd har mellanliggande /Pages-noder tappar inte längre sidorna under dessa noder; sådana dokument rapporterade tidigare bara sidorna listade direkt under trädets rot
  • Sidorna behåller sin sidträdsordning, så sidindex, sidboxar och innehåll stämmer med vad andra visare visar
  • En sida vars /Type lagras som ett indirekt objekt känns igen som en sida under detta ordningssteg

Version 2.770.42

Fixed

  • Inläsning av en PDF vars sidträd refererar tillbaka till sig självt (en /Pages-nod listad bland sina egna /Kids, eller två noder som listar varandra) kraschar inte längre med stackspill; varje sidträdsnod gås igenom en gång och absurt djupa träd kapas
  • En sidträdsnod vars /Kids-array eller /Type-namn lagras som ett indirekt objekt läser nu in sina sidor i stället för att misslyckas eller läsa ogiltigt minne

Version 2.770.41

Fixed

  • THPDFPage.LastAnnotation returnerar nu länken som skapas av AddGoToLink, AddURILink, AddNamedDestinationLink, AddGoToRLink, AddLaunchLink, AddStructureDestinationLink och AddGoToRStructureDestinationLink
  • Att anropa SetAnnotationFlags, SetAnnotationBorderStyle eller AddPopupAnnotationFor med LastAnnotation direkt efter att en länk lagts till är inte längre verkningslöst och ändrar inte i stället den tidigare skapade annoteringen

Version 2.770.40

Fixed

  • Jobb-JSON som skickas till THPDFJobProcessor.Execute, HPDFDocRunJob och HPDFDocRunJobWithCallbacks läses nu som UTF-8 genomgående: \uXXXX-escapes kollapsar inte längre till ANSI-kodsidan, och escapeade surrogatpar som 😀 ger det avsedda tecknet i stället för två trasiga
  • In- och utdatafilnamn i merge-, split-, optimerings-, krypterings- och valideringsjobb behåller tecken utanför systemkodsidan, vare sig de skrivs som rå UTF-8 eller som \u-escapes, så sådana filer hittas och skrivs under sina riktiga namn
  • En felformaterad \u-escape med färre än fyra hexsiffror kastas bort utan att svälja följande tecken eller avslutande citationstecken
  • Ett UTF-8-byteordningsmärke i början av jobtexten ignoreras

Version 2.770.39

Fixed

  • Objektidentifierare som anroparen anger när signaturer och tidsstämpelbegäranden byggs (signaturpolicy, åtagandetyp, deklarerad roll, tidsstämpelpolicy och liknande OID:er) kodas nu korrekt när den första arcen är 2 och den andra arcen är 48 eller större; det kombinerade första värdet klipptes tidigare till en enda byte, vilket gav en annan, felaktig identifierare
  • En objektidentifierar-arc för stor för att kunna återges avvisas nu med ett fel i stället för att tyst falla tillbaka till ett annat värde

Version 2.770.38

Fixed

  • HugeFileBenchmark-demon: med --recursive --keep-output skriver PDF:er som delar ett filnamn i olika underkataloger inte längre över varandras genererade filer; arbetskatalogen speglar nu indatamappträdet

Version 2.770.37

Security

  • Rendering av en PDF med ett inbäddat TrueType-teckensnitt vars sammansatta glyfer listar många komponenter, var och en åter en sammansatt, kan inte längre låsa renderaren eller text-till-sökväg-exporten; en glyf expanderas nu till högst 1024 komponenter över alla kapslingsnivåer
  • En sammansatt glyfkomponent som refererar tillbaka till sin egen glyf hoppas över i stället för att expanderas ner till kapslingsgränsen

Version 2.770.36

Fixed

  • En stitching-funktion (Type 3) som refererar tillbaka till sig själv, direkt eller via andra funktioner, rekurrerar inte längre tills stacken spiller; den behandlas som en oanvändbar funktion
  • Berör Separation- och DeviceN-tinttransformer, skuggfunktioner och överföringsfunktioner i felformaterade eller fientliga PDF:er renderade med RenderLoadedPageToBitmap och de andra renderingsvägarna
  • Funktionskapsling begränsas till 16 nivåer; legitima dokument kapslar långt grundare

Version 2.770.35

Fixed

  • C++Builder PageOperations-demon kör nu samma arbetsflöde som Delphi-versionen: den infogar också en tom sida med egen storlek via InsertLoadedBlankPage och skriver ut texten på sidorna 1-3 med ExtractLoadedPagesText
  • De omordnade och extraherade filerna från C++Builder PageOperations-demon innehåller nu samma sidor som Delphi-versionens, med sista sidan flyttad till sida 2 och sidorna 2 och 5 extraherade

Version 2.770.34

Fixed

  • C++Builder Hyperlink-demon fortsätter på en ny sida när länklistan inte ryms på en sida; länkar under första sidans botten skrevs utanför sidan
  • Add, Remove och Make PDF i C++Builder Hyperlink-demon inaktiveras medan PDF:en skrivs, så länklistan kan inte längre ändras och dokumentet kan inte startas en andra gång mitt i genereringen

Version 2.770.33

Fixed

  • C++Builder Stamp-demon placerar nu textvattenstämpeln och gummistämpelannoteringen relativt varje sidas storlek; på liggande och andra icke-A4-sidor föll stämpelannoteringen utanför sidan och vattenstämpeln drev från mitten

Version 2.770.32

Fixed

  • Varje knapp i C++Builder ViewerPref-demon börjar nu från ett färskt dokument; läsriktningen, initialzoomen och andra visarinställningar från ett tidigare klick fortsatte gälla, så till exempel Create PDF efter Test Direction skrev fortfarande höger-till-vänster-text och inställningar som inte längre var valda
  • C++Builder PDF_INFO-demon skriver nu PDFInfo.pdf bredvid den körbara filen, filnamnet Delphi-versionen och readme-filen använder

Version 2.770.30

Security

  • Certifikatkedjevalidering (HPDFValidateCMSCertificatePath, online-varianten och signaturbatcher) kan inte längre stoppas av en signatur som bäddar in många certifikat som delar ett namn och en nyckel; en sådan mängd fick tidigare kedjesökningen att prova varje möjlig ordning, vilket växer faktoriellt och kunde hålla en validering sysselsatt i timmar
  • Varje utgivarsignatur i en kandidatkedja verifieras nu en gång per validering och dess resultat återanvänds, i stället för att verifieras igen för varje väg som passerar den
  • Kedjesökningen begränsas till en fast mängd arbete; när gränsen nås rapporterar valideringen att ingen giltig väg når ett förtroendeankare, och vanliga kedjor håller sig långt under den

Version 2.770.29

Fixed

  • ImportLoadedInterchangeFromFDF matchar nu hela nyckelnamn när den läser annoteringar och FDF-statusen: /T stannar inte längre vid /Type eller /Text, /F inte längre vid /FreeText, och /Status inte längre vid en längre nyckel som börjar på samma sätt, så importerade annoteringar behåller sin författare och sina flaggor
  • Nycklar i kapslade ordlistor inuti en importerad annotering, och nyckelliknande text inuti strängar, tas inte längre för annoteringens egna poster
  • Literalsträngar i importerade FDF-annoteringar och status avkodar alla escapes som ISO 32000-1 definierar: \t, \b, \f, oktala \ddd och omvänt snedstreck som radfortsättning, utöver \n, \r och escapeade parenteser

Version 2.770.28

Fixed

  • I byggen gjorda med Delphi-versioner före XE2, som använder den medföljande PNG-läsaren, läser inläsning av en PNG-fil med ett komprimerat textblock (zTXt) inte längre förbi en intern buffert; text längre än 256 byte kom ut korrupt och mycket för lång, och stora block kunde krascha
  • Komprimeringsmetoden för ett komprimerat textblock läses nu från rätt byte, så block med en metod som inte stöds ignoreras i stället för att avkodas som om de vore deflate-data
  • Avhuggen eller felformaterad komprimerad text riskerar inte längre en oändlig avkodningsslinga
  • Byggen med Delphi XE2 och senare använder systemets PNG-läsare och påverkas inte

Version 2.770.27

Changed

  • C++Builder SearchAndSelect-demon fungerar nu som Delphi-versionen: den skapar en exempel-PDF, läser in den, hittar söktermen med SearchLoadedDocumentText och lägger en överstrykningsannotering över varje träff med AddLoadedHighlightAnnotation
  • C++Builder SearchAndSelect-demon tar emot en indatapdf, en sökterm, en utdatafil och alternativen --case-sensitive och --whole-word, och kontrollerar den sparade kopian för de nya annoteringarna

Fixed

  • Överstrykningarna i C++Builder SearchAndSelect-demon täcker nu de matchade orden; de placerades en rad för högt eftersom textpositionen togs som baslinjen i stället för textens topp

Version 2.770.26

Fixed

  • C++Builder DigiPrint-demon startar nu på system vars decimaltecken är en punkt; kommatalen i demo.xml tolkades med systemlokalen och kastade ett fel medan formuläret skapades
  • DigiPrint-demon läser demo.xml och sina två JPEG-ikoner från den körbara filens katalog och skriver demo.pdf där, och projektet placerar nu den körbara filen i demomappen bredvid dessa filer
  • DigiPrint-demonens sidfotsikoner ritas inuti sidfotsraden i stället för under sidans nedersta linje, och titel, år och sidfotstext använder rapportstilens teckensnittsstorlekar
  • Att klicka på DigiPrint-knappen mer än en gång flyttar inte längre vänstermarginalen ytterligare åt höger med varje klick
  • Ett fel medan DigiPrint-demon bygger PDF:en, till exempel en saknad bildfil, lämnar inte längre demon oförmögen att skapa ett nytt dokument

Version 2.770.25

Fixed

  • Showcase-demon: rubrikband, omslagsbakgrunden, gradientrutorna och baksidans accent landar nu rätt i förhållande till de former de fyller; gradientkoordinater anges i PDF default user space (origo nere till vänster), så färgerna förskjuts inte längre eller vänds
  • Showcase-demon: Save Copy växlar inte längre arbetsfil, så Regenerate och Open External fortsätter använda huvudgalleriet i stället för den senast skrivna kopian
  • Showcase-demon: när genereringen av galleriet misslyckas binds visaren om och fortsätter visa det senast inlästa galleriet i stället för att stå tomt
  • Showcase-demon: utdatasökvägar med tecken utanför systemets ANSI-kodsida skickas igenom oförändrade

Version 2.770.24

Fixed

  • Inläsning av en JPEG 2000-bild med fyra komponenter (RGB plus alfa, eller YCC plus alfa) i en TJpeg2000Bitmap lägger nu röd, grön, blå och alfa i rätt byte i 32-bitarsbitmappen; tidigare sköts färgkanalerna en byte och alfakanalen skrev över en av dem
  • Detta fixar också en tur och retur av en 32-bitars TJpeg2000Bitmap genom SaveToStream och LoadFromStream, som kom tillbaka med omkastade färger
  • Färgbilder med tre komponenter, gråskalebilder och CMYK-bilder med fyra komponenter läses in som tidigare

Version 2.770.23

Security

  • En textsträng vars värde börjar med << och slutar med >> (till exempel en titel, författare, formulärfältvärde eller annoteringstext som "<<URGENT>>") sparas nu alltid som en sträng; den skrevs ut ordagrant, vilket bröt filsyntaxen och lät konstruerad text mata in en ordlista, till exempel en åtgärd, i det sparade dokumentet
  • Gäller nya dokument och inlästa dokument sparade med SaveLoadedDocument och relaterade metoder

Version 2.770.22

Fixed

  • C++Builder Barcodes-demon skriver Barcodes.pdf bredvid den körbara filen i stället för in i aktuell arbetskatalog, och tar emot ett valfritt utdatafilnamn som sitt enda argument
  • C++Builder Barcodes-demon öppnar inte längre en PDF-visare efter att den körts, och liksom Delphi-versionen komprimerar den sitt sidinnehåll och öppnar med anpassad-till-höjd-zoom
  • Fel i C++Builder Barcodes-demon rapporteras med sin meddelandetext; konsolen visade en minnesadress i stället

Version 2.770.21

Fixed

  • I det stabila C ABI:t frigör ett anrop av hpdf_document_destroy medan ett annat anrop på samma handtag fortfarande körs (från en annan tråd, eller inifrån en läs-, skriv-, förlopps- eller avbrytningscallback) inte längre dokumentet under det anropet
  • Handtaget blir ogiltigt så snart hpdf_document_destroy returnerar; dokumentet självt frigörs när det sista pågående anropet på det avslutas
  • Anrop som slår upp ett handtag samtidigt med dess förstörelse får HPDF_STATUS_INVALID_HANDLE i stället för att röra frigjort minne

Version 2.770.20

Security

  • Shaping av text med ett TrueType/OpenType-teckensnitt vars GSUB-kontextuella uppslag refererar till sig själva spiller inte längre stacken och kraschar; kapslingsdjupet ackumuleras nu verkligen över nivåer
  • En kontextuell regel som avfyrar många kapslade uppslag kan inte längre föröka dem till en nästan oändlig slinga: varje toppnivåmatch kör högst 1024 kapslade uppslag

Fixed

  • En kedjad kontextuell substitution (GSUB lookup type 6) som nås från ett annat kontextuellt uppslag tillämpas nu; den lästes med det vanliga kontextuella upplägget och matchade aldrig, så vissa ligaturer och kontextuella former saknades
  • En omvänd kedjad substitution (GSUB lookup type 8) som refereras från en kontextuell regel hoppas över som OpenType-specifikationen kräver, i stället för att feltolkas som en kontextuell undertabell

Version 2.770.19

Fixed

  • RenderLoadedPageToDC kastar inte längre en åtkomstöverträdelse när sidan innehåller en image XObject eller en infogad bild; bilderna ritas in i anroparens enhetskontext
  • GetLoadedPageMetafile misslyckas inte längre på sidor med bilder, och bilderna registreras i den returnerade metafilen
  • Bildklippning mot den synliga ytan använder nu den storlek som skickas till RenderLoadedPageToDC när enhetskontexten saknar klippregion

Version 2.770.18

Fixed

  • JBIG2-halftoneregioner med rutenhopp aktiverat tappar inte längre rutceller som börjar vänster om eller ovanför regionen men ändå överlappar den; sådana celler behandlades som liggande långt utanför, deras gråvärden hoppades över, och regionens återstående celler avkodades ur takt
  • Negativa rutkoordinater som inte är hela pixlar avrundas nu mot minus oändlighet som JBIG2-specifikationen kräver, så delvis synliga celler landar på rätt pixel
  • Halftoneregioner vars rutnät ligger helt på icke-negativa koordinater påverkas inte

Version 2.770.17

Fixed

  • OCSP-svar vars svarande identifieras med nyckelhash i standardformen enligt RFC 6960 (en explicit [2]-tagg runt nyckelhashen) accepteras igen; certifikatkedjevalidering kastade dem tidigare, så revokeringsstatusen förblev okänd för varje svarande som namnger sig med nyckel
  • Både direkta svarande (den utgivande CA:n) och delegerade OCSP-signeringscertifikat identifierade med nyckel matchas, och den äldre implicit taggade formen fortsätter fungera
  • HPDFDescribeValidationEvidence nycklar nu OCSP-beskrivningar efter DN:en för den certifikatutgivare som namnges i varje svar, löst ur svarets utgivarnamnhash, i stället för efter den svarandes DN; svar från delegerade svarande och svar identifierade med nyckel ger nu beskrivningar som en uppslagning per certifikatutgivare kan hitta
  • En HPDFDescribeValidationEvidence-överlagring har lagts till, som tar CMS-signaturen och extra utgivarcertifikat, för svar som identifierar den svarande med nyckel och inte bäddar in något certifikat

Version 2.770.16

Fixed

  • Viewer-demon: formuläret kastar inte längre en åtkomstöverträdelse vid start; statusraden finns nu innan visaren binds till dokumentet och börjar rapportera sidändringar
  • Viewer-demon: Enter i sökrutan aktiverar nu första träffen i stället för att hoppa direkt till den andra
  • Viewer-demon: bokmärken utan en upplösbar målsida listas utan det påhittade suffixet "(p0)", och ett klick på dem kastar inte längre ett intervallfel

Version 2.770.15

Fixed

  • Dekrypteringssteget i C++Builder Security-demon öppnar nu verkligen det krypterade exemplet med användarlösenordet "user"; lösenordsargumentet togs som flaggan för automatisk dekryptering, så exemplet lästes in utan sitt lösenord och Security-Decrypted.pdf var inte en dekrypterad kopia

Version 2.770.14

Fixed

  • En klippväg satt med W eller W* träder i kraft efter att vägen målats, som ISO 32000-1 kräver, i stället för före
  • Att stryka en väg som också sätter klippet (re W S) målar nu hela linjebredden; ytterhalvan av strecket skars bort av vägens eget klipp
  • Fyll-och-streck med ett udda-jämt-klipp (W* B) fyller nu med fyllnadsoperatorns egen fyllnadsregel; det udda-jämna klippet gjorde tidigare hål i fyllningen
  • B* och b* fyller nu alltid med den udda-jämna regeln, oberoende av fyllnadsregeln som lämnats kvar från en tidigare operation

Version 2.770.13

Fixed

  • JBIG2-halftoneregioner vars gråskaleplan är MMR-kodade avkodas nu; tidigare kom planen inverterade, bara var åttonde kolumn lästes, och slutet av varje plan lokaliserades vid fel byte, så följande plan avkodades från fel position
  • Slut-block-markören efter varje MMR-plan känns igen vare sig den följer sista raden direkt eller efter byteutfyllnad, och varje plan börjar nu på den bytegräns som följer
  • Aritmetiskt kodade halftoneregioner påverkas inte
  • Gäller PDF-bilder med JBIG2Decode-filtret som läses in, extraheras eller renderas med den inbyggda avkodaren

Version 2.770.12

Fixed

  • JSON som jobprocessorn (THPDFJobProcessor.Execute, HPDFDocRunJob, HPDFDocRunJobWithCallbacks) och dokumentjämförelsen producerar använder nu \" och \ för citationstecken och omvända snedstreck; de tidigare formerna \x22 / \x5C är inte giltig JSON och fick standardparsare att avvisa resultat som innehöll ett citationstecken eller en Windows-sökväg
  • Kontrolltecken skrivs som \uXXXX-escapes och utdata är alltid välbildad UTF-8: byte som inte är giltig UTF-8 ersätts med U+FFFD i stället för att kopieras in i resultatet
  • Felmeddelanden i jobbresultat och i jämförelsens felobjekt kodas som UTF-8, så undantagstexter och filnamn på andra språk än engelska kommer inte längre i ANSI-kodsidan

Version 2.770.11

Fixed

  • RedactLoadedRect, StampLoadedPageText, StampLoadedPageImage, StampLoadedPageShape, StitchLoadedPage och FlattenLoadedAnnotations kastar inte längre bort en sidas befintliga innehåll när dess /Contents är en array av strömmar; de nya operatorerna läggs till som en extra ström i slutet av arrayen, eller i början för ett underlägg
  • Underläggstämplar på en sida vars innehåll är delat över flera strömmar behåller varje originalström
  • Sidor vars enda innehållsström använder ett annat filter än ren FlateDecode (ASCIIHex, ASCII85, LZW, RunLength, filterkedjor eller Flate med en prediktor) avkodas nu innan nya operatorer läggs till, så stämpeln, svärtningsrutan eller det tillplattade utseendet målas faktiskt och det ursprungliga innehållet förblir läsbart
  • När en sidas innehållsström inte kan avkodas alls lämnas den orörd och de nya operatorerna skrivs till en separat ström i stället för att läggas till de kodade bytena

Version 2.770.10

Security

  • Rendering av en PDF vars inbäddade CFF-teckensnitt (FontFile3, Type1C eller CIDFontType0C) lagrar en INDEX-offset på 0x80000000 eller mer läser inte längre minne utanför teckensnittsdata; sådana offset behandlades som negativa och klarade gränskontrollerna
  • Inbäddade TrueType-teckensnitt får samma behandling för glyfpositioner och tabellängder på 0x80000000 eller mer: glyfen eller teckensnittet hoppas över i stället för att läsas från fel ställe
  • En CFF-glyf vars subrutiner anropar varandra många gånger om kan inte längre låsa renderingen eller text-till-sökväg-exporten; varje glyf har nu en fast budget av charstring-operationer, långt över vad riktiga teckensnitt använder

Version 2.770.9

Fixed

  • JBIG2-bilder vars textregioner använder Huffman-kodning tillsammans med symbolförfining i 13-pixelsmallen avkodas nu; förfiningens adaptiva pixelbyte i regionhuvudet hoppades över, så instansantalet och varje följande fält lästes från fel offset och bilden avvisades
  • Textregioner med aritmetisk kodning, eller med 10-pixel-förfiningssmallen, påverkas inte och avkodas exakt som tidigare
  • Gäller PDF-bilder med JBIG2Decode-filtret som läses in, extraheras eller renderas med den inbyggda avkodaren

Version 2.770.8

Security

  • Med codec-isolering aktiverad kontrolleras storleken på en avkodad bild som den isolerade codec-arbetaren returnerar nu mot den konfigurerade utdatagränsen och det delade minne som värdprocessen allokerat, i stället för ett kapacitetsfält som arbetaren själv kan skriva över
  • En komprometterad eller felaktig arbetare kan inte längre få värden att kopiera förbi slutet på det delade minnesblocket; ett sådant svar avvisas som ett protokollfel och bilden ritas inte från det
  • Arbetarens svar kopieras en gång och valideras utifrån den kopian, så dess huvud kan inte ändras mellan kontrollerna och pixelkopieringen

Version 2.770.7

Fixed

  • OCSP-begäranden byggda för live-revokeringskontroll (HPDFCollectCMSRevocationRequests och online-certifikatkedjevalideringen) kodar nu SHA-256-algoritmidentifieraren i CertID korrekt; tidigare skrevs de två första objektidentifierararcerna som separata byte, så hashalgoritmen var ogiltig
  • OCSP-svarande som avvisar felformaterade begäranden besvarar nu dessa begäranden med en normal status i stället för ett fel, så online-revokeringskontroller faller inte längre tillbaka på offline-bevis på grund av begärandenas kodning

Version 2.770.6

Fixed

  • Rendering av ett Type 3-teckensnitt målar nu varje förekomst av en glyf; tidigare målades en glyf som upprepades i samma textsekvens, eller var som helst annars på sidan med samma storlek och orientering, bara första gången och lämnades tom därefter
  • Berör RenderLoadedPageToBitmap, RenderLoadedPageToDC, sidmetafiler och bildexportvägarna, med eller utan den delade renderingscachen
  • Upprepade Type 3-glyfer fortsätter använda glyfcachen, så fixen läser inte om glyfproceduren för varje förekomst

Version 2.770.5

Fixed

  • Det stabila C ABI:t frigör inte längre indatakällan två gånger när hpdf_document_load_from_io misslyckas medan dokumentet tolkas, till exempel när läscallbacken rapporterar ett fel eller operationen avbryts halvvägs; en sådan inläsning kunde korrumpera heapen eller krascha värdprocessen
  • En misslyckad inläsning returnerar nu callbackens eller avbrytningens status i stället för ett internt fel, och samma dokumenthandtag kan läsas in igen därefter
  • Inläsning av ett nytt dokument i ett befintligt handtag frigör den tidigare indatakällan först när den nya inläsningen har tagit över

Version 2.770.4

Fixed

  • Streckkodsresultat från DecodeLoadedPageBarcodes på sidor med /Rotate 90 eller /Rotate 270 rapporterar nu gränser vid symbolens verkliga position i stället för en position speglad över sidan
  • Den rapporterade streckkodsorienteringen på de sidorna motsvarar nu den riktning symbolen faktiskt läses i sidrymden
  • Den osynliga text som ApplyLoadedOCRTextLayer placerar på kvartsvarvade sidor ligger nu över de igenkända orden, så markering och sökning lyfter fram rätt ställe
  • Ansiktsfynd från svärtningsdetektering på kvartsvarvade sidor mappas också tillbaka till rätt sidområde
  • Orotade och upp-och-ned-vända sidor påverkas inte

Version 2.770.3

Fixed

  • I 32-bitarsbyggen kraschar inläsning eller skrivning av en TIFF-bild komprimerad med PixarLog inte längre med stackspill; valet av codec bygger dess companding-tabeller, som stötte på en oändligt rekursiv exponenthjälpfunktion
  • SGILog (LogLuv) TIFF-bilder i 32-bitarsbyggen går genom samma korrigerade mathjälpfunktioner
  • Den 32-bitars avrundningshjälpfunktion som TIFF-codecerna använder avrundar nu negativa värden mot minus oändlighet och tar emot stora storlekar utan spillfel, i linje med 64-bitarsbyggena

Version 2.770.2

Changed

  • Vid rendering krymps en bild som ritas med hälften av sin pixelstorlek eller mindre till exakt den ritade storleken genom area-medelvärdesbildning direkt efter avkodningen, i stället för att behållas i full storlek och dras ut vid ritningen
  • Den krympta bilden ryms i cachen för avkodade bilder: en transparensgrupp som ritas två gånger, på svart och på vitt, för att återfå sin alfa avkodar nu en sådan bild en gång i stället för en gång per pass, och detsamma gäller att rendera samma sida igen
  • En bild med en mjukmask kombineras med sin mask pixel för pixel vid den ritade storleken, där masken också krymps; detta undviker att bygga och premultiplicera en fullstor kopia av en stor bild och dess mask, och maskkanten samplas inte längre med närmaste granne
  • På en exempelsida med en 4229 x 4629 maskerad bild ritad vid ungefär en fjärdedel av sin storlek inuti en sådan grupp tog renderingen cirka 1,8 sekunder i stället för 4,5
  • Stencil-bildmasker behåller sin fulla upplösning, och de publika regionsavkodningsmetoderna fortsätter returnera de storlekar de dokumenterar

Version 2.770.1

Fixed

  • I 64-bitarsbyggen misslyckades rendering av en sida med en transparensgrupp med ett listindexfel närhelst gruppen inte satte någon egen mjukmask, en regression av version 2.769.3; sådana sidor renderas nu igen

Version 2.770.0

Added

  • En ny egenskap RenderColorimetricLuminosityMasks väljer hur en luminansmjukmask omvandlar färg till maskvärden när dess grupp har ett CIE-baserat blandningsutrymme (CalGray, CalRGB, Lab eller ICCBased)
  • Att sätta den till true använder CIE Y som ISO 32000-1 11.5.3 beskriver; bitmappar renderade under de två inställningarna cachas separat

Changed

  • Som standard väger en luminansmask nu gruppens upplösta färg som DeviceRGB oavsett blandningsutrymme, som vanliga PDF-visare gör. CIE Y mäts på en linjär skala, så en medelgrå i en ICC- eller kalibrerad grupp maskerades bara till ungefär en femtedel, och kastskuggor och toningar blev mycket ljusare än i andra visare
  • En masks /BC-bakgrundsfärg följer samma inställning som färgen inuti maskgruppen
  • Masker vars grupp använder ett enhetsfärgutrymme renderas som tidigare

Version 2.769.3

Fixed

  • En transparensgrupp målad med ett blandningsläge annat än Normal, till exempel de Multiply-kastskuggor som designverktyg exporterar, blandar nu sin egen färg och alfa med bakgrunden (ISO 32000-1 11.3.6 och 11.4.8). Där gruppen var delvis transparent höll dess pixlar redan bakgrunden, som sedan blandades med sig själv: en Multiply-skugga blev för mörk och i bakgrundens kulör
  • Innehållet i en transparensgrupp börjar från Normal-blandningsläget, eftersom blandningsläget gäller gruppen som helhet (11.6.6). Det behöll det läge gruppen målades med, så en isolerad grupp multiplicerade sitt innehåll in i sin tomma början och målade svart
  • En mjukmask satt i samma grafiktillstånd som ett blandningsläge ritar sin maskgrupp med Normal-blandning (11.6.5.2); blandningsläget gjorde en vit maskgrupp svart och dolde det som masken borde ha visat
  • För att hitta alfan hos en grupp som inte är isolerad ritas gruppen två gånger, på svart och på vitt, när dess egna grafiktillstånd blandar normalt; sådana sidor renderar något långsammare

Version 2.769.2

Changed

  • En bild med en mjukmask avkodas vid den storlek den ritas, som en bild utan redan gjorde, och dess mask avkodas i den storleken också; en JPEG-mask går genom JPEG-avkodaren för reducerad storlek i stället för att avkodas i full storlek
  • Bilden och dess mask avkodas alltid som helhet, så masken kan inte skifta mot bilden, och klippning håller det ritade till den synliga delen
  • På en sida med en 4229 x 4629 skuggbild och en 2114 x 2314 JPEG-mask ritad cirka 1000 pixlar bred tog renderingen vid 72 dpi 1,6 i stället för 3,7 sekunder
  • DecodeLoadedImageRegionAtResolution returnerar en hel bild av ett format utan regionsavkodare som avkodad, utan att kopiera den en gång till

Version 2.769.1

Changed

  • Mjukmasker byggs snabbare: byggandet av en mask håller inte längre en andra kopia av hela sidan att jämföra mot, vilket sidor med många masker, som de gradienter och kastskuggor designverktyg exporterar, betalade en gång per mask
  • Luminansmasker över ett kalibrerat eller ICC-baserat blandningsutrymme slår upp sRGB-kurvan i stället för att beräkna den för varje kanal i varje pixel, och grått maskinnehåll, det vanliga fallet, konverteras genom en enda tabell
  • En 1125 x 1600-sida med cirka tjugo mjukmasker renderar ungefär en femtedel snabbare; de renderade pixlarna är oförändrade

Version 2.769.0

Changed

  • Att sätta en sidas Width eller Height döljer inte längre fel: ett misslyckande kastar nu ett undantag i stället för att tyst låta storleken ligga oanvänd, och att sätta storleken på en sida vars canvas redan stängts kastar det nya EHPDFPageClosedError med ett meddelande som säger varför
  • Efter ett sådant misslyckande stannar sidan inte längre i ett tillstånd där senare storleksändringar bara uppdaterar dess MediaBox och inte den sidstorlek som används vid ritning

Fixed

  • Att ändra storlek på en sida i en inläst PDF skriver inte längre över andra objekt: en MediaBox vars tal är separata objekt, eller en MediaBox-array delad av flera sidor, kopieras för sidan som storleksändras, så andra sidor behåller sin storlek
  • Storleksändring av en inläst sida vars MediaBox har färre än fyra tal skriver nu en komplett MediaBox med den nya storleken; den nya storleken ignorerades tidigare

Version 2.768.20

Fixed

  • Textextraktion går inte längre in i ett Form XObject som målar sig själv, direkt eller via andra former; en sådan form lästes igen på varje kapslingsnivå, upprepade sin text upp till tolv gånger, och en som målade sig själv två gånger tog 4 096 varv
  • Text från ett Form XObject som hamnar utanför formens begränsningsruta, som klipper den, är inte längre en del av sidtexten

Version 2.768.19

Changed

  • Stora dokument läses in snabbare igen: genomgång av sidträdet söker inte längre alla inlästa objekt för varje sida, och krypteringskontrollen i LoadFromFile med AutoDecrypt läser filen genom samma buffert som inläsningen. Den 56 MB stora PDF Reference 1.7 läses nu in på cirka 8 sekunder i stället för 22

Version 2.768.18

Fixed

  • Sidrendering hittar nu installerade teckensnitt som Windows rapporterar under ett lokaliserat namn, som Microsoft YaHei på kinesiskt Windows eller Yu Mincho på japanskt Windows; text i sådana teckensnitt ritades i ett ersättningsteckensnitt när PDF:en inte bäddade in dem
  • Teckensnittsnamn skrivna utan mellanslag matchar nu Windows-familjer som håller vissa ord ihopskrivna, som MicrosoftYaHei för Microsoft YaHei, MicrosoftJhengHei för Microsoft JhengHei och MSPGothic för MS PGothic; de söktes upp med ett mellanslag före varje versal och hittades aldrig
  • Renderaren minns vilka teckensnittsnamn som är installerade, så dokument med många teckensnitt som inte är installerade frågar inte längre Windows efter varje namn på varje sida

Version 2.768.17

Changed

  • Stora dokument läses in mycket snabbare: operationstelemetrin sampar minnet högst en gång per 10 ms inom en operation i stället för vid varje objekt parsern läser, ett sampel som gick igenom varje block i minneshanteraren. Den 1 236-sidiga PDF Reference 1.6 läses in på cirka 2,5 sekunder i stället för 30, och den 56 MB stora PDF Reference 1.7 på cirka 22 sekunder i stället för över fyra minuter
  • Nedgången växte med applikationens egen heapstorlek, så applikationer som håller mycket minne gynnas mest
  • UpdateOperationTelemetrySample får en valfri Force-parameter som tar ett sampel oavsett intervallet; slutet på varje operation tar fortfarande ett

Version 2.768.16

Fixed

  • Inläsning av en tom fil fastnar inte längre; LoadFromFile loopade tidigare i evighet och läste baklänges från filens början
  • En fil där ingen sida kan hittas, som en tom fil, vanlig text eller slumpvisa byte, läses inte längre in som en eller tre tomma sidor gissade från dess storlek; LoadFromFile returnerar nu 0 eller kastar ett undantag, som för andra oläsbara filer
  • En krypterad fil vars sidor ligger i krypterade objektströmmar kastar nu ett undantag som säger att lösenordet behövs när den läses in utan ett, i stället för att läsas in som en tom sida; läs in den med lösenordsöverlagringen

Version 2.768.15

Fixed

  • Sidtext upprepar inte längre tecken som målats igen över sig själva, som i övertryckta logotyper och i fetstil fejkat genom att rita texten två gånger med en liten förskjutning; sådan text extraherades två gånger, till exempel "Bold wordsBold words", och sökningar efter den kunde misslyckas
  • Text-, kolumn-, layout- och semantisk textextraktion läser alla ett sådant tecken en gång; glyflistan rapporterar fortfarande varje målad glyf

Version 2.768.14

Fixed

  • Glyfnamn från hela Adobe Glyph List löses nu i textextraktion och rendering, bland dem ligaturerna fi, fl, ff, ffi och ffl och de afii-namn äldre kyrilliska, hebreiska och arabiska teckensnitt använder; en teckensnittskodning som namngav sådana glyfer gav fel tecken, till exempel extraherades "defined" som "deÞned"

Version 2.768.13

Changed

  • LoadFromFile läser filer under LocalFileMappingThreshold (8 MB som standard), och alla filer när mapping är av eller otillgänglig, genom en 64 KB läsbuffert; filer med många objekt och en klassisk korsreferenstabell läses in mycket snabbare, till exempel den 912-sidiga PostScript Language Reference Manual på cirka 1 sekund i stället för nära 3 minuter

Version 2.768.12

Fixed

  • Textextraktionen placerar nu glyferna i CID-nycklade (Type 0) teckensnitt vars /W-breddarray inte är ordnad efter CID; de flesta glyfer fick standardbredden ett helt em, så rader löpte förbi sidkanten och deras slut saknades i den extraherade texten och sökningen

Version 2.768.11

Fixed

  • Accenterade bokstäver i inbäddade CFF-teckensnitt (Type 1C) som är uppbyggda av en grundbokstav och ett accenttecken, som i många teckensnitt konverterade från Type 1, renderas nu; bokstäver som ü och é lämnades tomma, så ord som "München" fick ett tomrum
  • Samma bokstäver är nu kompletta i SVG-export med inbäddade teckensnitt

Version 2.768.10

Fixed

  • Sammansatta glyfer i inbäddade TrueType-teckensnitt placerar nu varje del på sin egen offset: accenterade bokstäver som é och Å tappade sitt accenttecken, och typografiska dubbla citationstecken visades som ett enkelt citationstecken följt av ett tomrum
  • Samma glyfer är nu kompletta i SVG-export med inbäddade teckensnitt

Version 2.768.9

Fixed

  • Bilder märkta /Interpolate false medelvärdesbildas nu när de ritas mindre än sin egen upplösning; de samplades tidigare en pixel av flera, så diagram som lagts in som bilder fick tandade, mörka axeletiketter och avbrutna tunna linjer där andra visare visar dem jämna
  • Förstorade bilder med /Interpolate false behåller sina hårda pixelkanter som tidigare

Version 2.768.8

Fixed

  • Text som ritas med ett streck smalare än en pixel, som dokument använder för simulerad fetstil, renderas nu med den bredden; strecket var tidigare alltid en hel pixel brett, så sådana rubriker såg utsmetade ut och mycket tyngre än i andra visare
  • Små glyfer i inbäddade och installerade teckensnitt streckas med kantutjämning i textrenderingslägena 1 och 2, i streckfärgen, efter fyllnaden

Version 2.768.7

Fixed

  • Ett anrop av ProcessObjectStreamsForDecompression på ett inläst dokument kastar inte längre bort de objektströmmar som inläsningen hade läst: komprimerade objekt förblir tillgängliga för ExtractRawObjectFromStream och ExtractObjectFromStream efteråt, där ingen tidigare gick att läsa
  • När metoden söker igenom filen själv, som för ett dokument med en klassisk korsreferenstabell, hittar den nu en objektström som direkt följer på en annan ström och läser dess objektantal och offset ur dess egen ordlista
  • ExtractRawObjectFromStream avkodar en objektström igen när objektströmscachen har släppt den, i stället för att returnera ett tomt resultat

Version 2.768.6

Fixed

  • Stamp-demon bygger nu utan fel för Win64

Version 2.768.5

Fixed

  • På kinesiska, japanska och koreanska utgåvor av Windows läses dokument med korsreferensströmmar vars ordlistor innehåller binära strängar, som kontrollsummor för bifogade filer, nu in på en bråkdel av en sekund; en 4 MB-portfölj med nio bifogade PDF-filer tog två minuter att öppna
  • Parsern letar nu efter sina nyckelord i filens råa byte i stället för i text konverterad via Windows-kodsidan, så binära data bredvid ett nyckelord kan inte längre gömma det eller skifta dess position

Version 2.768.4

Fixed

  • Innehåll i ett Form XObject renderas nu med den opacitet, mjukmask och det blandningsläge det själv anger; tidigare målades allt i en form med full opacitet, så genomskinliga vattenstämplar och stämplar blev täckande
  • En form som målas med egen opacitet komponeras fortfarande ihop en gång som helhet, som tidigare

Version 2.768.3

Fixed

  • Sidtext omfattar nu text som sidan målar via Form XObjects, som sidhuvuden och sidfötter, vattenstämplar och stämplar; tidigare returnerades bara text i sidans eget innehåll
  • Formtext visas där formen målas, placeras via formens matris och läses i formens egna teckensnitt, och former kapslade inuti former följs också
  • Det gäller vanlig sidtext samt layout-, kolumn- och semantisk sidtext; extraktionen på glyfnivå returnerar fortfarande bara glyferna i sidans eget innehåll, vars positioner pekar in i det innehållet

Version 2.768.2

Fixed

  • EncryptFile och DecryptFile med AES-256 skadar inte längre inbäddade teckensnittsfiler vars ordlista listar /Length1 före /Length, som Ghostscript och andra verktyg skriver dem; sådana teckensnitt krypterades som en enda byte, vilket gjorde utdata oläslig
  • Strömmar vars längd lagras i en komprimerad objektström behåller alla sina data genom AES-256-kryptering och -dekryptering; tidigare kunde sista byten i en sådan ström gå förlorad

Version 2.768.1

Fixed

  • Dokument vars strömlängder lagras inuti komprimerade objektströmmar, som Ghostscript skriver dem, läses nu in helt; tidigare kastades varje sidinnehållsström i en sådan fil, så sidorna renderades tomma och gav ingen text
  • En ström vars längd pekar på ett objekt som inte finns, eller som inte har någon längd alls, läses nu in fram till sin slutmarkör i stället för att kastas

Version 2.768.0

Added

  • BuildLoadedPageSVG och SaveLoadedPageAsSVG tar en valfri parameter EmbedFonts; den är av som standard, och befintliga anrop exporterar exakt som tidigare
  • Med EmbedFonts satt till True ritas text i teckensnitt vars TrueType- eller CFF-program är inbäddat i PDF:en från teckensnittets egna glyfkonturer, så att SVG:en ser likadan ut på system där de teckensnitten inte är installerade
  • Varje glyfkontur skrivs en gång och återanvänds varhelst tecknet förekommer, vilket håller filstorleken nere på texttunga sidor
  • Texten ligger kvar i SVG:en som transparent text över konturerna, så att den fortfarande kan markeras, sökas och läsas av skärmläsare
  • Fylld, streckad och fylld-och-streckad text, linjebredder, roterad eller skalad text och text som används som klippbana blir som i den renderade sidan
  • Teckensnitt som inte är inbäddade, Type 1-teckensnittsprogram och vertikal CJK-text förblir vanlig SVG-text

Version 2.767.4

Fixed

  • Streckad och fylld-och-streckad text (textrenderingslägena 1 och 2) i teckensnitt som inte är inbäddade respekterar nu linjebredden vid rendering; tidigare blev varje kontur en pixel bred oavsett linjebredd
  • Sådana konturer ritas nu från det installerade teckensnittets exakta glyfformer på sina exakta positioner, som fylld text redan blev
  • Tecken som det installerade teckensnittet saknar och som Windows hämtar från ett reservteckensnitt behåller också linjebredden när de streckas

Version 2.767.3

Fixed

  • Text i teckensnitt som inte är inbäddade ritas nu med de tecken som dess kodning anger. Teckenkodarna gick oförändrade till det installerade teckensnittet, som läser dem i sin egen teckenuppsättning, så varje /Differences-post och koderna där StandardEncoding eller MacRomanEncoding skiljer sig från Windows-teckenuppsättningen ritade fel tecken, till exempel raka i stället för typografiska citationstecken i Type 1-teckensnitt utan kodning
  • På kinesiska, japanska och koreanska Windows-utgåvor ritades accenterade bokstäver, typografiska citationstecken, upphovsrättssymbolen och andra tecken över kod 127 i teckensnitt som inte är inbäddade som frågetecken sedan version 2.766.83; de läses återigen i det installerade teckensnittets teckenuppsättning
  • Symbolteckensnitt behåller sin egen kodmappning

Version 2.767.2

Fixed

  • Stora glyfer i inbäddade teckensnitt renderas nu också med kantutjämning. Glyfer större än 64 pixlar, som rubriker och titlar vid utskriftsupplösningar, fylldes utan den och visade tandade kanter; de kantutjämnas nu upp till 256 pixlar, medan större text i installerade teckensnitt behåller systemets kantutjämnade textutmatning

Version 2.767.1

Fixed

  • Layouttext, kolumntext och semantisk textextraktion mäter nu sidan i sidenheter. De jämförde positioner med teckenstorleken som ges till Tf och med advances i textrymd, som utgör en bråkdel av de verkliga avstånden i de många dokument som storleksätter text via textmatrisen, så layouttexten spred ut varje bokstav över flera kolumner, kolumntexten tappade alla ordmellanrum och den semantiska texten satte nästan varje ord på egen rad
  • Alla tre returnerar nu bara texten inom den synliga rutan och skiljer åt ord som ett dokument separerar genom att flytta textpositionen, liksom den vanliga sidtexten
  • Layouttexten håller ihop en ords bokstäver, där breda bokstäver som m eller W tidigare kunde pressa in ett mellanslag i ordet
  • Semantisk text sätter inte längre en tom rad efter varje rad på en encolumns sida: en följd av fullbreddsrader bildar en zon, och ett zonbyte skiljer rader åt bara när de ligger mer än ett radavstånd isär
  • Hjälpssidorna för de här metoderna beskriver vad de returnerar, och kolumnmetoden visar sin fullständiga syntax

Version 2.767.0

Added

  • LoadFromFile och LoadFromStream har överlagringar med en parameter AutoDecrypt. Med AutoDecrypt satt till True öppnas ett dokument som är krypterat med ett tomt användarlösenord — som dokument som bara begränsar utskrift, kopiering eller redigering är — dekrypterat i minnet på samma sätt som visare öppnar det, så att dess text kan extraheras och dess sidor renderas och exporteras utan att något lösenord anges
  • Dokument som kräver ett lösenord, och okrypterade dokument, läses in exakt som de vanliga överlagringarna läser in dem, och huruvida det tomma lösenordet öppnar dokumentet kontrolleras från några små intervall av filen innan den läses in
  • Som med lösenordsöverlagringarna är ett dokument som öppnats på det här sättet inte längre krypterat i minnet, och när det sparas skrivs en okrypterad kopia

Version 2.766.83

Changed

  • Liten text i teckensnitt som inte är inbäddade, som de 14 standardteckensnitten och installerade Office- och kinesiska teckensnitt, renderas nu från glyfkonturerna utan hinting på sin exakta position, med samma kantutjämning som inbäddade teckensnitt. Systemets textutmatning som användes tidigare placerade varje glyf på en hel pixel och anpassade dess form till pixelrutnätet, så liten text fick ojämna avstånd och såg fläckig ut; renderade sidor matchar nu andra visares former och avstånd mycket bättre
  • Glyfer som det installerade teckensnittet saknar och stora glyfer ritas fortfarande med systemets textutmatning, som kan hämta saknade tecken från länkade teckensnitt

Fixed

  • Små glyfer i inbäddade teckensnitt ritas snabbare, eftersom bitmapparna bakom deras kantutjämning återanvänds i stället för att skapas för varje glyf

Version 2.766.82

Fixed

  • Text ritad med installerade teckensnitt i renderade sidor använder nu gråskalekantutjämning. Den följde systemets ClearType-inställning, så svart text i renderade bitmappar fick röda och blå ränder som berodde på maskinen och följde med i sparade, utskrivna eller skalade bilder

Version 2.766.81

Fixed

  • Liten text i inbäddade CFF- och OpenType-CFF-teckensnitt renderas nu med kantutjämning, som TrueType-text redan blev. De här glyferna fylldes utan kantutjämning, så vid små storlekar och normala skärmupplösningar försvann stammar smalare än en pixel och brödtext fallade sönder i fragment; formulär och dokument satta i teckensnitt som Helvetica Neue är nu läsbara vid 72 DPI

Version 2.766.80

Changed

  • Sidtextextraktionen returnerar bara den text sidan visar. Glyfer som ligger utanför det synliga området, beskärningsrutan inom mediarutan, lämnas bort, så skärmärken, slug-rader och annat innehåll utanför en beskuren sida syns inte längre i den extraherade texten. Extraktionen på glyfnivå returnerar fortfarande varje glyf med sin position

Version 2.766.79

Fixed

  • Sidtextextraktionen bryter inte längre en rad vid ett upphöjt index eller en lätt förskjuten baslinje i text som storleksätts via textmatrisen. En ny rad påbörjades så fort texten rörde sig upp eller ned med hälften av den teckenstorlek som ges till Tf, som ofta är 1 i sådana dokument, så en förflyttning på en halv punkt räckte
  • Roterad text, som etiketter som löper upp längs en sidas kant eller snedställda vattenstämplar, placerar inte längre varje tecken på egen rad. Rader skiljs nu åt genom förflyttningen tvärs mot textens riktning, jämförd med hälften av texthöjden på sidan

Version 2.766.78

Fixed

  • När SVG-exporten faller tillbaka på en generisk teckensnittsfamilj för ett teckensnitt som inte är installerat anger den nu ett vanligt snitt av den sorten först: Times New Roman före serif, Arial före sans-serif och Courier New före monospace. En webbläsare väljer snittet för en ren generisk familj utifrån sina språkinställningar, och kinesiska eller japanska webbläsare valde CJK-teckensnitt vars breda latinska bokstäver överlappade på de positioner som tagits från PDF:en

Version 2.766.77

Fixed

  • SVG-exporten anger nu installerade kinesiska teckensnittsfamiljer för teckensnitt som är kända under sina äldre GB2312-namn, som KaiTi_GB2312 eller dess kinesiska stavning. Windows-program når de här teckensnitten via systemets teckensnittsersättningar, men webbläsare gör inte det, så sådan text visades i webbläsarens standardteckensnitt
  • Ett teckensnitt som bara har ett namn på ett språk får också den installerade familjens andra namn, till exempel SimHei tillsammans med sitt kinesiska namn, samt en generisk familj som matchar dess stil

Version 2.766.76

Added

  • THPDFGlyphRecord har fått GlyphEndX och GlyphEndY, slutpunkten i sidrymd för glyfens egen bredd längs baslinjen, utan tecken- och ordmellanrum

Fixed

  • Sidtextextraktionen skiljer nu åt ord som ett dokument separerar genom att flytta textpositionen i stället för att visa ett mellanslagstecken. Många producenter skriver [(PDF)-240(Reference)] eller placerar varje ord med sin egen positioneringsoperator, och sådana ord klibbade ihop som PDFReference
  • Ett mellanslag läggs till där luckan efter en glyfs egen bredd överstiger 0,15 av texthöjden, mätt i sidenheter så att text som storleksätts via textmatrisen behandlas som text som storleksätts via teckenstorleken
  • Kerning, lätt utvidgad avståndning, förtätad teckenavståndning som positionsjusteringar ger tillbaka, övertryckt text och riktiga mellanslagstecken lämnas som de är, och inget mellanslag läggs mellan två kinesiska, japanska eller koreanska tecken hur långt isär justeringen än sätter dem

Version 2.766.75

Fixed

  • Textextraktionen, SVG-exporten och renderingen känner nu igen Symbol-teckensnittets glyfnamn, som copyrightsans, registerserif, trademarksans och delarna av stora hakparenteser och klammerparenteser (parenlefttp, braceex, integralex, ...). Symbol-teckensnitt som levererats som delmängder kodar ofta om de här namnen, och tecknen kom fram som råa kontrollkoder
  • Alla ITC Zapf Dingbats glyfnamn (a1 till a206) känns också igen, så bockar, kryss, pilar och omringade siffror som ett teckensnitt väljer via de här namnen, som formulärfält och punktlistor ofta gör, extraheras som sina Unicode-tecken
  • Uppslag av ett glyfnamn för ett tecken föredrar fortfarande det vanliga namnet, som arrowright eller spade, framför ett ZapfDingbats-namn

Version 2.766.74

Fixed

  • HPDFExtractGlyphsViaDevice misslyckas inte längre med en ogiltig pekaroperation. Textextraheringsenheten den skapar är referensräknad, och funktionen frigjorde den också explicit, så varje anrop slutade med att frigöra enheten en andra gång

Version 2.766.73

Fixed

  • Textextraktionen återställer nu texttillståndet med Q som specifikationen kräver (ISO 32000-1 9.3.1). Tidigare återställdes bara transformationen, så ett teckensnitt, ett teckenavstånd eller ett radavstånd som satts inuti q ... Q gällde vidare för texten som följde
  • När teckensnittet som valts inuti q ... Q använde tvåbytekoder och teckensnittet utanför den använde enbytekoder avkodades texten efter Q som tvåbytekoder och gick förlorad. Word och liknande producenter skriver sidor på det sättet, och typiskt försvann punktlinjerna i innehållsförteckningar och latinska ord mellan kinesiska textavsnitt
  • Rättningen omfattar både sidtext-API:et och det enhetsbaserade textextraheringsgränssnittet

Version 2.766.72

Fixed

  • Text som ritas efter RestoreState får nu alltid sitt teckensnitt valt. Sidan hoppar över ett teckensnittsval som upprepar det senaste skrivna, men den tog inte hänsyn till att RestoreState (Q-operatorn) återför läsaren till det teckensnitt som gällde före SaveState. Text som visades efter RestoreState i det teckensnitt som valts inuti paret kom utan teckensnitt eller med fel teckensnitt, så visare kunde slänga den och textextraktionen kunde inte läsa den
  • Teckenavstånd, ordavstånd, horisontell skalning och radavstånd följer SaveState och RestoreState på samma sätt, så ett värde som sätts igen efter RestoreState skrivs ut i stället för att hoppas över medan läsaren redan har återvänt till det tidigare värdet
  • Ett val av ett Type 3-teckensnitt gör inte längre att nästa val av föregående teckensnitt hoppas över
  • XPS-dokument som konverterats till PDF påverkades, eftersom varje glyfsekvens ritas inuti sitt eget sparade grafiktillstånd

Version 2.766.71

Fixed

  • Textextraktionen och SVG-exporten läste koderna i ett enkelt teckensnitt (Type 1, TrueType eller Type 3) som två byte när dess /ToUnicode-CMap deklarerade en tvåbytekodrymd, som vissa producenter skriver för varje teckensnitt. Koderna i enkla teckensnitt är alltid en byte (ISO 32000-1 9.6.6), så varje teckenpar togs som en okänd kod och det mesta av texten försvann, med bara strängar av ett enda tecken kvar

Version 2.766.70

Fixed

  • SVG-exporten flyttade text med operanderna till Td, TD, T*, ' och " i sidenheter i stället för i textrymd (ISO 32000-1 9.4.2). Text vars storlek kommer från textmatrisen, med 1 Tf och en skalad Tm som ordbehandlare ofta skriver den, fick sina rader staplade ovanpå varandra nära den första baslinjen; den läggs nu ut som i PDF:en
  • Samma rättning gäller textextraktorn för innehållsenheter THPDFTextExtractDevice

Version 2.766.69

Fixed

  • Sidrenderaren skickade teckensnittsnamn med #xx-escapes till Windows med escapen kvar, så icke-inbäddade teckensnitt med sådana namn, vanligt för CJK-teckensnitt som KaiTi_GB2312 skrivet med kinesiska tecken, matchade inget installerat teckensnitt och ritades med ett ersättningsteckensnitt. Escapen avkodas nu; UTF-8-namn behåller sina tecken och andra byte läses i systemets kodsida

Version 2.766.68

Fixed

  • SVG-exporten skrev teckensnittsnamn med #xx-escapes som själva escapen, så CJK-teckensnittsnamn lagrade som UTF-8-byte (som KaiTi_GB2312-namnet med kinesiska tecken) nådde font-family som #e6#a5#b7... och matchade aldrig ett installerat teckensnitt. Escapen avkodas nu; ett namn som är giltig UTF-8 behålls, och byte med andra kodningar kastas som tidigare

Version 2.766.67

Fixed

  • SVG-exporten återställde inte texttillståndet vid Q: teckensnitt, storlek, avstånd, skalning, radavstånd, höjning och renderingsläge satta inuti q ... Q gällde vidare för texten efteråt. Sidor som fetar en rubrik med 2 Tr inuti ett sparat tillstånd ritade all följande brödtext streckad och tung. Texttillståndet sparas och återställs nu tillsammans med resten av grafiktillståndet (ISO 32000-1 9.3.1)

Version 2.766.66

Fixed

  • SVG-exporten streckade text i streckrenderingslägena (1, 2, 5 och 6) utan streckbredd, så SVG:s standard om en textrymdsenhet gällde; text som PDF-producenter fetar med ett tunt streck, som 2 Tr 0.25 w, blev mycket tyngre. Linjebredden konverteras nu från användarrymd till textelementets rymd, en bredd på noll ger en linje på en pixel, och linjefogen bevaras

Version 2.766.65

Fixed

  • Dokument vars trailer anger /Encrypt som en direkt ordlista i stället för en referens, som vissa PDF-skrivare producerar, lästes in som okrypterade: även med rätt lösenord renderades deras sidor tomma och textextraktionen och SVG-exporten returnerade ingenting, och SaveLoadedDocument skrev en skadad fil som tappade /Encrypt men behöll de krypterade strömmarna. De öppnas, dekrypteras och sparas nu som dokument med en indirekt krypteringsordlista
  • Korsreferensinläsaren klippte en trailer vid första >>, så poster efter en kapslad ordlista i trailern förlorades; den läser nu trailern fram till dess matchande avslutande avgränsare

Version 2.766.64

Fixed

  • Renderingen, SVG-exporten, visaren och utskriften visade en inläst sidas hela /MediaBox. En sida visas och skrivs ut via sin /CropBox, klippt mot /MediaBox (ISO 32000-1 14.11.2), så sidor med en beskärningsruta blev för stora, förskjutna och fick med innehåll som skulle vara dolt
  • RenderLoadedPageToBitmap, tile-, band-, metafil- och enhetskontextrenderarna, BuildLoadedPageSVG, visarens sidgeometri, markeringar och regionögonblicksbilder samt utskriften omfattar nu den synliga rutan; sidor utan /CropBox är oförändrade

Added

  • THotPDF.GetLoadedPageVisibleBox returnerar en inläst sidas synliga ruta, dess /CropBox klippt mot dess /MediaBox
  • THPDFPageDisplayList.CropBox ger samma ruta för en kompilerad visningslista

Version 2.766.63

Fixed

  • Den inbyggda glyflistan söktes bara till ett antal 13 poster kortare än tabellen, så glyfnamnen som sorteras sist (y, z, zero, zeta, yen, ydieresis, zcaron med flera) hittades aldrig. Textextraktionen ignorerade ett teckensnatts /Differences-poster som namngav dem, och sidrenderaren ritade y, z och 0 i inbäddade CFF-teckensnitt med WinAnsiEncoding eller MacRomanEncoding med ett ersättande systemteckensnitt
  • Uppslag av glyfnamnet för ett accenttecken som U+0060 returnerade kapitälnamnet från MacExpertEncoding (Gravesmall) i stället för grave, så de accenttecknen missades också i inbäddade CFF-teckensnitt

Version 2.766.62

Fixed

  • Sidrenderaren använde linjebredden och strecklängderna som enhetspixlar i stället för användarrymdsenheter (ISO 32000-1 8.4.3.2 och 8.4.3.6); linjer behöll samma pixelbredd vid varje upplösning och ignorerade eventuell skalning i cm. Bildspelsbilder exporterade via macOS Quartz, som streckar former med en bredd i EMU under en 1/12700-skalning, täcktes helt av streckfärgen
  • Streckbredden och strecken följer nu skalningen hos den CTM som gäller när banan streckas, också för text ritad i ett streckande renderingsläge

Version 2.766.61

Fixed

  • SVG-exporten hoppade över Type 1-funktionsbaserade skuggningar (ISO 32000-1 8.7.4.5.2), vare sig de målades med sh eller användes i ett skuggningsmönster; den samplar nu skuggningens funktion över dess /Domain till en inbäddad PNG-bild som placeras via skuggningens /Matrix, klippt mot dess /BBox, med mönstrets bakgrundsfärg under

Version 2.766.60

Fixed

  • Sidrenderaren målade /Background-färgen hos en mesh-skuggning som visades med operatorn sh, vilket PDF ignorerar (ISO 32000-1 8.7.4.5.1), så hela klippområdet runt meshen tog den färgen
  • Bakgrundsfärgen hos funktionsbaserade, axiella och radiära skuggningsmönster målades inte av sidrenderaren; den fyller nu mönstrets område före skuggningen, så att den syns där skuggningen inte når
  • SVG-exporten målar nu bakgrundsfärgen hos skuggningsmönster på samma sätt och ignorerar den, liksom renderaren, för sh

Version 2.766.59

Fixed

  • Sidrenderaren ignorerade /BBox hos funktionsbaserade, axiella och radiära skuggningar (ISO 32000-1 8.7.4.5.1); en utsträckt skuggning som målades med sh eller användes i ett skuggningsmönster täckte hela klippområdet i stället för att stanna vid sin ruta. Mesh-skuggningar följde den redan

Version 2.766.58

Fixed

  • SVG-exporten skrev text i Type 3-teckensnitt som SVG-text i ett installerat teckensnitt, så sidor som ritar sin text eller sina symboler med glyfprocedurer visade fel former; den ritar nu varje glyfs procedur, placerad via teckensnittets /FontMatrix, teckenstorleken och textmatrisen (ISO 32000-1 9.6.5)
  • Type 3-glyfer som börjar med d1 målas i den aktuella fyllningsfärgen, och glyfer som sätter egna färger behåller dem

Version 2.766.57

Fixed

  • Textextraktionen och SVG-exporten tog /Widths hos ett Type 3-teckensnitt som tusendelar av en em, fast de ligger i glyfrymden och skalas med teckensnittets /FontMatrix (ISO 32000-1 9.6.5); glyferna hos ett teckensnitt med en [0.01 0 0 0.01 0 0]-matris placerades en tiondel av sitt advance isär, vilket också sammanslog ord i extraherad text

Version 2.766.56

Fixed

  • Rendering av en inläst sida läste varje Type 0-teckensnitt som om det använde Identity-H, två byte per kod och varje kod sitt eget CID. Teckensnitt kodade med de fördefinierade UCS2- och UTF16-CMap:erna i de kinesiska, japanska och koreanska samlingarna, som UniGB-UCS2-H, eller med en inbäddad CMap mappar nu sina koder till CID:er, så /W-bredder och inbäddade glyfer slås upp på rätt CID:er; tidigare låg till exempel gemena latinska bokstäver i en STSong-Light-text ett helt em isär
  • Koder läses enligt CMap:ens kodrymsintervall, så enbyte- och fyrabytekoder (surrogatpar) läses hela, och namn som slutar med -V väljer vertikal skrift

Version 2.766.55

Fixed

  • Rendering av en inläst sida ritade teckensnitt som inte är inbäddade och bär en stil- eller PostScript-del i sitt namn, som TimesNewRoman,Bold, TimesNewRomanPS-BoldMT, Arial,BoldItalic eller SegoeUI-Semibold, med ett ersättningssnitt; familjedelen av namnet slås nu upp bland de installerade teckensnitten, också med mellanslag mellan sina ord (Times New Roman, Segoe UI), och stilen kommer från namnet och teckensnittsbeskrivningen

Version 2.766.54

Fixed

  • Standardteckensnitt utan /Widths-array, som ISO 32000-1 9.6.2.2 tillåter för de 14 standardteckensnitten, lades ut med ett fast advance på en halv em vid rendering av en inläst sida, export av den till SVG eller extraktion av dess text, så bokstäver trängdes ihop; familjerna Helvetica, Times och Courier, också under namnen Arial, TimesNewRoman och CourierNew, tar nu sina bredder från de installerade Arial, Times New Roman och Courier New, som delar deras metrik
  • Ett standardteckensnitt av typen Type 1 utan /Encoding avkodas nu via sin underförstådda StandardEncoding, så att till exempel kod 39 läses som ett höger enkelt citationstecken

Version 2.766.53

Fixed

  • Rendering av en inläst sida ignorerade ett teckensnatts /Widths-array när den var ett indirekt objekt, som många producenter skriver den, och lade ut texten med ett fast advance på en halv em; sådan text läggs nu ut efter sina bredder
  • Teckensnittsbeskrivningar givna som indirekta objekt läses nu vid rendering, så att ForceBold- och Italic-flaggorna och kursivvinkeln hos icke-inbäddade teckensnitt får verkan
  • SmallCap-flaggan gör inte längre text fet: fetstil följer nu ForceBold-flaggan (ISO 32000-1 Table 123)

Version 2.766.52

Fixed

  • Rendering av en inläst sida klipper nu till text som visas i renderingslägena 4 till 7 (ISO 32000-1 9.3.6): glyferna blir en del av klippbanan vid textobjektets slut, tills grafiktillståndet återställs. Tidigare ignorerades text i läge 7 och en skuggning eller bild avsedd att synas genom bokstäverna täckte hela området, och lägena 4 till 6 målade texten utan klippning
  • Klipptext hämtas från samma glyfkonturer som målad text, inbäddade teckensnitt och Type 3-glyfer inkluderade

Version 2.766.51

Fixed

  • SVG-exporten klipper nu till text som visas i renderingslägena 4 till 7 (ISO 32000-1 9.3.6): glyferna blir en SVG-klippbana från textobjektets slut till grafiktillståndets slut, så en skuggning eller bild som ritas genom text syns bara inuti bokstäverna
  • Text i renderingsläge 7 försvinner inte längre utan att något klipps, och lägena 4 till 6 fyller eller streckar fortfarande texten som lägena 0 till 2 gör

Version 2.766.50

Fixed

  • Axiella, radiära och funktionsbaserade skuggningar vars /Function är en array av funktioner med en utdata, en per färgkomponent (ISO 32000-1 8.7.4.5.1), ritades inte vid rendering av en inläst sida; de ritas nu, med arrayens funktioner givna direkt eller som indirekta objekt
  • SVG-exporten skriver sådana axiella och radiära skuggningar som gradienter, också när de fyller en bana via ett skuggningsmönster

Version 2.766.49

Fixed

  • SVG-exporten skrev fet och kursiv text i det reguljära snittet: text får nu font-weight="bold" och font-style="italic" från stildelen av teckensnittsnamnet, som Arial-BoldMT, Helvetica-Oblique eller MinionPro-It, och från teckensnittsbeskrivningens vikt, flaggor och kursivvinkel
  • Teckensnitt utanför de 14 standardfamiljerna skrevs med sin stildel i familjenamnet (SegoeUI-Semibold), som inte matchar något installerat teckensnitt; familjen namnges nu för sig själv och med mellanslag mellan sina ord (SegoeUI, Segoe UI), följt av en generisk familj från beskrivningens flaggor eller namnet

Version 2.766.48

Fixed

  • SVG-exporten ritade innehållet i form-XObjects i svart i stället för de fyllnads- och streckfärger som gällde där formen målas (ISO 32000-1 8.10.1); en Q inuti formen återställer nu de färgerna också
  • Innehållsenheter kan starta kapslat innehåll från anroparens färger via det nya gränssnittet IHPDFContentInheritedColorDevice

Version 2.766.47

Added

  • SVG-exporten fyller nu banor som använder ett kakelmönster med en SVG-<pattern> som upprepar mönstercellen med sitt XStep- och YStep-avstånd, klippt mot cellens /BBox; tidigare fylldes sådana banor svarta eller behöll föregående färg
  • Ofärgade kakelmönster (PaintType 2) målar cellen i den färg som ges med mönstret, till exempel komponenterna i /CS0 cs 0 0 1 /P1 scn
  • Banor fyllda med ett skuggningsmönster får mönstrets axiella, radiära eller mesh-skuggning, klippt mot banan
  • Mönstermatrisen tillämpas i sidans rymd eller den form som använder mönstrets rymd (ISO 32000-1 8.7.2), så att mönster inte skalas eller flyttas med den aktuella transformationsmatrisen, och Q återför ett mönster som sparats med q
  • Innehållsenheter kan ta emot mönsterval via det nya gränssnittet IHPDFContentPatternDevice

Version 2.766.46

Added

  • Bilder med en /Mask-array med färgnycklar (ISO 32000-1 8.9.6.4) maskeras nu när en inläst sida renderas: pixlar vars komponenter alla ligger inom nyckelintervallen lämnas omålade, så att sidan syns igenom
  • SVG-exporten tillämpar samma färgnyckelsmasker och skriver sådana bilder som PNG-bilder med alfakanal
  • Nyckeln jämförs med samplingarna som de är lagrade, så en Indexed-bild maskeras efter palettindex även när två poster delar en färg, och bilder med 1, 2 och 4 bitar per komponent omfattas
  • Den nya metoden DecodeLoadedImageColorKeyMask returnerar en inläst bilds mask som en svartvit bitmapp; den omfattar Flate-, LZW- och ofiltrerade bilder, eftersom förlustaktiva kodekar inte bevarar exakta samplingvärden

Version 2.766.45

Changed

  • CompressDocument och CompressLoadedDocument låter varje objektström rymma upp till 250 objekt i stället för 100; färre och större behållare komprimerar bättre och behöver färre ordlistor
  • Inlästa PDF:er som redan skrivits kompakt med objektströmmar kommer nu ut ungefär i originalets storlek, de flesta något mindre, i stället för något större
  • En gräns som satts via ConfigureAdaptiveObjectStreamPacking behålls, CompressDocument återställer gränsen vid EndDoc, och vanliga spar med objektströmmar behåller 100 objekt per behållare

Version 2.766.44

Changed

  • Korsreferensströmmen i filer som skrivs med objektströmmar använder den minsta fältbredd varje kolumn behöver, så att offsets i filer under 16 MB tar 3 byte i stället för 4 (ISO 32000-1 7.5.8.2), och dess ordlista skrivs kompakt
  • Filer som skrivs med en korsreferensström men utan objektströmmar är oförändrade

Version 2.766.43

Changed

  • Okrypterade filer som skrivs med objektströmmar packar nu även dokumentkatalogen och dokumentinformationens ordlista i objektströmmarna, där de komprimeras; ISO 32000-1 7.5.7 undantar bara krypteringsordlistan
  • Krypterade filer behåller båda ordlistorna på toppnivå, som tidigare

Version 2.766.42

Changed

  • Filer som skrivs med objektströmmar, även de från CompressDocument och CompressLoadedDocument, skriver ordlistor och arrayer kompakt, utan de mellanslag och radbrytningar som PDF-syntaxen inte behöver (ISO 32000-1 7.2.2); strömordlistor, som inte kan hamna i objektströmmar och förblir okomprimerade, drar störst nytta
  • Signaturordlistor och krypteringsordlistan behåller sitt luftade skrivsätt, så att signering av ett dokument som skrivits med objektströmmar fungerar som tidigare
  • Filer som skrivs utan objektströmmar är oförändrade byte för byte

Version 2.766.41

Fixed

  • PDF-filer som skrivs med objektströmmar börjar inte längre med %PDF--huvudet och den binära kommentarsraden två gånger; det drabbade varje sparning med UseObjectStreams, CompressDocument eller CompressLoadedDocument
  • Visare tolererade det dubbla huvudet, men strikta validerare kunde reagera på det, och det kostade 15 byte per fil

Version 2.766.40

Fixed

  • Inlästa PDF:er med ett naket tal i en objektström, som många producenter lagrar strömlängder med, kan nu redigeras och sparas; varje ändring stoppade tidigare sparandet med "Cannot rewrite compressed object N: the source member could not be loaded"
  • Ett sådant tal läses nu som ett tal; tidigare letade parsern efter en indirekt referens förbi medlemmens slut och gav upp, så att medlemmen inte gick att läsa in alls
  • Att spara en sådan fil utan ändringar påverkades inte, eftersom en oförändrad fil kopieras som den är

Version 2.766.39

Fixed

  • Stämpelannoteringar i PDF/A-2 och senare samt i PDF/X-6-dokument visade bara sin ram, utan stämpelnamnet som APPROVED eller CONFIDENTIAL
  • Namnet ritas nu med sidans aktuella teckensnitt, som bäddas in tillsammans med sidtexten, i versaler och i annoteringens färg, centrerat i rektangeln
  • Långa namn som NOTFORPUBLICRELEASE sätts mindre så att de ryms inom rektangelns bredd
  • Dokumenten klarar fortfarande PDF/A-validering; stämplar i andra dokument skrivs som tidigare

Version 2.766.38

Added

  • Ny överlagring av CompressLoadedDocument med alternativ som gör en inläst PDF så liten som möjligt utan att ändra hur den ser ut: den tar bort oanvända sidresurser, slår ihop identiska teckensnitt och formulär, bildar delmängder av de inbäddade teckensnitten, komprimerar om strömmar med Flate och skriver nästa sparning med objektströmmar
  • Varje steg är förlustfritt och bilder samplas inte om eller komprimeras om; ett tresidigt dokument som bäddar in fullständiga Arial- och SimSun-teckensnitt går från cirka 10 MB till cirka 20 KB, och tre andra exempel-PDF:er krympte med 15-50 %
  • Dokument med signaturfält avvisas som standard och lämnas oförändrade, eftersom varje steg skriver om signerade byte; AllowSignatureInvalidation komprimerar dem ändå
  • SubsetLoadedFonts får ett alternativ CompactTrueTypeSubsets, av som standard, som bygger kompakta delmängder av TrueType-teckensnitt som används via CIDFontType2-teckensnitt med identitets-CID-mappning; färgteckensnitt och teckensnitt med en /CIDSet behåller den normala delmängden
  • Den parameterlösa CompressLoadedDocument behåller sitt beteende att bara komprimera om ofiltrerade strömmar

Version 2.766.37

Added

  • Ny egenskap CompressDocument, av som standard: en enda växel som skriver nästa dokument så litet som möjligt utan att ändra hur det ser ut
  • För det dokumentet slår den på Flate-komprimering på högsta nivå, en korsreferensström med objektströmmar (ISO 32000-1 7.5.7 och 7.5.8), delmängdsbildning av teckensnitt och kompakta teckensnittsdelmängder; ett tresidigt dokument med blandad engelsk och kinesisk text går från cirka 10 MB till cirka 20 KB
  • Objektströmmar kräver PDF 1.5, så en äldre Version höjs till 1.5 om inte versionen är låst; PDF/A-1-utdata behåller sin klassiska korsreferenstabell
  • Dina egna inställningar lämnas orörda: efter EndDoc läser Compression, CompressionLevel, UseXRefStream, UseObjectStreams, alternativen för teckensnittsdelmängder och versionen tillbaka som du ställde in dem
  • Bilder samplas inte om eller komprimeras om

Version 2.766.36

Added

  • Ny egenskap CompactFontSubsetting, av som standard: teckensnittsdelmängder numrerar om de glyfer de behåller, så att det inbäddade teckensnittet inte längre bär en post för varje glyf i källteckensnittet; en explicit /CIDToGIDMap-ström mappar sidans glyfkoder till de omnumrerade glyferna (ISO 32000-1 9.7.4.2)
  • CJK-teckensnitt krymper mest: två kinesiska tecken i SimSun tar cirka 3 KB teckensnittsdata i stället för cirka 25 KB, och ett Microsoft YaHei-dokument går från 114 KB till 6 KB
  • Gäller TrueType-teckensnitt som skrivs som Type 0-teckensnitt när EnableFontSubsetting är på, samt teckensnittet som registrerats med RegisterUnicodeTTF, som hittills bara fick kompakta delmängder under PDF/A
  • Sidinnehåll, glyfbredder och textextraktion är oförändrade; OpenType-CFF-teckensnitt behåller den normala delmängden, och ett teckensnitt som inte kan göras kompakt faller tillbaka på den

Version 2.766.35

Fixed

  • Text som ritas med ett explicit advance för varje tecken förskjuts inte längre efter ett tecken utanför Basic Multilingual Plane, som en musiksymbol eller en emoji, när det registrerade Unicode-teckensnittet täcker den. Varje efterföljande tecken tog tidigare sin grannes advance; tecknet avancerar nu med summan av sina två poster
  • Marginaljusterade Unicode-textrutor som innehåller sådana tecken ligger nu upp mot rutkanten, och understrykningen eller genomstrykningen av den texten är lika lång som texten

Version 2.766.34

Added

  • SVG-exporten ritar nu bildmasker (/ImageMask), inline inkluderade, som schabloner i den aktuella fyllningsfärgen: de delar som inte målas blir genomskinliga i stället för att ritas som en svartvit bild
  • Bilder med en /SMask-mjukmask eller en explicit /Mask-schablon exporteras som PNG-bilder med alfakanal, så att deras utmaskerade delar inte längre täcker det som ligger bakom
  • /Decode [1 0] på en mask eller bildmask respekteras, och en mask som är finare än sin bild behåller sin detaljrikedom

Version 2.766.33

Fixed

  • Sidrenderingen respekterar nu en bilds explicita /Mask-schablon: de delar som masken täcker lämnas omålade i stället för att hela bilden ritas, även när bilden är vriden eller spegelvänd
  • En /Decode [1 0]-array på masken vänder vilka delar som behålls
  • Mjukmasker och masker som är finare än sin bild appliceras med maskens upplösning, så att en detaljerad 1-bitsmask på ett lågupplöst foto behåller sina kanter

Version 2.766.32

Fixed

  • Sidrenderingen ritar nu bilder genom hela transformationsmatrisen: bilder vridna en kvarts varv eller vilken annan vinkel som helst, spegelvända bilder och alla bilder på en sida med /Rotate ritas inte längre upprätt och ospegelvända i sin bounding box
  • Bildmasker (/ImageMask true) målas nu som schabloner i den aktuella fyllningsfärgen, med kantutjämning när de förminskas, i stället för att ritas som en grå bild
  • Bildmasker med /Decode [1 0] målar nu de sampel som har värdet 1, som PDF anger
  • Inline-bildmasker (BI /IM true) ritas igen, och deras /D-array respekteras
  • Bilder med mjukmask behåller sin mask när de vrids eller spegelvänds

Version 2.766.31

Added

  • SVG-exporten konverterar nu färger satta med k/K (DeviceCMYK) och med cs/sc/scn i valfri namngiven färgrymd: ICCBased-, kalibrerade, Lab-, Indexed-, Separation- och DeviceN-färger kommer ut som sidrenderaren visar dem i stället för svarta
  • Val av färgrymd med cs/CS sätter nu dess begynnelsfärg, till exempel full ton för en spotfärg, och återställning av grafiktillståndet med Q ger tillbaka en färg som satts så här
  • Färgrymder som refererar till ICC-profiler, uppslagstabeller eller tonfunktioner via referens löses genom det exporterade dokumentet under SVG-exporten
  • Uppräkningen av banor rapporterar nu CMYK-fyllnads- och streckfärger i stället för att behålla föregående färg

Version 2.766.30

Fixed

  • THPDFEmfPatcher.RenderEmfDirect ritar en enhanced metafiles bitmappar i samma storlek och position vid valfri Resolution. Med en annan Resolution än 72 kom de ut skalade med 72 / Resolution

Version 2.766.29

Added

  • SVG-exporten tillämpar nu klippbanorna W och W*: var och en blir en SVG-clip path som täcker det som ritas efter den tills grafiktillståndet återställs, så att bilder, skuggningar och banor som en PDF beskär inte längre ritas i sin helhet
  • Form XObjects beskärs till sin /BBox i SVG-exporten, liksom axiella och radiära skuggningar till sin /BBox
  • Even-odd-klippning (W*) behåller sin fyllnadsregel, och en bana som målas tillsammans med W ritas innan det nya klippet börjar gälla, som PDF anger

Version 2.766.28

Fixed

  • Diagram som ritas med DrawChart behåller sin layout vid valfri Resolution. Deras marginaler, rubriker, axeletiketter och linjebredder är punktvärden och krympte med Resolutionen
  • Standardteckensnittet för en ny sida, och för en sida som görs aktuell igen, är 12 punkter vid valfri Resolution i stället för 12 ritningsenheter
  • Layoutdiagnostikens överlager behåller sin linjebredd och etikettstorlek vid valfri Resolution

Version 2.766.27

Fixed

  • DrawInlineImage och DrawFormXObject storleksbestämmer bilden eller formuläret i ritningsenheter, liksom dess position. Med en annan Resolution än 72 tolkades bredden och höjden som punkter, så att objektet kom ut för stort

Version 2.766.26

Fixed

  • En sida som blir aktuell igen via CurrentPageNumber fortsätter att rita i de enheter den lades ut i. Med en annan Resolution än 72 gick den över till punkter, så att allt som ritades på den efteråt kom ut i fel storlek och position
  • Sidan behåller också sin egen sid-Resolution när den besöks igen

Version 2.766.25

Fixed

  • Bilder placerade med ShowImage behåller sin storlek på en sida med storlek satt via Width och Height när dokumentets Resolution inte är 72. Vid Resolution 144 kom de ut med halva storleken och förskjutna
  • ExtTextOut placerar varje tecken vid de givna advances på en sådan sida i stället för vid hälften av dem
  • Inbäddade glyfsekvenser behåller sina glyfoffset och advances på en sådan sida

Version 2.766.24

Added

  • SVG-exporten respekterar nu posten /Extend hos axiella och radiära skuggningar: en ände som inte är utsträckt, vilket är standard, lämnas omålad som i PDF i stället för att sprida sin ändfärg över hela klippet
  • För radiära skuggningar lämnar det också insidan av startcirkeln tom om inte starten är utsträckt

Version 2.766.23

Fixed

  • Utplattning av sidrotation vrider nu annoteringarnas appearance-strömmar med sidan, så att inbakade eller utplattade annoteringar ser likadana ut som på den vridna sidan i stället för att kläms ihop sidleds i sin vridna rektangel
  • Widgetrotation (/MK /R) justeras med sidvridningen, så att formulärfältens utseenden som återskapas efter utplattningen behåller sin orientering
  • Annoteringar med NoRotate-flaggan står upprätt och behåller sin storlek efter utplattningen, fästa i sitt övre vänstra hörn som visare visar dem på en vriden sida

Version 2.766.22

Fixed

  • Utplattning av sidrotation på en taggad PDF vrider inte längre en annoteringsrektangel två gånger när strukturträdet nås före sidträdet
  • Utplattning av sidrotation roterar inte längre bounding boxen för Form XObjects som används på sidan; deras geometri lever i formulärrymden och sidvridningen tillämpas redan på dem via innehållstransformeringen
  • Layoutens bounding boxar för strukturelement som hör till en annan sida ändras inte längre när en sida plattas ut

Version 2.766.21

Fixed

  • Inläsning av en inläst sidas bleed-, trim- eller art-ruta plockar inte längre upp en /BleedBox, /TrimBox eller /ArtBox som ligger på en föräldranod /Pages; de rutorna ärvs inte i PDF, så en sida utan egen post rapporterar nu sin crop box som specifikationen kräver
  • Utplattning av sidrotation kopierar inte längre en sådan bleed-, trim- eller art-ruta på föräldernivå till sidan

Version 2.766.20

Fixed

  • Text som ritas på sidans Canvas eller i en metafil placerad med ShowMetafile behåller sin storlek när dokumentets Resolution inte är 72. Vid Resolution 144 kom den ut med halva storleken medan resten av ritningen var korrekt
  • Sidans Canvas och ShowMetafile ritar med rätt storlek på en sida med storlek satt via Width och Height, som ritar i punkter. Vid Resolution 144 kom ritningen ut dubbelt så stor
  • Sidans Canvas och ShowMetafile respekterar också en sid-Resolution som ställts in på sidan själv, i stället för att krympa ritningen med den

Version 2.766.19

Fixed

  • Marginaljusterade Unicode-textrutor slutar nu vid rutkanten när teckenmellanrum är satt. Varje tecken fick mellanrummet ovanpå sin justerade position, så att varje rad gick förbi högerkanten med mellanrummet gånger antalet tecken
  • Marginaljusterade Unicode-textrutor med horisontell skalning fyller hela rutans bredd igen i stället för att stanna en skalningsfaktor före
  • Ordmellanrum räknas nu med i den naturliga bredden hos en justerad rad, samma bredd som raden bröts vid
  • Text som ritas med explicita advances per tecken landar på de positionerna oavsett vilket teckenmellanrum eller vilken horisontell skalning som gäller

Version 2.766.18

Fixed

  • Utplattning av sidrotation vrider nu sidor med /Rotate 90 och /Rotate 270 medurs, så att den utplattade sidan ser exakt ut som originalet vridet i stället för att hamna upp och ned relativt det
  • Annoteringar, länkmål och strukturgeometri flyttas med sidan på samma sätt
  • Utplattning av en sida utan CropBox lägger inte längre till en som skar av sidan till en kvadrat; bara de page boxes som sidan faktiskt har roteras

Version 2.766.17

Fixed

  • Kedjor av reservteckensnitt hittar nu snitt som SimSun och Microsoft YaHei på Windows-system som rapporterar dem med ett lokaliserat namn, så att blandad CJK-text i WideTextOutBox, WideTextOutBoxEx och TextOutWithFallback ritas med reservsnittet i stället för att visa tomma rutor
  • Text vars eget teckensnitt är ett av de här snitten delas inte längre upp i reservsekvenser eller rapporteras som olöst av diagnostiken för olösta glyfer
  • Ett snitt kan listas i en kedja under vilket familjenamn som helst som det bär, på vilket språk som helst; ett snitt som Windows bara ersätter med ett annat teckensnitt hoppas fortfarande över

Version 2.766.16

Fixed

  • N-up-kompositionen placerar nu sidor med /Rotate 90 och /Rotate 270 vridna medurs inuti sina celler; tidigare vreds de åt andra hållet och trycktes ut ur cellen, ofta utanför arket
  • Sidor med /Rotate 180 vrids nu på arket i stället för att komponeras orvridna
  • N-up-kompositionen respekterar nu page boxes och /Rotate som ärvs från sidträdet, så att sådana sidor inte längre hoppas över eller komponeras orvridna
  • Tomma sidor som infogas i ett inläst dokument, inklusive de komponerade N-up-arken, vrids eller beskärs inte längre av en /Rotate eller /CropBox som ärvs från sidträdet

Version 2.766.15

Fixed

  • HPDFTokenizeContentStreamAppend kan nu återanvända en token-array efter att dess count har nollställts: tokens som lämnats kvar från föregående körning frigörs först, så att deras strängar inte längre läcker och deras arrayposter eller inline-bilddata inte längre syns i de nya tokens
  • När många små innehållsströmmar läggs till i samma token-array växer arrayen nu åtminstone dubbel i stället för att omallokeras och flyttas vid varje tillägg, vilket gjorde att sidor byggda av tusentals små strömmar var långsamma att kompilera

Version 2.766.14

Fixed

  • Sidor med /Rotate 90 eller /Rotate 270 renderas nu vridna medurs, som PDF-specifikationen definierar, i stället för spegelvända över diagonalen; tidigare hamnade hörnet uppe till vänster på en 90-graderssida nere till höger
  • Fixen omfattar sid- och regionrendering, bitmap-, metafil- och bandad PNG- eller TIFF-export samt SIMD-renderingsbackenden
  • Visarens koordinatomvandlingar sida-till-vy och vy-till-sida och dess sök- och markeringsöverlager följer samma medursvridning, så att träffar och träfftestning stämmer med den renderade sidan

Version 2.766.13

Fixed

  • SVG-sidexporten skriver nu text som UTF-8, som dokumentet deklarerar, så att tecken med diakritik och CJK-tecken överlever i stället för att bli frågetecken eller byte som gör filen oläsbar; kontrollkoder som XML inte tillåter blir U+FFFD
  • Text efter en rads första sekvens, och text efter en TJ-kerningjustering, placeras nu rätt när textmatrisen skalar eller roterar texten, vilket är sättet många PDF-producenter sätter teckenstorleken på
  • Texthöjning och horisontell skalning följer nu en skalad eller roterad textmatris, och TJ-justeringar respekterar horisontell skalning
  • Text ritad med renderingslägena 4 till 6 (paint och clip) exporteras i stället för att kastas bort, osynlig text flyttar fortfarande textpositionen, och strekad text behåller sin streckopacitet
  • Ordmellanrum tillämpas inte längre på tvåbytekoder som råkar vara lika med 32, och sekvenser av mellanslag bevaras så att varje tecken stannar på sin egen position
  • Ligaturglyfer exporterar alla tecken de står för, och teckensnitt med blandade en- och tvåbytekoder läses kod för kod
  • Sidor vars /MediaBox inte börjar i origo landar nu på SVG-canvasen i stället för att skjutas utanför den

Version 2.766.12

Fixed

  • Ritning på THPDFPage.Canvas, och metafiler uppspelade som vektorgrafik med ShowMetafile på en position och skala, förlorar inte längre en del av sina vänstra och övre kanter när de sätter ett klippområde. Varje klippområde flyttades in en enhet på de två sidorna, så att en ram eller fyllning längs vänster- eller överkanten kom ut tunnare än samma på höger- eller underkanten
  • Klippområden hamnar nu i linje med samma områden när de fylls, och täcker samma yta vid valfri THotPDF.Resolution

Version 2.766.11

Fixed

  • Understrykningar och genomstrykningar av Unicode-text ritad med TextOut, UnicodeTextOut, RtLTextOut och ExtTextOut spänner nu över exakt texten. De mättes på texten omvandlad till systemets kodsida, så att sekvenser med kyrilliska, hebreiska, grekiska, CJK- eller andra bokstäver utanför den kodsidan fick streck som stannade före texten eller gick förbi den
  • Strecken följer också teckenmellanrum, ordmellanrum, horisontell skalning och de förskjutningar som skickas till ExtTextOut

Version 2.766.10

Fixed

  • Rapport- och grid-exporttilläggen (FastReport, QuickReport, ReportBuilder, DevExpress och DBGrid) skriver inte längre över varandras utdata när flera exporter körs samtidigt, till exempel på en server. Deras temporära fil namngavs efter en timer som bara ändras var 10:e till 16:e ms, så att exporter som startades tillsammans skrev samma fil

Version 2.766.9

Fixed

  • TextWidth mäter nu text på det sätt den ritas när teckenmellanrum, ordmellanrum eller horisontell skalning är satt. Mellanrummet skalades inte med den horisontella skalningen, negativa ordmellanrum ignorerades och ett avslutande mellanslag fick inget ordmellanrum, så att styckefortsättning, länkrektanglar och centrerad eller högerställd text placerades bredvid den ritade texten
  • TextWidth och GetWideTextWidth returnerar samma bredd för samma text

Version 2.766.8

Fixed

  • ReportBuilder-enheten (TppHotPDFDevice) ritar nu inbyggd text inuti sin textruta. Texten placerades som om dess position vore baslinjen, så att varje textobjekt började en rad för lågt och dess sista rad gick utanför rutan
  • Centrerad och högerställd inbyggd text mäts med de Unicode-bredder den ritas med, så att text med bokstäver utanför systemets kodsida, som kinesiska på ett västerländskt system, hamnar på rätt plats

Version 2.766.7

Fixed

  • FastReport-exporten placerar nu memotext inuti sitt memo. Texten placerades som om dess position vore baslinjen, så att varje memos text började en teckenhöjd för lågt, och nederställd text ritades under memot, där beskärningen dolde den
  • Vertikal justering mot topp, mitten och nederkant mäter alla från toppen av första raden, för både vanliga och HTML-taggade memo

Version 2.766.6

Fixed

  • FastReports exportfilter (TfrxHotPDFExport) kompileras igen. Egenskapen NotEmbeddedFonts läste ett fält av en annan typ, och inbyggd bildexport använde en egenskap Clipped som TfrxPictureView inte har
  • Inbyggd bildexport beskär nu varje bild mot sin vy, som FastReport gör, så att en bild som är större än sin vy inte längre sprider sig över grannobjekten
  • En centrerad bild behåller sin ram och sitt klipp mot vyens gränser; bara själva bilden centreras. Ramen brukade flyttas med bilden

Version 2.766.5

Fixed

  • DBGrid-tillägget mäter nu celltext med de Unicode-textbredder den ritas med innan den kapas för att passa en kolumn. Text med bokstäver utanför systemets kodsida, som kinesiska på ett västerländskt system, mättes som frågetecken och gick förbi cellen; dubbelbytetext på kinesiska, japanska eller koreanska system kapades långt innan cellen var full
  • En kapning lämnar aldrig halva ett surrogatpar före ...

Version 2.766.4

Fixed

  • DBGrid-tillägget (TDBGridHotPDFExport och DBGridHotPDFExportToFile/ToStream) ritar nu celltext inuti sina celler. Texten placerades som om dess position vore baslinjen, så att varje rads text vilade på cellens nederkant och skars av nästa rads rutnätlinje
  • Rubriktexten centreras i rubrikraden, och titeln rör inte längre vid tabellens topp

Version 2.766.3

Fixed

  • GetLoadedPDFVersionString returnerar nu %PDF-1.7 och dyl. på system vars locale skriver decimaltecknet som komma; den returnerade %PDF-1,7 där
  • Fältet pdfVersion i GetLoadedDocumentReport är fixat på samma sätt

Version 2.766.2

Fixed

  • HTML-importen (RenderHTML och RenderHTML5) ger samma sida vid valfri THotPDF.Resolution. CSS-längder och importorns Margin, BaseFontSize, ListIndent och BlockSpacing är punkter, men vid Resolution 144 kom text, marginaler, listor och tabeller ut med halva storleken
  • Text och grafik du ritar före och efter importen använder fortfarande 1/Resolution tum
  • Dokument byggda vid standard-Resolutionen 72 kommer ut exakt som tidigare

Version 2.766.1

Fixed

  • XFA-formulär som plattats ut med ApplyXFAAsAcroForm eller FlattenLoadedXFA behåller positioner, storlekar och teckenstorlekar från mallen vid valfri THotPDF.Resolution. Vid Resolution 144 kom hela formuläret ut med halva storleken i sidans övre vänstra hörn
  • Text och grafik du ritar före och efter utplattningen använder fortfarande 1/Resolution tum
  • Dokument byggda vid standard-Resolutionen 72 kommer ut exakt som tidigare

Version 2.766.0

Added

  • THPDFPage.UserWidth och THPDFPage.UserHeight returnerar sidstorleken i de enheter du ritar med, 1/Resolution tum, så att layoutkod kan jämföra den med koordinater, marginaler och TextWidth vid valfri THotPDF.Resolution. Width och Height returnerar fortfarande punkter, och befintlig kod läser samma värden som tidigare

Fixed

  • När THotPDF.Resolution är satt till ett annat värde än 72 radbryter stycken nu vid det verkliga utrymmet mellan sina marginaler och går till nästa sida vid den nedre marginalen. De mätte sidan i punkter, så att vid 144 ett stycke med breda marginaler kunde brytas efter varje tecken och sprida ut sig på alldeles för många sidor
  • Ett stycke som fortsätter på en ny sida behåller samma sidstorlek, koordinater och teckenstorlek vid valfri Resolution. Vid 144 gick fortsättningssidan över till punktkoordinater och texten på den kom ut med halva storleken
  • THPDFTable börjar en ny sida först när en rad når den nedre marginalen; vid 144 fick en tabell placerad i sidans nedre halva varje rad på en egen sida
  • HTML-importen lägger ut text över hela sidbredden vid valfri Resolution i stället för den vänstra halvan
  • Metafiler ritade centrerat på sidan, och metafils klippområden som täcker hela sidan, använder hela sidan vid valfri Resolution
  • Layoutdiagnostik för sidolager och spolade sidor rapporterar sidstorleken i ritningsenheter
  • Dokument byggda vid standard-Resolutionen 72 kommer ut exakt som tidigare

Version 2.765.52

Fixed

  • AES-256-lösenord med icke-ASCII-bokstäver fungerar nu i andra PDF-läsare. HotPDF hashade lösenordet i systemets kodsida, medan ISO 32000-2 definierar det som UTF-8, så andra läsare avvisade ett lösenord med kinesiska eller diakritiska tecken; både revision 5 och revision 6 är fixade
  • AES-256-lösenord längre än 127 byte kapas nu till 127 byte som standarden definierar, så att läsare som följer den accepterar dem
  • HotPDF öppnar nu AES-256-filer från andra producenter vars lösenord har icke-ASCII-bokstäver
  • Filer som tidigare versioner krypterade med sådana lösenord öppnas fortfarande i HotPDF med samma lösenord

Version 2.765.51

Fixed

  • ANSI-text som skrivs efter Unicode-text i samma teckensnitt visas inte längre som tomma rutor. När en sida ritade Unicode-text med TextOut och sedan använde TextBox eller TextOutBoxEx i samma snitt (till exempel Arial i en annan storlek) skrevs ANSI-texten in i Unicode-teckensnittet och visare hittade inte dess glyfer; den får nu en egen teckensnittsresurs och visas och extraheras korrekt
  • Sidor som bara använder ANSI-text eller bara Unicode-text ger samma utdata som tidigare

Version 2.765.50

Fixed

  • Dokument krypterade med AES-256 revision 6 (UseAES256R6 och PDF 2.0 AES-256) öppnas nu i andra PDF-läsare. Lösenordshashen räknades med saltet i varje runda och utan användarposten på ägarsidan, så att qpdf, MuPDF och andra läsare avvisade båda lösenorden; HotPDF accepterade bara sina egna filer
  • HotPDF öppnar nu revisions 6-filer skapade av andra producenter med deras användar- eller ägarlösenord i stället för att rapportera ett felaktigt lösenord
  • AES-256 R6-exemplet i Security-demon öppnas i andra läsare

Version 2.765.49

Fixed

  • Marginaljusterade Unicode-textrutor sprider inte längre ut sina bokstäver och går inte förbi rutans högerkant. Med ett teckensnitt valt efter namn, som Arial, blev varje justerad rad omkring dubbelt så bred som rutan och överlappade det som satt bredvid; varje justerad rad slutar nu vid rutkanten
  • Text som ritas med explicita advances per tecken hamnar nu där den begärts i samma fall, i stället för att varje tecken knuffas en extra teckenbredd åt höger

Version 2.765.48

Changed

  • HelloWorld-, CJKAnnotations-, TextOut- och RtLTextOut-demon för Delphi och C++Builder bäddar nu bara in de glyfer de använder. De bäddade in hela systemteckensnitt som Arial Unicode MS, så ett hello world på en sida kom ut på omkring 15 MB och höger-till-vänster-exemplet på omkring 30 MB; samma sidor ligger nu på mellan 80 KB och 650 KB och ser likadana ut

Version 2.765.47

Fixed

  • Höger-till-vänster-text kommer inte längre ut med bokstäverna i fel ordning i vissa teckensnitt. Hebreiska i Arial Unicode MS hade grannbokstäver ombytta i många ord, och arabiska i Microsoft Sans Serif vändes inte alls, eftersom glyfnumren i de teckensnitten förväxlades med diakritiska märken när raden lades i visuell ordning
  • De hebreiska raderna i RtLTextOut-demon läses nu korrekt

Version 2.765.46

Fixed

  • GetWideTextWidth inkluderar nu det teckenmellanrum och ordmellanrum texten ritas med, liksom TextWidth. Ordbruten och centrerad Unicode-text med mellanrum satt mättes för smalt
  • TextOutHTML visar nu ordmellanrum satt med SetWordSpacing: varje sekvens placeras vid sin uppmätta bredd; tidigare försvann mellanrummet. CSS:ens word-spacing och letter-spacing i HTML-importen går genom samma layout

Version 2.765.45

Fixed

  • SetWordSpacing fungerar nu med inbäddade teckensnitt. Text i ett inbäddat teckensnitt skrivs med tvåbytekoder, och PDF tillämpar ordmellanrum bara på enbyte-koden för mellanslag, så att mellanrummet tyst ignorerades närhelst FontEmbedding var på eller texten behövde ett Unicode-teckensnitt
  • Mellanrummet läggs till efter varje mellanslag som en textpositioneringsjustering, vilket varje PDF-visare respekterar; text utan ordmellanrum skrivs exakt som tidigare
  • Ordmellanrumsraden i TextOut-demon visar nu extrautrymmet

Version 2.765.44

Fixed

  • AnnotationInteraction-demon för Delphi och C++Builder får nu varje länkrubrik att rymmas inom sin länkrektangel. Texten började för lågt, så att rektangelns ram gick genom den, och den var bredare än rektangeln

Version 2.765.43

Fixed

  • Genomstruken text (fsStrikeOut) stryks nu igenom mitt på de gemena bokstäverna. Linjen ritades en halv rad under baslinjen, under understrykningen, så att genomstruken text såg dubbelunderstruken ut; det drabbade också <s> i TextOutHTML
  • Roterad text får nu sin understrykning under baslinjen i stället för längs bokstävernas topp, och sin genomstrykning genom bokstäverna
  • Genomstrykningslinjer är lika tjocka som understrykningar på alla textvägar; Unicode- och rena latinvägar ritade en mycket tunnare linje

Version 2.765.42

Fixed

  • HTMLText-demon producerar nu en enda sida med alla fem exempel på. Den lade till en andra sida efter den dokumentet redan börjar med, vilket lämnade första sidan tom, och började skriva nära sidans nederkant, så att entitetsexemplet och det ordbrutna stycket föll utanför sidan

Version 2.765.41

Fixed

  • Layer-demon för Delphi och C++Builder visar nu sina lagers text. Texten på det synliga lagret ritades i rektangelns färg bakom och kunde inte ses, och texten på det dolda lagret var nästan vit
  • Rubriken på Patterns-demon ritas i svart i stället för att fyllas med det upprepade mönstret, vilket sönnderdelade den i mönsterfragment
  • Rubriken på AlphaTransparency-demon ritas inte längre halvtransparent grönt med Multiply-blandningsläget; de genomskinliga formerna behåller nu sin transparens för sig själva

Version 2.765.40

Fixed

  • GraphicDraw-demon för Delphi och C++Builder ritar nu tangentlinjerna till sina kurvexempel rätt. Den vänstra kurvans första kontrollpunktlinje stannade före den märkta punkten, och den högra kurvan visade ett kort horisontellt streck i stället för linjerna från dess startpunkt via dess kontrollpunkt till dess slutpunkt
  • Avsnittsrubrikerna på rektangel- och ellipssidorna är svarta igen i stället för att ta färgen från den senast ritade formen

Version 2.765.39

Fixed

  • Text och former ritade efter PrintHyperlink behåller färgerna som satts före den. En grå färg kom tillbaka som en annan färg (vitt blev blått), och färger satta i CMYK eller via en färgrymd kom tillbaka som en äldre RGB-färg
  • Hyperlänkens färg gäller nu bara länktexten, oavsett vilken färgrymd sidan använde

Version 2.765.38

Fixed

  • TextOutOutline ritar nu glyfkonturerna i teckenstorleken vid valfri Resolution. Med en annan Resolution än 72 skalades konturerna ned en gång till, till exempel till hälften vid 144
  • Konturer av teckensnitt med färre än 1000 enheter per em, som SimHei, ritas inte längre flera gånger för stora

Version 2.765.37

Fixed

  • CJKUnicode-demon för Delphi och C++Builder visar nu sin koreanska rad på system utan Arial Unicode MS. Den ritades med det första kinesiska teckensnitt som hittades, vilket saknar Hangul, så att raden förblev tom; den använder nu Malgun Gothic när det valda teckensnittet inte kan visa koreanska

Version 2.765.36

Fixed

  • Kinesisk och japansk text skriven med teckensnitt som SimHei staplar inte längre sina tecken ovanpå varandra. När samma teckensnitt användes för en andra textsekvens gavs många ideografier bredder på några få enheter i stället för ett helt em
  • De drabbade teckensnitten lagrar färre teckenbredder än glyfer; glyferna efter den senast lagrade bredden använder nu den bredden, som TrueType-formatet kräver

Version 2.765.35

Fixed

  • Unicode-text i teckensnitt vars designrutnät har färre än 1000 enheter per em, som SimHei och SimSun med 256, får nu rätt avstånd. Glyfbredderna som skrevs till PDF:en var omkring fyra gånger för stora, så att visare lämnade breda glapp efter mellanslag och andra nyligen använda tecken

Version 2.765.34

Fixed

  • Skannbild-scenariot i PDFOptimize-demon komprimerar nu en verklig textsida. Dess 1-bittestbild kom ut helt svart, så att CCITT G4 och JBIG2 jämfördes på en heldräkt rektangel
  • Bildscenariorna i PDFOptimize-demon bäddar nu bara in glyferna i sin sidetikett, så att de rapporterade storlekarna visar skillnaden mellan bildkomprimeringsmetoderna i stället för att domineras av ett helt inbäddat teckensnitt

Version 2.765.33

Fixed

  • E-Invoice-demon lägger nu ut den synliga fakturasidan uppifrån och ned: titeln ligger överst på sidan och fakturan, parterna och beloppen följer under den. Sidan ritades i omvänd ordning, med titeln nära nederkanten och sidfotsnoten överst

Version 2.765.32

Fixed

  • JBIG2-bilder kodade strikt förlustfritt (Lossless med LossyLevel = 0) behåller nu varje pixel. Standardborttagningen av små svarta prickar som skannbrus ignorerade de här inställningarna, så att punkterna och prickarna på i och j i liten text försvann från bilder som skulle vara förlustfria
  • De skannvänliga standardinställningarna (LossyLevel = 5 med RemoveIsolatedBlackPixels) tar fortfarande bort fläckar som tidigare

Version 2.765.31

Fixed

  • Export av inlästa sidor till PNG eller TIFF misslyckas inte längre med "received too many rows" vid upplösningar där ett renderingsband inte är ett helt antal punkter, till exempel standard-150 DPI i SaveLoadedPagesAsImages med en Letter-sida. Avrundning gjorde varje band en pixelrad högre än planerat, så att banden summerade till fler rader än bilden

Version 2.765.30

Fixed

  • TextWidth, TextHeight, GetWideTextWidth och GetWideCharAdvances svarar nu i sidans Resolution-enheter, de enheter text ritas i. Med en annan Resolution än 72 svarade de i punkter, så att uppmätt text inte passade de koordinater den placerades vid
  • Med en annan Resolution än 72 börjar text ritad med TextOut nu på sitt Y i stället för för högt, och understrykningar och genomstrykningar täcker hela texten med rätt avstånd och tjocklek i stället för en bråkdel av den
  • Vid valfri Resolution centrerar och högerställer TextBox, TextOutBoxEx och WideTextOutBoxEx sina rader efter den verkliga textbredden, tabellceller och stycken radbryter text efter den, och de formaterade sekvenserna i TextOutHTML överlappar inte längre
  • En reservteckensnittssekvens inuti WideTextOutBoxEx behåller teckenstorleken vid valfri Resolution i stället för att krympa
  • Utdata vid Resolution 72 är oförändrat

Version 2.765.29

Fixed

  • När Windows inte själv kan tillämpa en EMF-metafils world transform kombinerar HotPDF transformerna på egen hand. Den vertikala offseten i en kombinerad transform använde fel term, så att innehåll i sådana metafiler kunde skiftas uppåt eller nedåt

Version 2.765.28

Fixed

  • Visning av en EMF-metafil skriver inte längre ut diagnostikrader som [WMF_DEBUG] EMR_POLYGON16 record found till konsolapplikationers standardutdata. Metafilspårningen var lämnad påslagen i release-bygget

Version 2.765.27

Fixed

  • Text i EMF-metafiler visade med ShowMetafile ligger nu på den höjd Windows ritar den på. Toppjusterad text, standarden för TCanvas.TextOut, ritades en radhöjd för högt, och nederställd text var också för högt
  • Baslinjejusterad och roterad metafiltext är oförändrad

Version 2.765.26

Fixed

  • ShowMetafile med position och skala ritar nu metafilen med sitt övre vänstra hörn vid den givna punkten och skalad som begärt. Den ignorerade de här argumentarna och ritade alltid metafilen i sidans övre vänstra hörn i sin naturliga storlek
  • ShowMetafile utan position är oförändrad

Version 2.765.25

Fixed

  • AngleArc-ritningar i EMF-metafiler visade med ShowMetafile ritar nu den båge de beskriver, i valfri riktning, följt av linjer som fortsätter från bågens slut. En hel cirkel ritades i stället, och dess storlek var fel närhelst metafilen hade en offset

Version 2.765.24

Fixed

  • Under PDF/A och PDF/X visar fritextannoteringar med rent ASCII-innehåll nu sin text. Deras utseende ritade tidigare bara ramen och fyllningen, eftersom den Helvetica som nämns i annoteringens default-appearance inte får användas obäddad där
  • Texten ritas med 12 pt i sidans aktuella teckensnitt, som bäddas in tillsammans med sidtexten, radbryts till annoteringsrutan och justeras enligt vald marginaljustering, som redan görs för icke-ASCII-innehåll
  • Utanför PDF/A och PDF/X skrivs fritextannoteringar med enbart ASCII exakt som tidigare

Version 2.765.23

Fixed

  • Med AutoShapeArabic påslagen fogar TextOut och UnicodeTextOut nu samman arabiska, persiska och urdu-bokstäver till sina initiala, mediala och slutliga former och ligaturer, som RtLTextOut redan gör. Varje bokstav visades tidigare i sin isolerade form
  • Detsamma gäller AutoShapeSyriac, AutoShapeNko, AutoShapeAdlam, AutoShapeHanifiRohingya och omkastningen av hebreiska punkter (sfHebrewReorder i ShapingFeatures)
  • Med de här alternativen påslagna kunde text vars glyfnummer råkade ligga i de arabiska eller hebreiska teckenintervallen visas med fel glyfer; det händer inte längre
  • Fritextannoteringar ritade i sidteckensnittet formas på samma sätt som sidtext
  • Utdata med de här alternativen avslagna är oförändrat

Version 2.765.22

Fixed

  • Kurviga former respekterar nu Resolution-värden andra än 72. Ellipse, Circle, Arc, DrawArc, Pie, DrawPie, Chord och ArcTo ritades på fel plats och i fel storlek, medan raka linjer, rektanglar och rundade rektanglar var korrekta
  • Utdata vid standardupplösningen 72 är oförändrat

Version 2.765.21

Fixed

  • Pajkilar ritade med Pie eller DrawPie är nu enkla slutna former, så att deras kontur får riktiga hörn där de raka kanterna möter bågen i stället för två lösa linändar
  • Korder i EMF-metafiler visade med ShowMetafile stängs nu längs den raka linjen mellan sina bågändar. Linjen gick tidigare till en punkt långt bort från formen

Version 2.765.20

Fixed

  • DrawArc och DrawPie ritar nu den del av ellipsen som deras dokumentation beskriver: moturs från startpunkten till slutpunkten, som Windows GDI-anropen Arc och Pie gör. De ritade den andra delen, så att en kvartsbåge kom ut som tre fjärdedelar
  • Pajskivor, korder och ArcTo-bågar i EMF-metafiler visade med ShowMetafile matchar nu bilden Windows ritar, för båda bågriktningar. De visade den motsatta delen av ellipsen; vanliga bågar var redan korrekta
  • De vinkelbaserade metoderna Arc, Pie, Chord och ArcTo är oförändrade

Version 2.765.19

Fixed

  • Roterade rektanglar ritade med RectangleRotate är nu slutna former, liksom de som ritas med Rectangle. Att streka en av dem lämnade tidigare bort dess fjärde sida, så att en roterad rektangel med bara kontur visade tre kanter
  • Fyllda roterade rektanglar, liksom understryknings- och genomstrykningsstreck för roterad text, ser likadana ut som tidigare

Version 2.765.18

Fixed

  • Negativa tal som skrivs in i genererade PDF:er avrundas nu korrekt. Värden som -50 skrevs tidigare som -49.99, så att negativa koordinater, offsets och positioner i sidinnehåll, annoteringsrektanglar och liknande poster kunde hamna upp till 0.01 enheter fel
  • Negativa värden avrundas nu halva bort från noll, exakt spegelbild av positiva värden; ett negativt värde som avrundas till noll skrivs som 0
  • Utdata för noll och positiva tal är oförändrat

Version 2.765.17

Fixed

  • Fritextannoteringar med kinesiskt, japanskt, koreanskt, arabiskt, kyrilliskt eller annat icke-ASCII-innehåll visar nu sin text i alla visare. De förlitade sig tidigare på att visaren ritade texten i Helvetica, som bara kan återge västerländska tecken, så att visare som Poppler bara visade ASCII-skiljetecknen
  • De här annoteringarna har nu ett eget utseende (ISO 32000-1 12.5.5): texten ritas i sidans aktuella teckensnitt, som bäddas in och bildar delmängd tillsammans med sidtexten, radbryts till annoteringsrutan (mellan ord, eller mellan tecken för text utan mellanslag), justeras enligt vald marginaljustering och placeras över samma ram och fyllning som tidigare
  • Utseendet skrivs också under PDF/A, där det inbäddade teckensnittet håller dokumentet normkonformt och annoteringstexten nu syns i stället för en tom ruta
  • Fritextannoteringar med enbart ASCII-innehåll skrivs exakt som tidigare

Version 2.765.16

Fixed

  • Tomma sidor som infogas i inlästa dokument med InsertLoadedBlankPage får nu med sig den resursordlista varje sida kräver (ISO 32000-1 Table 30), så att validerare som qpdf inte längre rapporterar sidträdet som skadat och sidan kan få innehåll senare

Version 2.765.15

Fixed

  • I Table-demon spänner delsumman nu över kolumnerna Qty och Price som avsett; den räknade med fel cellindex, vilket lämnade kolumnen Qty som en tom cell

Version 2.765.14

Fixed

  • Bilder i THPDFTable-celler ritas nu inuti sin cell och respekterar den vertikala justeringen; de placerades en bildhöjd för lågt, under cellen och utanför tabellen

Version 2.765.13

Fixed

  • Textbredderna för Unicode-text (GetWideTextWidth och justeringsmåttet) stämmer nu med teckensnittet; för teckensnitt som Arial blev de ungefär dubbelt så stora som de skulle
  • Tabeller, radbruten text och högerställd, centrerad eller marginaljusterad text som bygger på de här bredderna läggs ut rätt igen: kort celltext radbryts inte längre i onödan, högerställda värden når cellkanten och HTML-text i tabellceller visar inte längre stora glapp mellan orden

Version 2.765.12

Fixed

  • Formulär med kryssrutor eller radioknappar tar nu upp teckensnittet ZapfDingbats (/ZaDb) i formulärets standardresurser. Visare som ritar de här fälten själva (standardläget när AutoFormAppearances är av) slår upp teckensnittet där för att rita kryset; tidigare rapporterade Poppler-baserade visare ett okänt teckensnitt och visade ingen markering

Version 2.765.11

Fixed

  • I CJKAnnotations-demon ligger den första notikonen i varje språkrad nu i linje med radens övriga ikoner; den placerades 5 punkter för högt

Version 2.765.10

Fixed

  • Teckensnitt som begärs under sitt engelska namn hittas nu även på Windows-system med annat språk. En begäran om SimSun, Microsoft YaHei eller MS Gothic på kinesiska, japanska eller koreanska Windows behandlades som ett saknat teckensnitt, eftersom Windows rapporterar namnet på systemspråket, och texten sattes tyst i Arial Unicode MS i stället

Version 2.765.9

Fixed

  • Teckensnitt som Windows har i TrueType-samlingar (.ttc), till exempel SimSun, Microsoft YaHei och MS Gothic, bäddas nu in som giltiga fristående teckensnitt. Tidigare pekade varje tabell i det inbäddade teckensnittet på fel data, så visare avvisade det och föll tillbaka på ett systemteckensnitt, och på datorer utan det teckensnittet visade texten fel glyfer
  • Det drabbade också dokument vars begärda teckensnitt saknades och som Windows mappade till ett samlingsteckensnitt, till exempel Unicode-text med Arial Unicode MS på system där bara SimSun fanns

Version 2.765.8

Fixed

  • Källfiler som innehåller icke-ASCII-text sparas åter som UTF-8 med byte order mark. Utan den läser Delphi källfilen i byggdatorns kodsida, så att CJK-, arabisk, hebreisk och accenterad text i demorna blev förvrängd i de genererade PDF:erna på kinesiska, japanska, koreanska och andra icke-västerländska Windows-system, och bibliotekets felmeddelanden visade fel tecken
  • Demorna CJKAnnotations, Annotations, HelloWorld, RtLTextOut, PageSizes, TextOut, Showcase och ViewerPref ger åter den avsedda texten var de än kompileras

Version 2.765.7

Fixed

  • Dokumentinformation som anges som UTF-8 (Title, Author, Subject, Keywords, artikeltrådsrubriker och SetLoadedDocumentInfo med SetLoadedTitle-familjen) lagras nu som Unicode, så att visare visar accenterad och CJK-text rätt och dokumentinformationen stämmer med XMP-metadata
  • Text i systemets kodsida (till exempel en kinesisk titel på ett kinesiskt Windows-system) lagras också rätt, eftersom byte som inte är giltig UTF-8 läses i den kodsidan

Version 2.765.6

Fixed

  • Startvyn för nya dokument (InitialZoom) skriver nu kompletta fit-width- och fit-height-destinationer; operanden som ISO 32000-1 Table 151 kräver saknades, så att visare som Poppler rapporterade en för kort destinationsarray för varje dokument som skapades med standardinställningen

Version 2.765.5

Fixed

  • Sidetiketter som inte börjar på första sidan täcker nu också sidorna före det första intervallet, som behåller vanliga nummer; sidetikettträdet måste omfatta första sidan (ISO 32000-1 12.4.2), och utan det kunde visare visa fel etiketter
  • SetLoadedPageLabel behåller nu intervallen i sidordning och ersätter ett intervall som börjar på samma sida, så att visare visar de avsedda etiketterna; tidigare lades nya intervall till i fel ordning och kunde upprepas
  • SetLoadedPageLabel kastar inte längre bort befintliga etiketter i dokument som förvarar dem i ett separat objekt, och den uppdaterar nu också etikettträd som delats upp i flera noder
  • Sidetikettsprefix som anges som UTF-8 lagras nu som Unicode

Version 2.765.4

Fixed

  • Länkbeskrivningar som anges som UTF-8 (AddURILink, AddGoToLink, AddGoToRLink, AddLaunchLink, AddNamedDestinationLink och strukturdestinationslänkarna) skrivs nu som Unicode, så att skärmläsare och visare visar accenterad och CJK-text i stället för förvrängda tecken
  • Detsamma gäller text och författare hos annoteringar som läggs till i inlästa dokument med AddLoaded...Annotation-metoderna, i linje med annoteringar som skapas i nya dokument

Version 2.765.3

Fixed

  • AddGoToLink kan nu länka till en sida som läggs till senare i ett nytt dokument, så att en innehållsförteckning på första sidan kan länka framåt; tidigare kastades sådana länkar bort utan något fel
  • En länk vars målsida aldrig läggs till behåller sitt område men får ingen åtgärd, i stället för att peka på en saknad sida

Version 2.765.2

Fixed

  • SetLoadedOutlineOpen öppnar och stänger nu bokmärken i inlästa dokument; tidigare skrev den en nyckel som visare ignorerar, och bokmärket behöll sitt läge
  • AddLoadedOutline, SetLoadedOutlineURI och SetLoadedOutlineDestination verkar nu på det begärda bokmärket; vid index över 0 ändrade de fel bokmärke eller gjorde ingenting
  • Ett bokmärke som läggs till i ett inläst dokument uppdaterar nu antalet synliga poster hos sin förälder, sina förfäder och i outlinen, så att visare inte längre visar fel utfällningslägen eller fel postantal
  • Sätts en webblänk på ett inläst bokmärke tas nu dess siddestination bort, och sätts en destination tas dess åtgärd bort, eftersom ett bokmärke bara kan bära det ena av dem
  • Bokmärkestitlar som ges som UTF-8 till AddLoadedOutline och SetLoadedOutlineTitle lagras nu som Unicode i stället för som förvrängda byte

Version 2.765.1

Fixed

  • Bokmärken i nya dokument registrerar nu hur många poster som är synliga, som ISO 32000-1 12.3.3 kräver: tidigare räknade outlinen och varje öppet bokmärke alla nästlade poster, även de inuti stängda bokmärken
  • Sätts Opened på ett bokmärke efter att dess barn lagts till öppnas det nu i visaren; tidigare nådde ändringen aldrig filen
  • Tilldelas ett befintligt bokmärke en ny Title ändras nu titeln som visas i dokumentet
  • Bokmärkestitlar med icke-ASCII-text som ges som UTF-8 skrivs nu som Unicode, så att accenterade och CJK-titlar visas rätt i stället för som förvrängda tecken
  • Bokmärken bär nu den förälderreferens som specifikationen kräver

Version 2.765.0

Added

  • HPDFTokenizeContentStreamAppend tokeniserar en content stream rakt in i en befintlig tokenarray, så att anropare som kombinerar flera strömmar slipper en tillfällig array per ström

Changed

  • Kompileringen av en sida för rendering allokerar inte längre minne för vartenda tal och varje operator i sidans content stream, och sidinnehållet tokeniseras rakt in i sidans display list i stället för att kopieras dit
  • Parallell sidrendering skalar mycket bättre på ett kallt dokument: på ett 128-sidigt vektortestdokument blir 4 workers klara ungefär 3 till 3,5 gånger snabbare än 1 worker (tidigare ungefär 1,4 gånger i 32-bitars och 1,7 gånger i 64-bitars byggen)
  • Entrådig sidkompilering och rendering är också ungefär 35 % snabbare på det dokumentet; token, display lists och renderad utdata är oförändrade

Version 2.764.7

Changed

  • Rendering av innehåll som ofta sparar och återställer grafiktillståndet (q/Q) allokerar inte längre minne för varje sparning, vilket fick arbetstrådarna i den parallella sidrenderingen att vänta på varandra inne i minneshanteraren
  • Kall parallell rendering av ett 128-sidigt vektortestdokument är ungefär 7–10 % snabbare med 4 workers och ungefär 5 % snabbare på en ensam worker; renderad utdata är oförändrad

Version 2.764.6

Fixed

  • Parallell sidrendering faller inte längre tillbaka till en sida i taget när sidorna renderats förut och deras display lists fortfarande ligger i cachen
  • Tidigare behöll varje sida som väntade på att ritas sin minnesreservation medan bara en sida ritades i taget, så att övriga workers fastnade på den gemensamma minnesbudgeten; när lika många sidor väntar som det finns workers ritas de nu parallellt
  • Första sidan kommer fortfarande tidigt, och minnet som en batch reserverar håller sig nu proportionellt mot antalet workers i stället för att fylla hela budgeten

Version 2.764.5

Fixed

  • SetStructureClassMapEntry kan nu registrera en och samma attributordlista under flera klassnamn, eller åter under samma namn, utan att frigöra den
  • Tidigare frigjorde borttagning eller ersättning av en av dessa poster den delade ordlistan, så att kvarvarande /ClassMap-poster pekade på frigjort minne och att spara dokumentet kunde skriva skräp eller kasta en access violation
  • En attributordlista som skapas direkt blir nu ett indirekt objekt när den registreras, och varje /ClassMap-post refererar till den; dokumentet äger ordlistan, så anropare får inte frigöra den

Version 2.764.4

Fixed

  • RemoveUnusedLoadedPageResources skriver inte längre till en resurstabell efter att ha tagit bort den, när en sidas /Font-, /XObject- eller annan resurstabell ligger direkt i /Resources och varje post i den är oanvänd
  • Tidigare gick den skrivningen till frigjort minne, vilket oftast gick obemärkt förbi men kunde skada minnet eller senare i sessionen kasta en access violation
  • Tömda resurstabeller tas fortfarande bort från /Resources, och den sparade utdatan är oförändrad

Version 2.764.3

Fixed

  • Att öppna en PDF krypterad med publik nyckel (certifikat) med PubSecKeyMaterial, via LoadFromFile eller BeginIncrementalUpdate, läser inte längre mottagarkuvert från minne som redan frigjorts medan filnyckeln återställs
  • Felet berodde på hur minnet råkade återanvändas: dokumentet öppnades oftast, men kunde avvisas som om inget nyckelmaterial hade tilldelats, eller packa upp fel byte
  • Dokument med flera mottagare, callbacken för mottagarval och extra nyckelmaterial som registrerats med AddPubSecKeyMaterial använder alla samma korrigerade kuvertlista

Version 2.764.2

Fixed

  • Fältutseenden som genereras för inlästa formulär, av AddLoadedTextField och de övriga AddLoaded*-fältmetoderna, EnsureLoadedFieldAppearanceStream eller FlattenFormFields, har nu en egen referens till AcroFormets /DR-teckensnitt i stället för att dela /DR-posten
  • Att ersätta eller radera AcroForm-/DR-ordlistan, eller att ta bort det sista formulärfältet (vilket också tar bort AcroForm), lämnar inte längre fältutseendena pekande på frigjorda teckensnittsobjekt
  • Tidigare kunde frigörandet av dokumentet därefter träffa en dold access violation som lämnade resten av dokumentet ofrigjort eller skadade minnet, oftast i 64-bitars byggen
  • Ett teckensnitt som skrivs direkt i /DR blir ett indirekt objekt första gången ett utseende använder det, så att fältutseendet och /DR i den sparade filen refererar till samma teckensnittsobjekt

Version 2.764.1

Fixed

  • Att anropa ProcessObjectStreamsForDecompression efter LoadFromFile läser inte längre filströmmen som inläsningen redan hade stängt; den går i stället igenom den inlästa filen på nytt, så att objektströmmarnas medlemmar förblir tillgängliga för ExtractObjectFromStream
  • Felet berodde på hur minnet råkade vara utlagt: det gick oftast obemärkt förbi, men kunde kasta en access violation eller skanna av orelaterat minne, oftast i 64-bitars byggen
  • FindAllObjectStreams, ScanAndLoadReferencedObjects och ForceLoadMissingReferencedObjects gör nu ingenting när de anropas utanför en inläsning, i stället för att röra den stängda strömmen

Version 2.764.0

Changed

  • En THotPDF-instans, till exempel en komponent som lagts ut på ett formulär, kan nu skriva valfritt många dokument efter varandra: BeginDoc efter EndDoc startar ett nytt, oberoende dokument i stället för att kasta ett undantag
  • EndDoc släpper allt som registrerats för det skrivna dokumentet, inklusive dess bilder, teckensnitt, formulärfält, bokmärken, dokumentets JavaScript, namngivna destinationer, sidetiketter, ICC-profiler och output intents, och nästa BeginDoc frigör dess sidor och objekt, så att inget av detta når nästa fil; med ReproducibleOutput påslaget är ett andra dokument från en återanvänd instans byte för byte detsamma som dokumentet från en ny instans
  • Registreringar som görs mellan EndDoc och nästa BeginDoc, till exempel AddPDFAOutputIntent eller skript som lagts till via Names, hör till nästa dokument och rensas inte längre bort av BeginDoc
  • Egenskapsinställningar som FileName, Compression, PDFACompliance, Author och Title följer med till nästa dokument, tillsammans med sidolager och fallback-kedjor för teckensnitt; en PDF-version som höjts automatiskt för ett dokument återgår till värdet på egenskapen Version
  • Det skrivna dokumentet förblir tillgängligt efter EndDoc tills nästa BeginDoc, så att ValidatePDFUA2Structure, CurrentPageNumber, PagesCount och layoutdiagnostiken fortsätter att fungera på det
  • Eftersom lösenorden rensas så snart ett skyddat dokument har krypterats kastar BeginDoc ett undantag när ActivateProtection fortfarande är på och inget nytt lösenord har angetts, i stället för att skydda nästa fil med tomma lösenord
  • Att starta ett nytt dokument efter att ha skrivit om ett inläst dokument på samma instans ger också en ren fil

Version 2.763.1

Fixed

  • Konvertering av en EPUB, eller import av HTML med HTML5-profilen, riskerar inte längre en access violation när ett stycke inte får plats på den aktuella sidan; stycket ritas nu alltid på den nya sidan
  • Samma fix omfattar stycken, listposter och horisontella linjer i den kompakta blockrenderare som HPDFRenderHTMLDocument använder
  • Felet berodde på hur minnet råkade vara utlagt, dök bara upp då och då, oftast i 64-bitarsbyggen, och kunde lämna en konvertering utan utdata eller förstöra dess innehåll

Version 2.762.1

Fixed

  • Ett nytt anrop av BeginDoc på en THotPDF-instans som redan har skrivit ett nytt dokument slutar inte längre i en access violation; det kastar ett undantag som kräver en ny instans, eftersom instansen fortfarande håller objekten, bilderna, teckensnitten och formulärfälten från det färdiga dokumentet
  • Utöver kraschen skulle det andra dokumentet ha burit det första dokumentets objekt, inklusive dess innehåll och formulärfält; en instans per nytt dokument håller varje fil till sitt eget innehåll
  • Att läsa in ett befintligt dokument med LoadFromFile och skriva om det påverkas inte

Version 2.762.0

Fixed

  • Text-, fritext-, linje-, kvadrat-, cirkel-, stämpel- och filbilageannoteringar syns i PDF/A-2-, PDF/A-3-, PDF/A-4- och PDF/X-6-dokument; de hade en tom appearance-ström som bara skulle hålla valideraren nöjd, och eftersom visningsprogram ritar utseendet visades ingenting
  • Dessa utseenden ritar nu annoteringen: kvadrat- och cirkelramarna, linjen, en anteckningsikon och en bilageikon i annoteringens färg, stämpelramen och fritextrutan fylld med sin bakgrundsfärg
  • PDF 2.0-utdata ger var och en av dessa annoteringar, de utökade markup-annoteringarna och nya formulärfält en appearance-ström, som ISO 32000-2 Table 166 kräver, och skriver /NeedAppearances false; utanför PDF/A och PDF/X ritas fritexten och stämpelnamnet med Helvetica
  • I PDF/A och PDF/X ritar fritext- och stämpelutseendena ingen text, eftersom varje teckensnitt som används där måste bäddas in; texten finns kvar i annoteringen för visningsprogrammen att visa

Version 2.761.6

Fixed

  • Filbilageannoteringar (AddFileAttachmentAnnotation) går att öppna och spara igen i visningsprogram: filspecifikationen skrev den inbäddade filströmmen själv som /EF, där ISO 32000-1 Table 44 kräver en /EF-ordlista som håller strömmen under /F, så att läsare rapporterade att filposten saknades
  • Den inbäddade filströmmen för en sådan bilaga har typen /EmbeddedFile, och annoteringstexten lagras också som filens beskrivning

Version 2.761.5

Fixed

  • Namngivna destinationer, dokumentnivå-JavaScript och dokumentbilagor skrivs med sina namnträdnycklar i sorterad ordning, som ISO 32000-1 7.9.6 kräver; de skrevs i registreringsordning, och läsare som söker i trädet kunde missa poster (qpdf rapporterade träden som osorterade)
  • Att bifoga två filer med samma filnamn skapar inte längre två poster med en och samma nyckel, vilket gjorde att bara en bilaga gick att nå; den andra får en numrerad nyckel som a (2).txt och behåller sitt ursprungliga filnamn
  • Ändringar via AddLoadedDocumentJavaScript och AddLoadedNamedDestination sparas; det redigerade namnträdet skrevs inte tillbaka när det låg i en direkt ordlista, så de nya posterna gick förlorade. Båda infogar på sorterad position, även i träd som delats upp i /Kids-noder, och ersätter en befintlig post med samma namn
  • AddLoadedDocumentJavaScript lagrar en JavaScript-åtgärd som namnträdets värde i stället för en ren skriptström, och AddLoadedNamedDestination skriver zoomoperanden för sin /XYZ-destination
  • RemoveLoadedJavaScript och RemoveLoadedJavaScriptAll tar bort skripten ur själva dokumentet; tidigare ändrades bara listan som getterna returnerade och skripten stannade kvar i den sparade filen
  • SetDocumentAttachmentMetadata byter namn på den bilaga den får; tidigare bytte den namn på nyckeln för den sista bilagan i trädet, och den omdöpta posten flyttas nu till sin sorterade position

Version 2.761.4

Fixed

  • Nya AcroForms definierar alltid det Helvetica-teckensnitt som fälternas default-appearance-strängar namnger i formulärets standardresurser (/DR), som ISO 32000-1 12.7.3.3 kräver; utan AutoFormAppearances saknades teckensnittet, så att visningsprogram som bygger fältutseenden inte hade något teckensnitt att bygga dem med
  • AddLoadedComboBox skapar en riktig kombobox; den satte Edit-flaggan i stället för Combo-flaggan, så att fältet blev en listruta som visningsprogram visade som en lista med alla alternativ
  • Fält som läggs till i ett inläst dokument skriver /NeedAppearances som det booleska true i stället för namnet /true, och en AcroForm som skapas för dem får den default-appearance-sträng och de standardresurser som deras /DA-strängar refererar till
  • AddLoadedTextField, AddLoadedCheckBox, AddLoadedComboBox, AddLoadedListBox och AddLoadedPushButton ger det nya fältet en appearance-ström, så att det syns i visningsprogram som inte bygger utseenden och i dokument vars formulär sätter /NeedAppearances false
  • Utseenden som genereras för inlästa pushknappar (vid tillägg, omritning eller utplattning) ritar bildtexten, där de tidigare var tomma

Version 2.761.3

Fixed

  • Ändras värdet i ett textfält eller ett valfält i ett inläst formulär ritas fältet nu om: SetFormFieldValue, ResetLoadedFormField och uppdateringar av listrutor med flerval regenererar appearance-strömmen; tidigare visade den sparade filen kvar den gamla texten i alla visningsprogram och i utskrift, eftersom visningsprogram ritar utseendet och inte det lagrade värdet
  • Genererade utseenden för lösenordstextfält visar en asterisk per tecken i stället för lösenordet i läsbar form (ISO 32000-1 Table 228), både för nya fält med AutoFormAppearances och för inlästa fält som ritas om eller plattas ut
  • AnalyzeLoadedSignatureRevisions klassificerar den appearance-ordlista, appearance-ström och de resurser som en formulärfyllning lägger till efter signering som formulärfyllning, precis som det redan gjorde för själva fältet, så att ifyllnad av ett certifierat formulär i en inkrementell uppdatering inte längre rapporteras som en ändring utanför igenkända strukturer

Version 2.761.2

Fixed

  • 1-bitars- och 4-bitarspalettbitmappar som läggs till med Flate-komprimering behåller sina färger; de mappades tidigare om på systempalettens 256 färger, vilket försköt varje färg som paletten inte innehåller. De bäddas nu in med sitt eget bitdjup och sin egen palett, vilket också gör bilddata mindre
  • 1-bitarsbitmappar vars palett listar vitt före svart kommer inte längre ut som en negativ med CCITT Group 3, CCITT Group 4 eller JBIG2-komprimering, inklusive batch- och sidövergripande JBIG2-vägar; den mörkare palettfärgen kodas alltid som svart
  • icAutoMono och AddMonochromeImageAuto behåller en 1-bitarsbitmapp med färgad palett på Flate i stället för att göra om den till svartvitt med CCITT eller JBIG2
  • Tvådimensionella CCITT Group 3-bilder (icCCITT32) följer nu sin /K-parameter: första raden och varannan rad kodas endimensionellt och /K är 2, där varje rad tidigare kodades tvådimensionellt under /K 1, som inte tillåter tvådimensionella rader alls (ISO 32000-1 Table 11, ITU-T T.4)

Version 2.761.1

Fixed

  • JPEG-bilder som läggs till med DCT-komprimering behåller sin egen färgmodell: JPEG-bilder i gråskala skrivs som DeviceGray och CMYK-JPEG-bilder som DeviceCMYK, där alla JPEG-bilder tidigare deklarerades som DeviceRGB; visningsprogram visade då gråskalefiler förvrängda eller avhuggna och CMYK-filer i fel färger
  • CMYK-JPEG-bilder med Adobe-markören (det brukliga Photoshop-utdataformatet) får den inverterade /Decode-array som deras sampelvärden behöver (ISO 32000-1 8.9.5.2 och 7.4.8)
  • PDF/A-kontrollen av färgrymder ser nu JPEG-bilder i gråskala och CMYK som DeviceGray- respektive DeviceCMYK-användning i stället för DeviceRGB
  • StampLoadedPageImage tillämpar samma färgmodell när en JPEG stämplas på en inläst sida
  • Filnamn som PHOTO.JPG eller scan.jpeg läses nu in som JPEG med varje komprimeringstyp; filöverlagringen av AddImage känner igen JPEG-data på signaturen i stället för på en skiftlägeskänslig .jpg-ändelse och försöker inte längre läsa sådana filer som bitmappar

Version 2.761.0

Added

  • Lade till AddLoadedSignedSignatureField, som lägger till ett signeringsklart signaturfält i ett inläst dokument, så att en redan signerad PDF kan få en andra signatur (kontrasignatur eller godkännande) i en inkrementell uppdatering
  • Fältet reserverar signaturutrymmet som SignPDFWithPFX, PreparePDFForSigning och InsertSignatureHex fyller i; efter BeginIncrementalUpdate och SaveIncrementalUpdate täcker den nya signaturen hela filen medan tidigare signaturer förblir giltiga
  • Valfri orsak, plats och kontaktinformation, SubFilter och den reserverade signaturstorleken kan ställas in per fält; AcroForm markeras som signerad och append-only, och ingen flagga för appearance-regenerering läggs till i det signerade dokumentet

Fixed

  • Det dokumenterade flersignaturarbetsflödet för BeginIncrementalUpdate beskriver nu steg som fungerar; den tidigare beskrivningen utgick från en aktuell sida som inte finns efter inläsning och från ett signaturfält utan reserverat signaturutrymme, vilket fick signeringen att misslyckas

Version 2.760.1

Fixed

  • DrawQRCode, DrawDataMatrix, DrawPDF417 och DrawAztec återställer sidans fyllnadsfärg efter ritningen, som dokumenterat; former som fylldes därefter fick tidigare streckkodens färg
  • Dessa streckkoder ritas som en enda bana, där varje sammanhängande följd av mörka moduler i en rad slås ihop till en enda rektangel, så att sidinnehållet blir mindre och visningsprogram inte längre visar svaga sömmar mellan närliggande moduler

Version 2.760.0

Changed

  • Sätts CryptKeyLength till aes256 höjs utdataversionen till PDF 1.7 när den är lägre, på samma sätt som andra versionsberoende funktioner redan gör, så att dokument verkligen skyddas med AES-256. Med standardutdata PDF 1.6 skrevs de tidigare med AES-128 utan någon notis; med StrictVersionLock satt faller en lägre version fortfarande tillbaka till AES-128

Fixed

  • Hjälpsidorna för skyddsegenskaperna visade behörighetsnamn som inte finns; exemplen och beskrivningarna av prPrint och prPrint12bit motsvarar nu de faktiska alternativen, och anteckningarna om publiknyckelkryptering listar de nyckeltyper som stöds

Version 2.759.0

Fixed

  • Signerade PDF:er lämnar nu hela /Contents-strängen, inklusive dess <- och >-avgränsare, utanför de signerade byteintervallen, som ISO/IEC 32000-1 12.8.3.3 kräver; avgränsarna signerades tidigare, vilket validerare som kontrollerar byteintervallet mot signaturvärdet rapporterar som ett ogiltigt byteintervall
  • PDF MAC-validering av signaturer med bifogad MAC godtar både standardbyteintervallet och det som tidigare versioner skrev

Security

  • Signaturverifieringen avvisar ett dokument vars osignerade mellanrum mellan de två byteintervallen rymmer något annat än signaturens egen /Contents-sträng, vilket stänger ett signatur-wrapping-hål där innehåll utanför de signerade bytena rapporterades som täckt; signaturer gjorda med tidigare versioner verifieras fortfarande

Version 2.758.1

Fixed

  • Standardutseendet som AttachSignatureFieldAppearance ger ett osignerat signaturfält ritar sin ljusgrå bakgrund igen: fyllnadsrektangeln saknade två operander och satte sin färg inuti banan, vilket visningsprogram avvisar
  • Fritextannoteringar som skapas på en ny sida bär på standard-appearance-strängen som ISO 32000-1 kräver, så att visningsprogram själva kan formge texten i stället för att visa en tom ruta

Version 2.758.0

Fixed

  • Den inbyggda JBIG2-avkodaren placerar varje symbol efter den första på den plats i en textremsa där ISO/IEC 14492 anger den; varje ytterligare symbol landade tidigare en pixel längre åt höger, så att text i JBIG2-skanningar från andra inkodare gled isär
  • JBIG2-bilder som skrivits med den inbyggda aritmetiska inkodaren och en symboldictionary med en enda glyf kan nu läsas av andra PDF-visningsprogram; symbolidentifierarna kodades med en bit i stället för med noll bitar, vilket fick de visningsprogrammen att fallera vid den första glyfen
  • Symboldictionaries som kombinerar glyfer genom refinement och aggregering avkodas med standardmellanrummen, i linje med andra JBIG2-avkodare
  • JBIG2-bilder som delar en global symboldictionary skriver /DecodeParms som en array som matchar /Filter-arrayen; andra visningsprogram ignorerade den enda dictionaryn och hittade inte de delade glyferna, så den sorts bilder kunde inte visas

Version 2.757.0

Fixed

  • DirectDrawBarcode och stapelfunktionerna Simple* ritar nu riktiga streckkoder för varje symbologi; de flesta returnerade tidigare jämnt alternerande staplar helt utan data. GS1-128 med koduppsättning C (typ 22) ritas nu i stället för att falla tillbaka till Code 39, och POSTNET:s korta staplar ritas med 40 % av höjden
  • DirectDrawBarcode skalar stapelbredder och höjder med sidans koordinatsystem, så att streckkoder förblir läsbara när dokumentskalan inte är en punkt per enhet
  • Code 128, Code 93 och EAN/UPC-familjen behåller exakta elementbredder på en till fyra moduler oavsett vad Ratio är satt till; annan kvot än 2 gjorde dem tidigare oläsbara
  • EAN-8, EAN-13, UPC-A och UPC-E som bara får sina datasiffror räknar själv ut och lägger till kontrollsiffran; den sista datasiffran behandlades tidigare som kontrollsiffra. Med Checksum aktiverat tappar UPC-A inte längre sin sista datasiffra, och UPC-E:s kontrollsiffra (som också väljer stapelpariteten) beräknas från det expanderade UPC-A-numret
  • MSI:s kontrollsiffror blir korrekta för nummer med udda antal siffror, POSTNET-koder får sin korrigeringssiffra, och Interleaved 2 of 5 räddar den sista siffran i ett udda långt nummer genom att lägga till en inledande nolla
  • Code 128 A når gemener via SHIFT i stället för att göra om dem till mellanslag eller kontrolltecken, Code 39 viker gemener till versaler, och Codabar behåller angivna start- och stopptecken
  • Tecken som en symbologi inte kan representera kastar nu ett undantag; Code 39 och Code 128 tappade eller ersatte dem tidigare, och Codabar läste utanför sin teckentabell
  • GS1-128 med Checksum aktiverat lägger inte längre till ytterligare en kontrollsiffra till Text varje gång streckkoden mäts eller ritas

Version 2.756.0

Fixed

  • QR-koder ritade med DrawQRCode eller byggda med THPDFQRCode läses nu av standardläsare: formatinformationen placeras som ISO/IEC 18004 föreskriver, och felkorrigeringblockens struktur är korrekt för varje version från 10 till 40 (och för version 7-Q)
  • Automatiskt lägesval behåller gemen text i byte-läge, så att en URL som https://example.com inte längre kodas och läses tillbaka i versaler
  • Text vars längd slutar med en eller två siffror eller ett alfanumeriskt tecken får en symbol stor nog för den; de sista tecknen kastades tidigare bort
  • Att koda två gånger med samma THPDFQRCode-instans blandar inte längre in föregående symbol i den nya
  • Encode returnerar False när en explicit begärd version är för liten eller det begärda numeriska eller alfanumeriska läget inte kan representera data, i stället för att leverera en avhuggen symbol
  • Maskvalet tillämpar finder-mönster- och mörkmodulsbalansstraffen ur ISO/IEC 18004 7.8.3
  • Den inbyggda streckkodsavkodaren läser standard-QR-koder: flerblockssymboler med Reed-Solomon-verifiering, numeriska, alfanumeriska, byte- och ECI-segment, UTF-8-payloads och versioner med flera alignment-mönster

Added

  • Lade till HPDFQRFunctionMap och HPDFQRExtractDataWords, som exponerar modullayouten och blockde-interleavingen med feldetektering för kod som läser QR-symboler

Version 2.755.9

Changed

  • Renderingen av bildens soft mask återanvänder exakta horisontella sampelindex och använder SSE2-alfa-premultiplikation på stödda Delphi x86- och x64-mål, och bevarar pixelavrundning och avbrott med begränsad temporär lagring och en scalar fallback

Version 2.755.8

Fixed

  • Förgrundssidsrendering kan återupptas så snart den avbrutna sidoförhämtningen har släppt dokumentresurserna, utan att vänta på att arbetstråden ska bli klar med sin avslutning; uttryckligt avbrott, ersättning, omladdning och förstöring väntar fortfarande in tråden, och ogiltiga sidintervall läcker inte längre en suspendrerad worker

Version 2.755.7

Fixed

  • Sidrendering bevarar den aktuella banan över grafiktillståndsåterställningar och isolerar Form XObject- och Type3-glyfbanor, klippning och sparat tillstånd, inklusive felformade extra återställningar och avbrott

Version 2.755.6

Fixed

  • SIMD-rektangelrenderaren hedrar nu sammansatta even-odd- och nonzero-fyllnadsregler och bevarar hål, reflekterade delbanors riktning och fraktionell placering av kanter; avbrott under rasteriseringen kastar den ofullständiga bitmappen och propageras korrekt

Version 2.755.5

Fixed

  • Import av formulär med flerval reserverar nu exakta alternativvärden innan hexadecimala kompatibilitetsstavningar i XFDF tolkas, vilket hindrar literalvärden från att välja ett annat alternativ och håller lagrade värden överensstämmande med valindex

Version 2.755.4

Fixed

  • Textextraktion ur vertikal text (WMode 1) flyttar nu pennan med förskjutningen i ISO 32000-1 9.4.4, så att teckenmellanrummet förkortar steget nedåt i kolumnen som specifikationen definierar i stället för att förlänga det
  • En positionsjustering i TJ i vertikal text flyttar nu pennan upp eller ned längs kolumnen i stället för åt sidan, så att extraherade kolumner inte längre klyvs och läsordningen håller sig uppifrån och ned
  • Arrayen /DW2 i CIDFont läses under extraktionen i sin föreskrivna ordning [v1y w1y], så att glyfer som förlitar sig på standardvärdena avancerar en hel em i stället för 0.88 em
  • Extraherade vertikala glyforiginer stannar på kolumnens mittlinje, och glyfboxarna placeras vid den vertikala origon minus positionsvektorn, där den horisontella komponenten har halva glyfbredden som grundvärde
  • Poster i /W2-listan som beskriver flera sammanhängande CIDs applicerar under extraktionen nu sina mått på varje CID i sekvensen i stället för bara den första
  • Sidrenderaren och textextraktionstolken delar nu en enda implementation av reglerna för glyf- och TJ-förskjutning, så att renderade och extraherade positioner inte kan glida isär

Version 2.755.3

Added

  • THPDFQCStatementInfo får HasPSD2Statement, PSD2RolesOfPSP, PSD2NCAName och PSD2NCAId; beskrivaren på CMS-nivå bär samma fält
  • HPDFParsePSD2QcStatement parsar ett PSD2-utlåtande man redan har som DER och avvisar alla felformade indata

Deprecated

  • PSD2RolesPayer och PSD2RolesPayee finns kvar för källkodskompatibilitet men är alltid tomma, eftersom specifikationen inte definierar några rollistor för betalare och mottagare; använd PSD2RolesOfPSP

Fixed

  • PSD2-utlåtandet om kvalificerat certifikat läses nu med sin struktur enligt ETSI TS 119 495, och redogör för varje roll hos betaltjänstleverantören med dess roll-OID och rollnamn, den nationella tillsynsmyndighetens namn och myndighetsidentifieraren; verkliga PSD2-certifikat redogjorde tidigare inte för några roller alls
  • Ett felformat PSD2-utlåtande, med överloppande eller icke-minimala längder, saknade eller överflödiga komponenter, felaktiga strängyper och namn som inte är giltig UTF-8, ignoreras nu i sin helhet i stället för att rapporteras delvis

Version 2.755.2

Fixed

  • Sidrendering av vertikal text (WMode 1) avancerar nu varje glyf med textrymdsförskjutningen i ISO 32000-1 9.4.4: ordmellanrummet skalas inte längre med typsnittsstorleken och adderas inte längre till tvåbytkodade CID-koder, eftersom det bara gäller den enbytekodade mellanslagkoden
  • Teckenmellanrummet i vertikal text appliceras nu längs skriftriktningen exakt som specifikationen definierar det, så att kolumner satta med ett Tc skilt från noll renderas med samma höjd som i andra följsamma visningsprogram
  • Osynlig text (renderingsläge 3 och gömt valfritt innehåll) avancerar vertikala kolumner med samma regler som målad text, vilket håller senare synliga glyfer på rätt plats
  • Arrayen /DW2 i CIDFont läses i sin föreskrivna ordning [v1y w1y], så att typsnitt som förlitar sig på standardvärdena avancerar en hel em i stället för 0.88 em
  • Vertikala glyfer målas vid den vertikala origon minus sin positionsvektor, där den horisontella komponenten har halva glyfbredden som grundvärde, vilket centrerar kolumnerna på pennpositionen
  • Poster i /W2-listan som beskriver flera sammanhängande CIDs applicerar nu sina mått på varje CID i sekvensen i stället för bara den första

Version 2.755.1

Fixed

  • ExportLoadedFormToFDF genererar nu hela FDF-kroppen innan målfilen skapas, så att ett fel mitt i exporten inte längre ersätter målet med ett trunkerat dokument
  • FDF-strömens utbytes-skanner håller reda på hexadecimala strängar, så att fältordlistor förblir intakta när ett hexvärde slutar direkt mot ordlistans avslutartecken
  • Avstämningen av valindex avkodar blandade PDFDocEncoding-, UTF-16- och hexadecimala stavningar med en enda matchare, så att likvärdiga exportvärden bygger upp /I konsekvent
  • XFDF-importen godtar den hexadecimala stavningen av ett options exportvärde som levereras som ren litteral text, vilket återställer rundturer skrivna av tredjpartsverktyg
  • FDF-exporten hoppar över fält som bara är widgetar och saknar fältnamn, i linje med XFDF-exportören och alla importörers beteende
  • Delphi-demot Stamp förankrar sin vattenstämpel och sin rubber stamp-annotation vid den verkliga sidstorleken, så att de förblir synliga på liggande och icke-A4-indata
  • C++Builder-demot DigiPrint frigör sina bilder och sina radlistor per sida, initierar radavståndsfaktorn för sidhuvudet och rapporterar en saknad demo.xml i stället för att krascha
  • Byggskripten för Win64 ABI DLL och kodekarbetare hittar dcc64 i bin64 i RAD Studio 12 och senare, och fullständiga C++Builder-biblioteksbyggen upptäcker och städar bort Trial-rester från den delade utdatakatalogen

Version 2.755.0

Added

  • Inlästa flervals-fält utväxlar nu enskilda valda värden via FDF fil- och ström-API:er och XFDF-callbacks som förstår arrayer, samtidigt som optionsgränserna bevaras och valindexen synkroniseras vid import

Version 2.754.6

Fixed

  • SetLoadedFormFieldExportValue använder nu den normala uppdateringsvägen för fältvärden och bevarar knappvärdetyper, valindex, utseendelägen, kodade strängar och spårning av beräkningsändringar

Version 2.754.5

Fixed

  • XFDF-formulärvärden och annotationstextelement bevarar nu sitt exakta innehåll utan att stoppa in formaterande blanktecken, inklusive inledande och avslutande mellanslag, tabbar och radbrytningar

Version 2.754.4

Fixed

  • Hjälpfunktionerna för inlästa fältvärden, standardvärden och maximal längd respekterar nu ärvda och indirekta poster, fältåterställningar bevarar standardvärdetyperna, synkroniserar val och knapplägen och lämnar syskonfält orörda; återskapade knapputseenden behåller det valda läget och giltiga renderingsgränser

Version 2.754.3

Fixed

  • Inlästa namngivna barnfält förblir nu individuellt adresserbara när deras fälttyp ärvs, med ärvd typ, flaggor och alternativ tillgängliga via fältens hjälpfunktioner, och borttagning bevarar syskonfält och deras widgetar

Version 2.754.2

Fixed

  • Återskapade utseenden för inlästa valfält visar nu Unicode-etiketter för optionerna samtidigt som exportvärdena bevaras, renderar omarkerade listoptioner och markerar enstaka eller flera val konsekvent med fältvärdena och indexen

Version 2.754.1

Fixed

  • Uppdatering av ett inläst valfält håller nu dess valda optionsindex konsistenta med det nya värdet, inklusive options exportvärden och redigerbara poster utanför optionslistan, utan att ändra delade valarrayer

Version 2.754.0

Added

  • De valfria fabrikerna HPDFCreateTesseractOCREngine och HPDFCreateRapidOCREngine kopplar lokala igenkänningsprogram och anropartillhandahållna modeller till sökbara textlager, med Unicode-text, ordkoordinater, tidsgränser, avbrytning och utdatabudgeter

Fixed

  • Korrigerade textmatrisavstånd, bredder för indirekta CID-typsnitt, återställning av q/Q- och Form-urklipp, reducerad JPEG-orientering, bildmjuka masker och paletter för Indexed-strömmar för att återställa textlayout och bildinnehåll på berörda sidor
  • Små inbäddade TrueType-glyfer med fyllnad använder nu lokal täckningsantialiasing för att förbättra tunna streck vid låg DPI; avbrutna OCR-begäranden rapporteras som avbrutna även när igenkänningsmotorn returnerar fel
  • RenderOutputDither tillämpas nu över renderingsbackends och parallell sidrendering, med konsekvent cache-ogiltigförklaring och avbrytning

Version 2.753.0

Added

  • SetLoadedFreeTextPlainText konverterar explicit stödda inlästa FreeText-annotationer till ren ASCII Helvetica-text och bygger upp deras synliga utseende igen, för både fullständiga omskrivningar och inkrementella sparningar

Fixed

  • Konvertering av inlästa sidor och sparningsvalidering löser nu upp indirekta och ärvda sidoboxar och bevarar delade sidmått i stället för att ersätta dem med A4

Version 2.752.5

Fixed

  • Initiering av sidbitmappar kontrollerar nu avbrytning medan avgränsade block rensas, frigör ofärdiga bitmappar och undviker att fördröja renderingen i förgrunden medan avbrutet prefetch-arbete avslutar sin initiering

Version 2.752.4

Fixed

  • Stängning eller omläsning av ett dokument frigör nu dess egna PDF-objektgrafer och strömnyttolaster, inklusive delat och cykliskt ägarskap, utan att frigöra länkade referenser två gånger

Version 2.752.3

Fixed

  • Värdeändringar i inlästa kryssrutor synkroniserar nu utseendelägena även när den normala utseendeordlistan bara innehåller det valda läget

Version 2.752.2

Fixed

  • Att aktivera reproducerbar utdata efter dokumentkonstruktionen låser nu skapandets tidsstämpel, så att likvärdiga sparningar förblir byte-identiska över klocktick

Version 2.752.1

Fixed

  • Inlästa formulärfältsnamn avkodas nu konsekvent som PDF-strängar, så att fält med UTF-16-namn kan hittas och uppdateras utan att deras identitet ändras

Version 2.752.0

Fixed

  • Flytt av en inläst icke-widget-annotation bevarar nu annoteringsobjektets identitet och uppdaterar dess valfria sidreferens till målsidan

Version 2.751.0

Fixed

  • Borttagning av inlästa sidor underhåller nu namngivna destinationer, dispositionsmål, strukturträd, förälderträd och annotationsobjektreferenser, vilket eliminerar nåbara null-referenser i både fullständiga omskrivningar och inkrementella sparningar

Version 2.750.0

Fixed

  • Fullständiga PDF-omskrivningar expanderar nu olästa komprimerade objekt innan objektströmbehållarna ersätts och bevarar typsnitt, färgrymder och ActualText, vilket fixar förvrängd kinesisk text, ändrat sidutseende och ändrad extraktionstext
  • Krypterade dokument med ett tomt användarlösenord läses nu in och börjar skriva om direkt, medan låsta objektströmmar failar tydligt i stället för att ge ett ofullständigt dokument
  • Oändrade numeriska objekt behåller sin källprecision, vilket förhindrar subtil drift i färger och transparens efter en omskrivning
  • Kopierade sidor behåller sina validerade resursnamn och referenser, vilket fixar fel i indirekta resursordlistor och felaktigt bundna bilder

Version 2.748.6

Fixed

  • Fixade att en cross-reference-subsektion som deklarerar fler poster än tabellen rymmer snurrade genom hela det deklarerade antalet utan data kvar att läsa, vilket gjorde att en felformad fil på fyrtio byte tog tiotals sekunder att avvisa
  • Fixade att job runner:n tappade alla resultat den redan hade producerat när en operation kastade ett undantag, och att HTML-importen tappade ett bildobjekt när strömmen runt den inte kunde skapas

Version 2.748.5

Fixed

  • Fixade att PKCS#12-filer med ett icke-ASCII-lösenord inte gick att öppna: lösenordet är en UTF-8-bytesträng, men det breddades en byte i taget i stället för att avkodas, så den härledda nyckeln blev fel för varje tecken utanför ASCII. Filer som skyddas med det moderna PBES2-schemat påverkades inte, vilket är anledningen till att de två betedde sig olika
  • Fixade att signaturbatchvalideraren och revokeringsbevis-cachen kastade en access violation i stället för sitt eget fel när de konstruerades med ett ogiltigt alternativ, eftersom destruktorn kördes innan de medlemmar den frigör hade skapats
  • Fixade att nedladdningstasken för evidence misslyckades i sin destruktor när argumenten avvisades, eftersom kontrollerna kördes innan tråden själv hade skapats
  • Fixade att molnsignaturleverantören kodade en algoritmidentifierare vars andra arc överstiger 39, och en felformad identifierare höjer nu leverantörens eget fel i stället för ett konverteringsfel
  • Certifikat- och signaturcontainrar avvisar nu ett nästlat element som deklarerar en längd som når förbi elementet som innehåller det, så att det som valideras och det som täcks av signaturen inte längre kan skilja sig åt
  • Privata nyckelvärden torkas nu från minnet efter RSA-signering i stället för att lämnas kvar på heapen för nästa allokering

Version 2.748.4

Fixed

  • Fixade att inläsning av Type 1-teckensnitt läste varje egenskap från första raden av typsnittsprogrammet: tokenlistan fylldes på utan att tömmas, så versions-, familje- och viktsträngarna, stem hintsen och längden på charstring-nyckeln hämtades alla från inaktuella tokens. Type 1-teckensnitt rapporterar nu sin egen metadata
  • Fixade att längden på charstring-nyckeln sparades som en pekare in i en sträng som redan hade frigjorts och användes utan range check; den lagras nu som ett värde och begränsas till det intervall som formatet tillåter
  • Fixade att icke-inbäddade teckensnitt alltid föll tillbaka på systemets standardtypsnitt: det begärda snittnamnet kopierades byte för byte in i wide-character-teckensnittsposten, så ingen installerad familj matchade någonsin
  • Fixade att parsning av inbäddade TrueType- och OpenType-teckensnitt läste förbi slutet av ett avklippt typsnittsprogram vid avkodning av glyphkonturer, kompositglyph-argument och CFF-tabellen i en OpenType-container, och en felformad teckenkarta begär inte längre en negativ glyph-array
  • Fixade cross-reference-tabeller och strömmar vars deklarerade objektnummer svämmade över: en post som angav ett nummer nära heltalsgränsen slog om till ett negativt index och skrevs utanför tabellen, och ett deklarerat objektantal eller en /Size långt större än filen kunde rymma storleksbestämde laddarens arrayer enbart utifrån angivelsen

Version 2.748.3

Fixed

  • Fixade att Data Matrix avvisade giltig indata: symbolstorleken uppskattades genom att halvera siffrantalet, men bara intilliggande siffror delar ett kodord, så text som 1a2a3a valde en symbol för liten för sina egna data och misslyckades att koda
  • Fixade att fyra-byte UTF-8-tecken i XFDF, till exempel emoji, avkodades till fel surrogatpar, och en okänd byte sväljer inte längre de tre tecken som följer efter den
  • Regionposter i enhanced metafiler begränsar nu sitt rektangelantal efter poststorleken i stället för att lita på antalet i regionhuvudet, som kunde läsa långt förbi posten
  • PNG-bilder vars deklarerade bredd gånger höjd överskrider det adresserbara intervallet avvisas i headern i stället för att allokera en pixelbuffert med negativ längd
  • Högkvalitativ bildomsampling rapporterar nu en begäran utanför intervallet i stället för att låta storleken på sin mellanbuffert svämma över
  • En WebP meta prefix-bild som påstår fler entropigrupper än den har pixlar avvisas i stället för att allokera hundratals megabyte prefixtabeller från några hundra byte indata
  • Fixade läckor på felsökvägarna i Aztec-kodning, WebP-bitmap-avkodning och worker-poolen för object stream-avkodning, där ett halvfärdigt objekt övergavs när ett senare steg kastade ett undantag

Version 2.748.2

Fixed

  • Fixade att QR Code-symboler tappade de sista kodordsbitarna: modulplaceringens genomlöp hoppade över den vänstra kolumnen, så slutet på det sista felkorrigeringsblocket skrevs aldrig in i symbolen
  • Fixade att QR-terminatorn fyllde hela resten av datablocket med nollbitar, vilket inte lämnade någon plats för de 0xEC / 0x11-fyllnadskodord som ISO/IEC 18004 kräver; en version 1-symbol bar sex nollkodord i stället
  • Ett nytt test läser tillbaka en genererad symbol ur dess moduler, så datablocket, fyllnadskodorden, felkorrigeringsblocket, masken och placeringen kontrolleras alla mot standarden i stället för mot kodarens egen utdata

Version 2.748.1

Fixed

  • Fixade att tre parsers hängde sig upp på felaktig indata i stället för att rapportera den: objekt-parsern på en >> inuti en array eller en ] inuti en dictionary, CMap-läsaren på en felplacerad parentes eller klammer, och XFDF-läsaren på en konstruktion utan taggnamn (en dokumenttypsdeklaration, bland annat) eller en felplacerad byte mellan attribut. Var och en slutade flytta fram sin markör, så en enda oväntad byte gjorde parsningen till en oändlig loop
  • Fixade att CDATA-avsnitt i XFDF lästes som markup: deras innehåll tas nu som elementtext, och avsnittsavslutet mäts korrekt i stället för att svälja första tecknet
  • Fixade att en WebP-chunklängd nära 2 GB svämmade över storlekskontrollen, så kopieringen av nyttolasten läste förbi slutet av filbufferten; chunklängder range-kontrolleras nu i 64-bitars aritmetik
  • Fixade att en PNG-chunklängd på 0xFFFFFFFF frigjorde chunkbufferten medan chunken fortfarande rapporterade sin deklarerade längd, vilket lämnade senare läsningar pekande på frigjort minne; överlånga chunks avvisas
  • Fixade att CCITT-faxavkodning svämmade över sin beräkning av radbuffertstorleken för mycket stora deklarerade siddimensioner, vilket kunde skriva förbi bufferten; radlagret begränsas nu och avkodningen stannar rent vid gränsen
  • Fixade att CCITT-kodaren läste en byte förbi slutet av en skanningslinje för bredder som är multipler av åtta
  • Fixade att kommentarsposter i enhanced metafiler lästes genom en 32-bitars avkapad pekare på 64-bitars byggen, vilket läste en orelaterad adress för varje EMF med en GDI-kommentar
  • Fixade att 8-bitsbilder med färre än 256 palettposter publicerade oinitierat minne som svansen på sin färgtabell, och tabellen deklarerar nu sitt verkliga postantal
  • Fixade att djupt nästlade BER-strukturer med obestämd längd uttömde stacken vid parsning av en signatur- eller certifikatcontainer; kapsling bortom 128 nivåer avvisas

Version 2.748.0

Fixed

  • Fixade felkorrigeringen för alla 2D-streckkoder biblioteket ritar: QR Code, Data Matrix, PDF417 och Aztec byggde sitt generatorpolynom från konstanttermen och uppåt men dividerade med det som om den ledande termen kom först, så varje symbol bar kontrollord som ingen standardkonform läsare accepterar. Kontrollorden matchar nu räkneexemplen i ISO/IEC 18004, ISO/IEC 16022 och ISO/IEC 15438
  • Fixade att Aztec-symboler tappade sin nyttolast: kodaren dividerar kodordsarrayen på plats och anroparen skickar ut samma array, så meddelandeorden skrevs över av divisionen och symbolen bar varken data eller ett giltigt mode-meddelande
  • Fixade att Data Matrix generatorpolynom startade sina rötter en potens för lågt, vilket gav ett annat polynom än det ISO/IEC 16022 bilaga E föreskriver
  • Fixade Data Matrix finder-mönster: den heldragna L:en är nu vänsterkolumnen och nedersta raden, och det alternerande klockspåret är översta raden och högerkolumnen, som båda börjar mörkt i hörnet de delar med L:en. De två var ombytta, så läsare kunde inte fastställa symbolens orientering

Version 2.747.4

Fixed

  • Fixade att redigering av inlästa dokument skrev PDF-tal med systemets decimaltecken: page stitching, rectangle redaction, text- och bildstämplar, sammansatta vattenstämpelformer och ellips-appearances skriver nu alltid ut en punkt, så att dokument som redigerats på en decimalkomma-locale (till exempel tysk eller fransk Windows) inte längre innehåller content streams som visningsprogram avvisar
  • Fixade att inläsning av Type 1-teckensnitt berodde på systemets locale: FontMatrix, BlueValues, stem hints och charstring-reeltal parsas nu som PostScript-tal med punkt, så att PFB-teckensnitt behåller sina mått och konturer på decimalkomma-system i stället för att tyst kollapsa
  • Fixade att tolkningen av teckenstorlek och färg i default-appearance (/DA), HTML-attributen width och size, FormCalc-resultat och job-JSON-tal följde processens locale; de använder nu invariant format i alla riktningar
  • Fixade att den inbyggda streckkodsritningen skrev sina stapelrektanglar genom ett locale-beroende format, vilket gav en ogiltig content stream på ett decimalkomma-system
  • Free Pascal-byggen parsar och formaterar nu content-stream-operander, textextraheringsmetrik och JavaScript-tal med invariant format, i linje med Delphi-byggena i stället för att falla tillbaka på den locale-beroende konverteringen
  • Talskrivaren skriver inte längre om decimaltecknet i värdapplikationens globala formatinställningar vid varje anrop, vilket ändrade hur resten av programmet formaterade sina egna tal och var osäkert när flera trådar producerade dokument samtidigt

Version 2.747.3

Fixed

  • Fixade att redigeringar försvann ur komprimerade sidor: rektangelsvärtning, sidsyssättning, sammansatta vattenstämpelformer och annoteringsutplattning lade sina operatorer till en fortfarande komprimerad sidinnehållsström, så att svärtningseken, den insydda sidan, vattenstämpelformen eller den inbakade annoteringen tyst saknades i den sparade filen. Sidinnehållet expanderas nu innan något läggs till
  • Fixade att tillagt innehåll smälte samman med den sista operator som redan fanns på sidan när sidan inte slutade med vitrymd, vilket gav en oläsbar token som Q0.5 och kunde få en visare att avvisa hela sidan; ett radslut sätts nu in där det behövs

Version 2.747.2

Added

  • Lade till stöd för Free Pascal Win32: Lazarus-paketet byggs nu för både i386-win32 och x86_64-win64 via egna build-entry points, smoke-sviterna accepterar ett arkitekturargument, och problemen med 32-bits-kompilatorn och C-symbollänkningen är fixade; PDF-skapande, inläsning, Flate-komprimering, AES-kryptering och CBZ-dokumenthantering täcks på båda targets

Version 2.747.1

Fixed

  • Fixade att den inbyggda streckkodsavkodarens roterade-mask-återförsök lämnade gamla byte kvar i orörda celler av den roterade masken, vilket hittade på spökbläck och gjorde kvartsvarvsvridna Code 39-symboler oläsbara; den roterade bufferten nollställs nu explicit, så att vridna Code 39-fotografier och skanningar kan avkodas via rotationsåterförsöket

Version 2.747.0

Added

  • Lade till WebP-bildimport: AddImageFromFile accepterar nu .webp-filer via en inbyggd förlustfri (VP8L)-avkodare som implementerar RFC 9649 — kanoniska prefixkoder, spatiala metaprefixkoder, LZ77-bakåtreferenser med grannskapsavståndskartan, färgcachen och alla fyra inversa transformeringar (predictor, color, subtract-green, color indexing med pixelbundling); förlustiga VP8-ramar avvisas med ett tydligt meddelande

Version 2.746.0

Added

  • Den inbyggda streckkodsavkodaren läser nu QR-symboler i vilken som helst av de åtta orienteringar en fotograferad eller skannad sida kan komma i: finder patterns identifierar det saknade hörnet, och den samplade modulmatrisen roteras eller speglas till förväntad layout innan avkodning, så att kvartsvarvsvridna och speglade fångster läses utan förbehandling

Version 2.745.0

Added

  • Lade till eIDAS-utvärdering av kvalificerade certifikat för inlästa signaturer: GetLoadedSignatureQCStatements rapporterar signerarcertifikatets ETSI EN 319 412-5 QCStatements — QcCompliance-, QcSSCD- och QcType-värden, QcLimitValue-valuta/belopp/exponent samt PDS-platserna — plus TS 119 495 PSD2-betalare- och mottagarroller, och höjer en kvalificerad-signatur-heuristik när både QcCompliance och QcSSCD är satta (förtroendebeslutet för QTSP lämnas till anroparen)

Version 2.744.0

Added

  • Lade till N-up-utläggning för inlästa dokument: ComposeLoadedPagesNUp flödar om varje sida till rutnätskomponerade ark i källpappersformatet (2-up, 4-up, 6-up, upp till 16x16) för utskriftsklart resultat, absorberar varje sidas /Rotate i placeringsmatrisen, delar sidresurserna med det komponerade formuläret och ritar valfritt hårlinjerade cellramar med justerbar gutter

Version 2.743.0

Added

  • FlattenLoadedAnnotations bakar nu in annoteringar som saknar appearance-ström i stället för att tyst hoppa över dem: widgetar får sitt fältutseende genererat från fältvärdet först (det /NeedAppearances-fall som är vanligt i webbläsarutskrivna formulär), så att det inmatade värdet överlever till sidinnehållet
  • Markup-annoteringar utan /AP får ett syntetiserat utseende ritat från sina egna egenskaper — FreeText- och Stamp-text med /DA-stil och /Q-justering, Square- och Circle-former med /C / /IC-färg samt /BS-bredd, Line- och Ink-streck, samt Highlight / Underline / StrikeOut / Squiggly-quad-markering som respekterar /QuadPoints och /CA-opacitet
  • Dolda annoteringar (den dolda /F-flaggan) lämnas som annoteringar när de saknar utseende, eftersom det skulle göra en osynlig notering synlig att baka in den

Version 2.742.0

Fixed

  • Fixade att Free Pascal-paketbyggen misslyckats sedan 2.738.0: deklarationerna av LTV-bevis och seed value-medlemmar hamnade inuti ett Delphi-endast-villkorligt block medan deras implementationer var ovillkorliga, så Free Pascal-paketet kompilerade inte längre; implementationerna bär nu samma villkor och paketet byggs igen

Added

  • HTML-importen löser nu tabeller på ett fullständigt beläggningsrutnät, så att rowspan- och colspan-celler rekvirerar sina kolumner korrekt och senare rader hoppar över de rekvirerade platserna i stället för att skifta åt vänster
  • Tabellradhöjder kommer från radbrytning av celltexten under cellens eget typsnitt i stället för en teckenräkningsuppskattning, så att blandat smalt och brett innehåll inte längre ger celler som svämmar över eller blir för stora
  • Kolumnbredder följer <col>-breddtips och per-cell-breddattribut, och rubrikrader markerade med <thead> (eller inledande rader av enbart <th>) upprepas överst på varje fortsatt sida när en tabell korsar en sidbrytning
  • En rowspan-grupp hålls hel över sidbrytningar: raderna som sammanfogas av en cell som spänner över dem flyttas tillsammans till nästa sida så att den spännande cellen aldrig kapas

Version 2.741.0

Fixed

  • Fixade att Free Pascal-byggen avslutades i stället för att rapportera ett fel när ett dokument behövde en av de codecs som dessa byggen inte länkar: att öppna en TIFF, avkoda en JPEG 2000- eller JBIG2-bild, läsa en progressiv eller nedskalad JPEG, tillämpa en ICC-färgtransformering eller begära Zopfli-rekomprimering avslutade processen direkt
  • Var och en av dessa operationer misslyckas nu på det sätt dess anropare redan förväntar sig, så att ett dokument som använder en av dem läses in med den funktionen hoppad över i stället för att ta ner applikationen

Added

  • Lade till textextraktion i strukturordning: ExtractLoadedPageStructureText vandrar genom dokumentets strukturträd i framställningsordning (ISO 32000-1 14.8.4) och sammanfogar en sidas marked-content-run efter MCID, så att taggade dokument som myndighetsformulär och tillgängliga publikationer får ut sin auktoritativa läsningsordning i stället för en geometrisk gissning; glyfer som trädet aldrig rekvirerar hamnar i en geometrisk svans och räknas in i den otaggade rapporten

Version 2.740.0

Fixed

  • Fixade att färgglyfer förlorade sin transparens i Free Pascal-byggen: inbäddade färgbitmappar lästes via en sökväg som kastar bort alfakanalen, så att varje emoji- eller färgtypsnittsglyf ritades som en opak rektangel. Bitmapparna behåller nu sin alfa per pixel

Fixed

  • Aktiverade P-384 ECDH-nyckelöverenskommelse: den villkorliga slutsubtraktionen i CIOS Montgomery-multiplikationen jämförde mot P-limb plus borrow, vilket wrappar till noll på P-384- / P-521-primtalens alla-ettor-höga limbbar och tyst lånade fel; jämförelsen detekterar nu lånet utan den överflödande additionen och den delade P-384-hemligheten matchar OpenSSL-referensvektorer byte för byte

Version 2.739.0

Added

  • Free Pascal-byggen krypterar och dekrypterar nu dokument: AES-ingångspunkterna servas av bibliotekets egen FIPS-197-implementation i stället för att rapportera ett unsupported-operation-fel, så att AES-128- och AES-256-skyddade filer kan skapas och öppnas där
  • AES-GCM-kryptering och -dekryptering, inklusive strömmande kontext som används för stora nyttolaster, är tillgängliga i Free Pascal-byggen
  • Free Pascal-smoketestet kontrollerar nu chiffret mot FIPS-197-known answer, övar PKCS#7- och GCM-tur och retur samt skapar och läser in ett AES-256-skyddat dokument med lösenordsavvisning

Added

  • Lade till CSS2.1-stycketypografi till HTML5-importmotorn: text-align (med äldre align-attribut och center-tagg-mappning), letter-spacing och word-spacing via PDF:s Tc- / word-space-operatorer, text-indent för första-radens indrag samt text-decoration underline / line-through-regler, så att befintliga webb- och e-post-HTML-importer behåller sina centrerade rubriker, indrag och understrykningar
  • Utökade den inbyggda QR-avkodaren bortom version 1: symbolversionen härleds nu från findergeometrin genom rutnätsdelbarhet (version 2-40 med ren modulmatris avkodas), längdtaket i byte-läge följer ISO/IEC 18004 tabell 7:s kapacitet per version, och funktionsmodulkartan täcker alignment patterns och versionsinformationsblock för högre symboler

Version 2.738.0

Added

  • Free Pascal-byggen komprimerar och dekomprimerar nu dokument inbyggt: deflate-codecen tillhandahålls av en inbyggd backend ovanpå Pascal zlib-implementationen som medföljer Free Pascal, så att FlateDecode-innehåll inte längre rapporterar ett unsupported-operation-fel
  • Komprimerade dokument kan skapas och läsas in igen under Free Pascal med standardkomprimeringsinställningen, och korsreferensströmmar, objektströmmar, inbäddade filer och komprimerat sidinnehåll avkodas alla där
  • Backenden täcker zlib- och råa deflate-wrappers, gzip-wrappern och automatisk rubrikdetektering, så att SVG-importer och multi-window-size-dekomprimeringsfallbacken beter sig som under Delphi
  • Free Pascal-smoketestet verifierar nu codecen genom ett wrapper- och checksummasjälvtest plus en tur och retur av ett komprimerat dokument

Added

  • Lade till AIA caIssuers-kedjekomplettering: HPDFFetchAIAIntermediates går igenom en CMS-certifikatmängds access-method-1.3.6.1.5.5.7.48.2-slutpunkter via anroparens transport (nakna DER- och PEM-kroppar avkodas båda), och valideringsalternativet FetchMissingIntermediates matar de hämtade intermediaten in i kedjebyggandet så att molnsignerarsignaturer med ett ensamt slutentitetscertifikat validerar i stället för att misslyckas i kedjebyggandet
  • Lade till LTV-aktivering i ett anrop: PopulatePAdESLTVEvidence går igenom varje inläst signatur, hämtar dess intermediater plus OCSP/CRL-bevis online och skriver materialet in i dokumentets DSS, vilket uppgraderar ett färskt B-B-signaturdokument till B-LT utan handbyggda bevisarrayer
  • Lade till seed value-tvång för signering: CheckLoadedSignatureSeedValue läser ett signaturfälts /SV-ordlista och kontrollerar en kandidats SubFilter, DigestMethod, Reason och DocMDP-profil mot dess begränsningar med force-bit-semantiken i ISO 32000-1 12.7.5.5, så att formulärförfattarens begränsningar respekteras innan en signatur placeras

Version 2.737.0

Added

  • Lade till strikt sparningsverifiering via egenskapen VerifySavedOutput: efter skrivning läser en färsk reader-instans med korsreferensåterställning avstängd in filen igen, så att korrupt serialisering kastar vid anropsplatsen i stället för att dyka upp hos nästa konsument
  • Utökade ReproducibleOutput till krypterade dokument: AES-CBC-strömmar använder den statiska 14*(1+i)-IV-konventionen, nyckelmaterial och salter härleds deterministiskt, och det kanoniska dokument-ID:t normaliserar flyktiga Info-tidsstämplar, vilket ger byte-identiska krypterade sparningar för regressionspipelines

Version 2.736.0

Added

  • Lade till högkvalitativ resampling och monokrom dithering via en ny HPDFResample-enhet: separabla Catmull-Rom bicubic- och Lanczos3-kärnor ersätter GDI-stretch-semantiken för bildnedskalning via egenskapen ImageDownsampleKernel, och RenderOutputDither tillämpar Floyd-Steinberg error diffusion efter sidkomposition så att utskriftsförhandsvisningens utmatning behåller fotografisk detalj i ren svartvitt

Version 2.735.2

Fixed

  • Fixade att Flate-dekomprimeringsströmmarna skickade adressen till sin buffertvariabel i stället för bufferten själv när de fyllde på från källströmmen, vilket korrupterade minnet vid varje läsning och kunde krascha processen; inläsning av komprimerade dokument, inflate-strömklasserna och komprimerings- och dekomprimeringsströmhjälparna är alla berörda

Version 2.735.1

Fixed

  • Fixade att växbara XFA-fält utan datakälla kollapsade till en enda rad vid plattläggning: deras höjd mäts nu från texten som mallen själv deklarerar, vilket är vad ett sådant fält visar. Ett fält bundet till tomma data mäts fortfarande som tomt

Version 2.735.0

Added

  • Free Pascal-byggen täcker nu hela biblioteket: varje enhet kompilerar med FPC 3.2.2 och Lazarus, där tidigare endast kärnsökvägen för skapande och inläsning gjorde det
  • XPS-, EPUB- och CBZ-containrar kan importeras under Free Pascal, via en inbyggd skrivskyddad ZIP-läsare som hanterar ZIP64-storlekar, sparade och deflaterade poster, CRC-verifiering och traditionellt krypterade poster med samma lösenords-Callback som Delphi-sökvägen
  • XFA-formulärplattläggning, FormCalc-beräkningsmotorn, widget-runtime:n, dokumentvisarkomponenterna, Type 1-typsnittshanterarna, HTML-import, signaturverifiering och job runner kompilerar alla i Free Pascal-byggen; plattläggning av ett inläst dokuments XFA-paket kräver dessutom deflate-codecen, som dessa byggen inte länkar

Fixed

  • Fixade PNG-hjälpenhetens 64-bitars byteswap, som returnerade felaktiga värden på Win64 och hade lämnat enheten helt utanför bygget

Added

  • Lade till detektering av saknade glyfer vid ritning: egenskapen TrackUnresolvedGlyphs registrerar varje kodpunkt som skulle renderas som en .notdef tofu-låda genom det aktiva Unicode-typsnittet, avfyrar händelsen OnUnresolvedGlyph per fynd och lämnar oregistrerade rena GDI-dokument orörda
  • Lade till stöd för äldre kern-tabeller: RegisterUnicodeTTF fångar Apple/GDI-erans kern-tabell och kerning-utmatningen faller tillbaka till dess binära format-0-parsökning när ett typsnitt saknar GPOS-kern-lookups, vilket återställer klassiskt paravstånd i typsnitt som inbyggd Arial
  • Lade till per-run-typsnittsfallback inuti styckelayouten: WideTextOutBox delar nu varje radbruten rad vid kodpunkter som det aktuella typsnittet inte kan mappa och ritar varje run i dess lösta fallback-typsnitt, så att blandade latinska, emoji- och CJK-stycken renderas utan tofu när fallback-kedjor är registrerade

Version 2.734.0

Added

  • Lade till RFC 3161-tidsstämpelförfrågans rörledning: HPDFRFC3161BuildRequest emitterar DER TimeStampReq med en färsk positiv INTEGER-nonce, valfri policy-OID och certReq, och HPDFRFC3161ParseResponse avkodar PKIStatusInfo-rubriken och extraherar token, så att TSA-transport-Callbacks är tre rader i stället för en DER-studie
  • Lade till ISO/TS 32002-deklarationen av utvecklartillägg (THotPDF.EnsureISO32002Extensions) som täcker EdDSA-signaturalgoritmer och de ytterligare ECDSA-kurvorna i PDF 2.0-dokument, idempotent och versionsgrindad som 32001 SHA-3-deklarationen

Version 2.733.0

Added

  • Lade till portabla X25519- och X448 Montgomery-ladder-nyckelöverenskommelser plus P-256 / P-521 NIST-kurva-ECDH med CIOS Montgomery-multiplikation, vilket gör att key-agreement(KARI)-publiknyckelmottagare kan skapas och vecklas upp helt i processen; RFC 7748 och OpenSSL-genererade referensvektorer låser ladder-beteendet i regressionssviten
  • Lade till HPDFUnwrapKeyAgreementRecipientEnvelope tillsammans med ingångspunkterna AddPubSecAgreementKeyMaterial och AddPubKeyAgreementRecipientWithSecret, så att dokument krypterade med ECDH- / X25519- / X448-mottagare kan öppnas med mottagarens privata skalär och krypteras utan externa ECDH-verktyg

Version 2.732.0

Changed

  • Sparningar routar nu serializerutmatningen genom en buffrad skrivström på 1 MiB, vilket slår ihop de per-token Write-anropen av objektrubriker, ordlistenycklar och xref-rader till batchade pushningar på filbaserade destinationer
  • Korsreferensströmnyttolaster tillämpar PNG Up-prediktion (/DecodeParms /Predictor 12) före FlateDecode och kollapsar free-list-hål genom /Index-undersektioner, vilket krymper xref-containrar på alla PDF 1.5+-dokument och på glesa objektintervall
  • Egenskapen CompressionLevel väljer nu också Flate-ansträngningen för korsreferensström- och objektströmscontainrarna, så att clMaximum producerar mindre strukturella strömmar vid sparning

Fixed

  • Korsreferensströmmens /W-fältbredder anpassar sig nu till det faktiska offsetintervallet i stället för en fast [1 4 2]-layout vars Cardinal-cast tyst trunkerade offset bortom 4 GiB till skadad utmatning

Version 2.731.0

Changed

  • Byggde om den inbyggda mallmatchande OCR:n med glyfextraktion via sammanhängande komponenter, gråskalatäckningspoängsättning mot cachade fler-typsnittsmallar, Otsu-binarisering med lokal-fönster-fallback, bimodal gap-ordsdelning, per-ord-baslinjer, fläckbrusavvisning och ett utökat 62-teckens alfabet som känner igen blandad versal-/gemen-ASCII-text genom radnivå-höjdgruppering och kasuskontextpreferens

Version 2.730.0

Added

  • Lade till Win64-stöd för Free Pascal 3.2.2 och Lazarus 4.6, inklusive ett runtime-paket, ett reproducerbart byggscrippt, ett kompatibilitetslager och ett non-GUI create-and-reload-smoketest; inbyggda statiska codec-integrationer förblir Delphi-endast och rapporterar ett explicit unsupported-operation-fel i Free Pascal-byggen

Version 2.729.0

Added

  • Lade till en värdneutral dynamisk XFA-widget-runtime med Unicode-redigering, fokus- och träfftestning, instansmedveten bindning, atomisk validering och beräkning, begränsad reflow och en skrivskyddad factory för inlästa dokument som bevarar käll-XFA:n

Version 2.728.0

Fixed

  • Korrigerade XFA:s inbyggda mätning och textfortsättning för att bevara explicita tomma och beräknade värden, använda varje fälts eller upprepade rads bindningskontext, behålla breakAfter-åtgärder, undvika syntetiska namnkollisioner och tillämpa en cachad global mätningsbudget

Version 2.727.0

Changed

  • XFA-layouten tillämpar nu inbyggda minimi- och maximimått, mäter växbara fält från deras bundna text och delar atomiskt kvalificerat textEdit-innehåll över innehållsytor och sidor med skrivskyddade fortsättningsfält och begränsade text-, fragment- och mätningsbudgetar

Version 2.726.0

Added

  • Lade till kompletta NChannel process- och spot-attribut, blandningshints, begränsade PDF 2.0 CxF/X-4-spektrala bläckströmmar och dokumentnivå-konsistenskontroller av spot-tint-definitioner och externa output-intent-färgämnestabeller

Version 2.725.0

Added

  • Lade till en trådsäker deterministisk SIMD-scanline-renderbackend som preflightar stödda rektangel-displaylistor, skriver den slutliga bitmappytan i vektorblock utan en mellanliggande bitmappskopia och returnerar exakta avvisningsorsaker per förfrågan genom den befintliga software-fallbacken och telemetripipelinen

Version 2.724.0

Changed

  • Utökade den begränsade inbyggda FormCalc-utvärderaren med generella SOM node-set-aggregat, blandade skalär- och node-set-argument, nästlade numeriska och stränganrop samt deterministiska urvals-, sträng-, trigonometriska, logaritmiska och konverteringsfunktioner under befintliga operation-, array-, djup-, tids- och utmatningsbudgetar

Version 2.723.0

Changed

  • SubsetLoadedFonts delmängdsbildar nu säkert inbäddade Type 1 PFB- samt uppdelade binära och hexa PFA-program, behåller rekursiva TrueType-sammansatta beroenden och stänger COLR v0/v1-outline-beroenden medan färg-, bitmapp-, variations- och shaping-tabeller bevaras

Version 2.722.0

Added

  • Lade till begränsade lösenords-Callbacks för klassiskt ZIP-krypterade XPS-, EPUB- och CBZ-poster, inklusive per-post-gränser för återförsök, avbrottskontroller, hantering av behörigheter endast i minnet och fail-closed-avvisning av otillgänglig, ogiltig eller ej stödd kryptering

Version 2.721.0

Changed

  • DownsampleLoadedImages storleksändrar nu stödda 8-bitars Separation- och DeviceN-bildsamplingar direkt i komponentrymdet och bevarar den ursprungliga färgrymdsgrafen, tint-transformen, färgämnena, /Decode-intervallen och övertryckssemantiken över sparning och omläsning

Version 2.720.0

Added

  • Lade till begränsade inbyggda igenkänningsöverlagringar för högkontrastig versal ASCII-OCR, horisontell Code 39 och rena axeljusterade QR version 1 byte-mode-symboler, vilket möjliggör sökbara textlager och streckkodsläsning av inlästa sidor utan en anroparlevererad motor, medan tvetydig eller ej stödd inmatning fail-closed

Version 2.719.0

Added

  • Lade till begränsad JPEG 2000-förfining efter upplösning och kvalitetslager via THPDFJpeg2000Decoder.LoadProgressiveFromByteArray, plus flerskiktskodning via TJpeg2000Bitmap.QualityLayers, med identiska slutpixlar för LRCP-, RLCP-, RPCL-, PCRL- och CPRL-progressionsordningar

Version 2.718.0

Changed

  • Inbäddade kompletta UniJIS-, UniGB-, UniCNS- och UniKS UCS2- och UTF16 horisontella och vertikala CMaps, inklusive tilläggsskalärer och standardvertikalvärden, så att CJK-textextraktion och geometri inte längre beror på externa Unicode-mappningsfiler eller halva-em-gissningar

Version 2.717.0

Added

  • Lade till explicita linjäriserade shared-object-beroendeintervall och en intervallankomst-omritningsschemaläggare så att sidor kan måla innan alla valfria beroenden anlänt och ritar om exakt när nyanländ data ändrar resultatet

Version 2.716.0

Added

  • Lade till begränsad objektgraf-reparation för åtgärdsbara xref-, trailer-, katalog-, sidträd- och namnträds-preflightfynd med validerad transaktionscommit och komplett rollback vid osäker eller tvetydig inmatning

Version 2.715.0

Added

  • Lade till PDF 2.0-krypterade nyttolastwrappers vars synliga dokumentinnehåll förblir läsbart före autentisering medan inbäddade filnamn, beskrivningar och byte förblir skyddade tills en explicit lösenordsupplåsning

Version 2.714.0

Changed

  • Inläst-sida-SVG-exporten emitterar nu axiella och radiella gradienter, begränsade PNG-representationer av Type 4 till Type 7-mesh-skuggningar och avkodade inline-bilder utan att öka motsvarande hoppa-över-räknare

Version 2.713.0

Changed

  • OpenType SVG-färgglyfer använder nu den begränsade Form XObject-pipelinen för bågar, vektorgradienter, opacitet, geometriska masker och lokal #id-återanvändning medan skript, externa resurser, bilder och ej stött aktivt innehåll fortfarande avvisas

Version 2.712.0

Changed

  • ReplaceLoadedPageText ersätter nu matchningar som spänner över TJ-strängposter och arrayer via span av glyfkällor medan kerning-nummer, omatchade prefix och suffix, orelaterade operander och den ursprungliga content-stream-strukturen bevaras

Version 2.711.0

Added

  • Lade till CFF FontSet SyntheticBase-upplösning med ärvda Top- och Private DICT-värden, CharStrings, charset, Encoding och Local Subrs, plus deterministisk åsidosättningssemantik och begränsad avvisning av ogiltigt, cykliskt eller alltför djupt arv

Version 2.710.0

Added

  • Lade till deterministiskt begränsat Flate-prediktorval via HPDFSelectFlatePredictor, med fördelade radsamplingar, uppskattad bytekostnad, konfigurerbar CPU-viktning och explicita byte-, rad- och arbetsbudgetar

Version 2.709.0

Added

  • Lade till opt-in inbyggd JBIG2 Huffman-symbolordboks- och textregionsutmatning via THPDFJBIG2Options.UseHuffmanEncoding, inklusive standard DH-, DW-, BMSIZE-, FS-, DS- och DT-tabeller, råa kollektiva bitmappar, symbol-ID-tabeller, deterministisk inbyggd routing och pixel-exakta avkodartur-och-returer medan aritmetiska- och MMR-standardvärden behålls

Version 2.708.0

Changed

  • Cachade arabiska och kombinerade presentation-form-reverse-cmap-mappningar per registrerad typsnittsgeneration, vilket ersätter upprepade U+FB00..U+FDFF- och U+FE70..U+FEFF-skanningar i ApplyArabicGSUBRefinement, ApplyArabicGSUBContextualRefinement och den generiska kontextuella GSUB-sökvägen medan kodpunktsprecedens och formad utmatning bevaras

Version 2.707.0

Added

  • Lade till Aztec 2D-streckkodsencodern (ISO/IEC 24778) via THPDFPage.DrawAztec och den fristående THPDFAztec-enheten: high-level-kodning med dynamisk programmering med lägeslås, skiften och binary-shift-run, bit stuffing, Reed-Solomon-felkorrigering över GF(16) till GF(4096), automatisk kompakt 15x15..27x27 eller full 19x19..143x143-symbolval och tvingad skiktkontroll för fasta symbolstorlekar
  • Lade till vertikal sidtextmontering: THotPDF.ExtractLoadedPageText och range-/ström-aggregerings-API:erna klustrar nu WMode 1-glyfer i kolumner på glyfursprungets X, ordnar kolumnerna höger-till-vänster och går igenom varje kolumn uppifrån och ned i stället för att strimla vertikal CJK-text till per-glyf-rader

Fixed

  • Fixade att parallell bandexport misslyckades med en PNG bandbreddsmismatch på sidor vars pixeldimensioner är fraktionerade (A4 vid 96 DPI): rasterstorleken avrundas nu med Ceil enhetligt med bandskrivarna, så att levererade kakel alltid matchar encoderns bredd

Version 2.706.0

Added

  • Lade till strömmande inläst-sida-PNG-export och bandad flersidig TIFF-export via THotPDF.SaveLoadedPageToPng, SaveLoadedPageToPngStream, SaveLoadedPagesToTiffBanded och SaveLoadedPagesToTiffStreamBanded, som skriver komprimerad bilddata rad för rad genom bandencoders så att mycket stora sidor inte kräver en komplett framebuffer; THPDFBandImageExportInfo rapporterar sid-, band-, rad-, worker-, minnes-, utmatnings-, tids- och avbrottstelemetri

Version 2.705.0

Added

  • Lade till PDF/A-finalisering till de inlästa sparningsvägarna: THotPDF.SaveLoadedDocument och SaveLoadedDocumentToStream validerar nu GTS_PDFA1-OutputIntent (ärvd från källkatalogen eller färskt registrerad) och emitterar pdfaid:part- / pdfaid:conformance-XMP-identifieringen när PDFACompliance är satt, medan ett befintligt pdfaid-paket bevaras byte för byte vid omsparning
  • Lade till konsumtion av vertikalt skrivande (WMode 1) på inläsningssidan: CIDFont /W2- och /DW2-cellmått driver nu textextraktion och sidrendering och vandrar kolumner nedåt längs textrymdens y-axel med v1x/v1y-positioneringsvektorn i stället för horisontella /W-förskjutningar

Version 2.704.0

Added

  • Lade till parallell kakel- och bandrendering av inlästa sidor via THotPDF.RenderLoadedPageTilesParallel och THotPDF.RenderLoadedPageBandsParallel, med radmajor calling-thread-Callbacks, lånade bitmappar, kooperativt avbrott, anroparstyrd in-flight-minnesanvändning, toppminnesadmittans och en begränsad oföränderlig Type 3-glyf- och halftone-screen-cache delad över isolerade renderingskontexter

Version 2.703.0

Added

  • Lade till begränsade CSC multisign-digestbatchar via THPDFCSCSignatureProvider.SignHashBatch, med en hash-pinnad SAD och en signatures/signHash-förfrågan för en ordnad samma-algoritm-batch medan lokala och behörighetsbaserade multisign-gränser, strikt svarskardinalitet, synkron eller asynkron resultatsordning, SHA-256-innehållsadresserade idempotensnycklar och komplett-batch-replay tillämpas

Version 2.702.0

Added

  • Utökade THotPDF.RenewPAdESLTATimestamp med anroparlevererade certifikat-, OCSP- och CRL-bevis som slås samman in i befintlig DSS före den nya RFC 3161-dokumenttidsstämpeln, bevarar varje tidigare revision byte för byte och deduplicerar exakt valideringsströmmar över successiva förnyelser

Version 2.701.0

Added

  • Lade till klausulsadresserbar PAdES baseline- och utökat-profil-preflight via THotPDF.PreflightLoadedPAdES, som rapporterar varje tillämpligt krav med stabilt regel-ID, profil, normativ nivå, standardklausul, PDF-sökväg, objektnummer, signerad eller aktuell revision och godkänt status medan CMS-kardinaliteter, signerarcertifikat-ESS-referenser, signaturordlistebegränsningar, byte-range-täckning, betrodd tid, DSS-bevis och dokumenttidsstämpeltäckning valideras

Version 2.700.0

Added

  • Lade till end-to-end ECDSA-, Ed25519- och Ed448 PFX / PKCS#12-privatnyckelinläsning och CMS-dokumentsignering, inklusive named-curve CNG ECDSA, valfri OpenSSL 3 PureEdDSA, RFC 8410-nyckelavkodning, RFC 8419 digest- och parameterregler, SHAKE256 med 512-bitars utmatning för Ed448, automatiskt nyckelalgoritmval och strikt certifikat-till-nyckel-parning

Version 2.699.0

Added

  • Lade till deterministiskt fler-identiteter PFX / PKCS#12-behörighetsval via HPDFEnumeratePFXIdentities, HPDFParsePFXByLocalKeyID och THPDFCMSSignOptions.PFXLocalKeyID, inklusive strikt envärdes localKeyId- och friendlyName-bag-attribut, publiknyckelparning, rekursiva safe-content-bags, begränsad tvetydighets- och cykeldiagnostik samt automatisk inbäddning av matchande intermediat- och rotcertifikatkedja med exakt DER-deduplicering

Version 2.698.0

Added

  • Utökade in-process PFX / PKCS#12 PBES2-dekryptering med AES-128-CBC och AES-192-CBC plus PBKDF2 HMAC-SHA-384- och HMAC-SHA-512-PRF:er, inklusive chifferspecifik valfri keyLength-validering och begränsade salt-, iterations-, IV- och padding-kontroller medan AES-256-CBC- och HMAC-SHA-1 / SHA-256-kompatibilitet behålls

Version 2.697.0

Added

  • Lade till specifikationsefterföljande XPS- och OpenXPS Canvas FixedPage.NavigateUri-arv så att underordnade Path-, Glyphs- och nästlade Canvas-visualer får den avgränsade URI:n om de inte åsidosätter den, med bevarande av externa, e-post-, paketsida- och procentavkodade LinkTarget-åtgärder genom transformeringar, nästlade klipp, isolerade opacitetsgrupper, återanvändbar-visual-undertryckning, återställning efter nästlade åsidosättanden samt befintliga länk-, URI-, avbrotts- och osäkra-scheme-gränser

Version 2.696.0

Added

  • Lade till begränsade inbyggda XPS- och OpenXPS Canvas-transparensgrupper så att Opacity- och solida, gradient- eller bild-Canvas.OpacityMask-värden komponerar överlappande underordnade visualer en gång genom isolerade DeviceRGB Form XObjects, med ihopfällad enhetlig alfa, delade variabel-alfa-soft masks, nästlade grupper, transformerade klipp, resursöverföring, bevarade länkar och fail-closed för felaktigt, ej stött, singulärt eller överdimensionerat innehåll

Version 2.695.0

Added

  • Lade till begränsad inbyggd XPS- och OpenXPS Canvas.Clip-konvertering för förkortad geometri, lokala eller externa StaticResource PathGeometry-värden, direkta egenskapselement, strukturerade linje-, Bézier-, kvadratiska- och bågfigurer, geometritransformeringar, tomma klipp och nästlad EvenOdd- eller NonZero-klippning via PDF W* eller W, med klippta navigeringsgränser, tolkningsgränser på 100,000-värden och fail-closed för felaktiga eller singulära transformeringar

Version 2.694.0

Added

  • Lade till begränsad inbyggd XPS- och OpenXPS-navigering för transformerade Path- och Glyphs-visualer, som bevarar HTTP-, HTTPS- och e-postlänkar som PDF URI-annoteringar och löser paketrelativa sidor plus procentavkodade LinkTarget-fragment som framåt- eller bakåtriktade PDF GoTo-åtgärder efter att alla sidor finns, med måttmedvetna klickgränser, gränser på 65,536-länkar och 8,192-tecken, VisualBrush-fångstundertryckning, avbrott och fail-closed osäkra-scheme-diagnostik

Version 2.693.0

Added

  • Lade till begränsad inbyggd XPS- och OpenXPS VisualBrush-konvertering för inline- eller resursbaserade Canvas-, Path- och Glyphs-visualer, hierarkisk och fjärr ResourceDictionary-uppslagning, absolut Viewbox, absolut eller relativ Viewport, None-, Tile- och reflekterade kakellägen, transformeringar, opacitet, återanvändbara Form XObjects, delade kakelmönster, tokenmedveten resursöverföring och fail-closed för cykel-, felaktig-inmatnings-, rekursions-, innehålls-, cache- och placeringsbudgetar

Version 2.692.0

Added

  • Lade till inbyggd XPS- och OpenXPS paket-typsnittsinbäddning för TrueType- och OpenType-program, TTC-medlemsfragment, GUID-fördunklade resurser, direkta eller cmap-härledda glyf-ID:n, en-till-många-Unicode-kluster, explicita advances och offsets, breddkorrekta RTL-ursprung, delade typsnittsresurser, inbäddnings- och no-subsetting-rättigheter, valfri glyfdelmängdsbildning, begränsade ToUnicode-mappningar och amortiserat linjär positionerad-run-utmatning utan GDI-face-substitution

Version 2.691.0

Added

  • Lade till begränsad OpenXPS Glyphs Indices-layout för strikta kluster-kodenhets- och glyfräkningar, explicita hundradelar-av-em-advances, horisontella och vertikala offset, udda BidiLevel-baklängesprogression, solida attribut- eller egenskapselementfyllningar, opacitet, inbyggd PDF TJ-batching, positionerad Unicode-kluster-fallback, bevarad textextraktion, fail-closed felaktig-inmatningsdiagnostik och amortiserat linjära buffertar taklagda vid 65,536 mappningar

Version 2.690.0

Added

  • Lade till OpenXPS Path.OpacityMask-stöd för solida, variabel-alfa-flerstegs linjära och elliptiska radiella gradientmasker samt ordinära, kakelade eller reflekterade PNG ImageBrush-masker genom ihopfällad enhetlig alfa, begränsade inbyggda DeviceGray-transparensgrupper, delade skuggningsmönster och bild-soft-mask-strömmar, fail-closed hantering av ej stött innehåll och den återanvändbara RegisterLuminositySoftMaskState-byggaren med alpha-bildresursbindning

Version 2.689.0

Added

  • Lade till OpenXPS ImageBrush-lägena Tile, FlipX, FlipY och FlipXY genom inbyggda PDF-kakelmönster med en, två eller fyra oberoende klippta placeringar, delade bild- och PNG-soft-mask-resurser, sammansatta fixed-page-, path- och brush-matriser samt det begränsade RegisterImageTilingPattern-API:et för återanvändbara bildbaserade mönster

Version 2.688.0

Added

  • Lade till OpenXPS ImageBrush.Transform-stöd för ändliga sexparameter-attributmatriser och MatrixTransform-egenskapselement, sammanfogade efter inbyggd Path-klippning och före viewport-klippning och bildplacering så att brushen kan rotera, skala, skeva eller translatera utan att ändra dess innehållande vektorgeometri; icke-standard RelativeTransform och olösta matrisresurser förblir explicit diagnostik

Version 2.687.0

Added

  • Lade till matrisstyrd bild-XObject-placering via THPDFPage.ShowImageMatrix och utökad XPS fixed-page-import med paket-JPEG-, PNG-, TIFF- och JPEG XR ImageBrush-fyllningar, absolut eller gränsrelativ Viewbox- och Viewport-mappning, inbyggd path- och enstaka-viewport-klippning, bild- och path-opacitet, PNG soft-mask-alfa, DPI-medveten 96-DPI-storlekssättning, delad avkodad-resurs-cachning och fail-safe-diagnostik för ej stödd kakläggning, transformeringar, färgkonvertering och bildstreck

Version 2.686.0

Changed

  • Lade till återanvändbar begränsad multi-stop radiell gradient-registrering och utökad inbyggd vektor-XPS path-import med egenskapselement-elliptiska RadialGradientBrush-värden, Pad-spread, enhetlig stop-alfa, brush-opacitet, relativ eller absolut mappning av center, origo och radie, inbyggd Type 3 PDF-skuggning och koordinatåterställning som lämnar path-geometrin oförändrad

Version 2.685.0

Changed

  • Utökade ordnad inbyggd vektor-XPS path-import med citationsteckenmedveten och begränsad egenskapselementtolkning, solida och multi-stop linjära gradientbrushar, inbyggda PDF-skuggningsmönster, brush- och stop-alfa, standard relativt-till-gränser eller explicit absoluta gradientkoordinater, stop-interpolation utanför intervallet och fail-safe-diagnostik för ej stödda transformeringar, spridningslägen, färginterpolation, variabel alfa och degenerata axlar

Version 2.684.0

Changed

  • Lade till ordnad inbyggd vektor-XPS path-import med begränsad förkortad geometri, fyllnadsregler, solida RGB- och ARGB-fyllningar och streck, path-opacitet, streckbredd, sexparameter-transformeringar och fail-safe-diagnostik för ej stödda ritfunktioner

Version 2.683.0

Changed

  • Förstärkte PDF/X-6-validering av faktiskt målat innehåll med definitionstids grafiktillstånd för skuggningsmönster, nonstroking-mönster-ExtGState-semantik, fail-closed soft-mask-subtyp- och backdrop-kontroller, exakta Type 3-glyfmått och ärvda-färg-regler, strikt klassificering av kombinerad-färg-alfa, begränsad JPX-färginferens och appearance-medveten annoteringskomposition

Version 2.682.0

Added

  • Lade till producent- och verifikationsstöd för brainpoolP256r1-, brainpoolP384r1- och brainpoolP512r1-ECDSA-signaturer, inklusive den kurvspecifika SHA-2- och SHA3-digestmatrisen, fail-before-provider-signeringsvalidering, strikta named-curve-certifikatparametrar, parameterfria ECDSA-algoritmidentifierare, kanoniska DER-signaturvärden, Windows CNG named-curve-import och deterministisk diagnostik för explicita, avslutande, okända eller felmatchade parametrar

Version 2.681.0

Changed

  • Enade icke-progressiv bitmapp-, direkt-DC-, Form- och display-list-innehållsexekvering genom HPDFInterpretContentTokensDevice och den valfria kompletta IHPDFContentOperatorDevice-utökningen, med en avbrottskontrollpunkt per operator, kompileringstids operatorindex-cachning för operandskanningsfri display-list-replay, publika OperatorCount-mått, bevarad semantisk device-kompatibilitet, korrigerad "-, v- och y-operatorsemantik samt laglig EI-terminatorhantering utan falsk fallback-diagnostik

Version 2.680.0

Added

  • Lade till begränsade transaktionella RepairPDFA4-överlagringar med typade alternativ, detaljerade reparationsrapporter, delad fyndproveniens, säker PDF 2.0-normalisering av rubrik, trailer-ID, metadata, Catalog och presentation, namnrymdsmedveten PDF/A-identifikationsreparation, konfigurerbar partiell eller full-conformance-commit-policy, felregressionsdetektering, byte-exakt graf- och XMP-rollback samt en strikt gräns som bevarar sidinnehåll, typsnitt, färg, transparens, bilder, grafikoperatorer och extraherad text

Version 2.679.0

Added

  • Lade till PDF/X-6-validering av faktiskt målat innehåll med valbara ISO 15930-9:2020- eller upplösta-errata 2025-regler, faktiska ICC-rubrik- och kanalkontroller, resursmedveten traversering av innehållsarrayer, Form XObjects, kakel- och skuggningsmönster, bilder, Type 3-glyfer, soft masks och annoteringsutseenden, övertrycksläge- och kombinerad-färg-transparensdiagnostik, stabil regelproveniens samt begränsat avkodat-byte-, token-, objekt-, ärende-, rekursions- och grafiktillståndsarbete

Version 2.678.0

Added

  • Fördjupade begränsad PDF/A-4-validering med cachade ICC-rubrik- och komponentkontroller, dokument- och sidoutput-intent-konsistens, analys av faktiskt målad enhetsfärg och transparens över innehållsarrayer, nästlade Form XObjects, bilder, bildmasker, skuggningar och annoteringsutseenden, ärvda grafiktillstånd, renderingstypsnittsinbäddning, CIDFont- och CMap-relationer, strikta annoteringsflaggor och utseendetillstånd, UTF-8 XMP-paket- och namnrymdsvalidering, logiska sidträdsplatser, stabil klausulmedveten diagnostik samt konfigurerbara tak för avkodade byte och innehållstokens

Version 2.677.0

Added

  • Fullföljde begränsad PDF/UA-2-validering av dokument, mänskligt läsbara strängar, valfritt innehåll, annoteringar, AcroForm, strukturdestinationer, outline, inbäddade filer och nästlade sidetiketter, inklusive fysiskt ParentTree-ägande, skalära strukturunderordnade, appearance-strömbegränsningar, namnrymds-URI-baserade XMP-egenskaper, detektering av Unicode private use och klausulmedveten diagnostik; strukturerad HTML-, XHTML-, XML- och JSON-export delar nu en taggad-först tillgänglig läsningsmodell med språk, titel, navigering, sidetiketter, säkra länkar, annoteringar, icke-känsliga formulärkontroller, marked-content-ersättningar, artefakter, bildalternativ, geometrisk fallback, oberoende gränser, avbrott och atomisk publicering

Version 2.676.0

Added

  • Lade till begränsad minimal byte-range-planering för varje sida i ett linjäriserat PDF via PlanProgressiveLinearizedPageRanges, med rå och Flate primär- eller spillhint-avkodning, interoperabla bytejusterade kombinerade och Annex F kontinuerliga split hint-layouter, exakta bootstrap-, sid- och shared-group-beroenden samt LF- eller CRLF-prefixerade traditionella eller ström-korsreferensberoenden, laglig short-read-ackumulering, ett standard planner-minnestak på 256 MiB med fail-closed kodningsavtvetydighet, överlappsmedveten sammanslagning, strikta strukturella korskontroller, typade gränser och tillgänglighetsdiagnostik samt en enhetlig [0, /E)-förstasidessökväg

Version 2.675.0

Added

  • Lade till oberoende standardföljande crypt-filter-policyer för strängar, normala strömmar och inbäddade filer via ConfigureCryptFilterDefaults och SetStreamCryptFilter, inklusive lösenords- och publiknyckelreserverade filter, /Identity, skrivarkorrekt lösenordssäkerhets-/EFF och inledande /Crypt-pipelines, fail-closed publiknyckel-strömspecifika mottagargränser, kasuskänslig extern named-filter-inläsning och inspektion, /CFM /None, V2-nyckellängdsrapportering, blandad-policy Direct File-fallback, delad objektströmcontainer- och medlemssträngpolicy samt policybevarande krypterade inkrementella uppdateringar

Version 2.674.0

Added

  • Lade till behörighetsbevarande Standard- och publiknyckelkrypterade inkrementella uppdateringar via en lösenordsmedveten BeginIncrementalUpdate-överlagring och tilldelat mottagarnyckelmaterial, med säkert kvarhållna filnycklar eller FEK:er, separata sträng-, ström-, metadata- och Identity crypt-filter-policyer, generationsmedveten äldre objektnyckelhärledning, exakta ärvda /Encrypt-referenser, byteidentiska källrevisioner, ursprunglig användar-, ägar- eller mottagaråtkomst samt fail-closed-avvisning av krypteringsändringar eller ej stödda heterogena filter

Version 2.673.0

Security

  • Lade till begränsad JBIG2-segmentgrafvalidering före hel-sida-, region-, inbyggd- eller extern avkodning och före global-ordboksdelning, med indexerade dubblett- och saknadsreferenskontroller, iterativ cykel- och beroendedjupdetektering, verkställande av inbäddad ströms sidaassociation, avvisning av förbjudna segment, budgetar för långa referenser och aggregatkanter, symbolordboksallokeringsvakter och exakt feltelemetri

Version 2.672.0

Added

  • Lade till PAdES E-EPES signature-policy-identifier-generering och strikt validering med explicita policy-OID:er, kända eller ETSI-okända hashar, SPuri-, SPUserNotice- och SPDocSpecification-kvalificerare, begränsad Unicode- och samlingstolkning, policydokument-hashning, primärsignerar-OID- och hash-pinning före kryptografiskt arbete, dedikerade mismatch-statusar och komplett JSON-rapportering

Version 2.671.0

Added

  • Lade till deterministiska RFC 5652-containrar med upp till 256 oberoende primära SignerInfo-poster via HPDFCMSBuildMultiSignedData och HPDFCMSMergeSignedData, inklusive helbatch-förvalidering före signerarbieffekter, per-signerar attribut, algoritmer, certifikat och leverantörer, strikt definite-length-containervalidering, DER-sorterade och deduplicerade mängder, oberoende verifieringsresultat, enkel-signerar-bytekompatibilitet och bieffektfri aggregerad platshållarstorleksbestämning

Version 2.670.0

Added

  • Lade till valfria RFC 5652 SubjectKeyIdentifier-signeraridentiteter via THPDFCMSSignOptions.SignerIdentifier, inklusive kompakt IMPLICIT SID-kodning, automatisk SignerInfo- och SignedData-versionsval, strikt X.509-tilläggsextraktion, leverantörs- och platshållarstorleksstöd samt fail-closed SID-, certifikat- och versionsmatchning under verifiering

Version 2.669.0

Security

  • Lade till fail-fast CMS digest-algoritm-konsistensdiagnostik över SignedData.digestAlgorithms, SignerInfo, signaturmekanismparametrar och RFC 6211 CMSAlgorithmProtection, med dedikerad verifieringsstatus, valideringsfelkod, tidsstämpelpropagering, detaljerade ärendeorsaker och JSON-utmatning

Version 2.668.0

Added

  • Lade till SHA3-256-, SHA3-384- och SHA3-512-generering och -verifiering över fristående CMS, RSA PKCS#1 v1.5, RSA-PSS, ECDSA-leverantörskontrakt, RFC 3161-innehålls- och signaturtidsstämplar, PAdES-LTA-förnyelse, Seed Value-ordlistor och ISO 32001 PDF 2.0-deklarationer av utvecklartillägg, med begränsad engångs byte-range-hashning delad med matchande PDF MAC-policyer

Version 2.667.0

Added

  • Lade till THotPDF.ValidatePDFMACChain med äldst-till-nyast inkrementell revisionsvalidering, kumulativ klassisk eller xref-ström-indexering, exakta revisions- och xref-felplatser, historisk MAC-ersättningsdetektering, stabil KDFSalt-tillämpning, avvisning av digest-styrka-nedgradering, autentiserade /P- och /Perms-kontroller, preflight-rapportering och begränsad revisionstolkning utan temporära PDF-kopior

Version 2.666.0

Added

  • Lade till THotPDF.SignPDFWithPFXAndAttachedPDFMAC och signaturbifogad validering med direkt aktiv-trailer-AuthCode, indirekt SigObjRef, komplett signerad-revision-täckning, rå signaturvärde-digestbindning, SHA-2- eller SHA-3 PDF MAC-policyer, engångs signering- och MAC-intervallhashning, preflight-rapportering och atomisk utmatningsersättning

Version 2.665.0

Fixed

  • Korrigerade THotPDF.RegisterNChannelColorSpace för att emittera ISO 32000-2 fem-element DeviceN-form med /Subtype /NChannel och processkomponent-metadata, höjde dess minsta PDF-version till 1.6 och lät luminositets-soft masks lösa NChannel-färg via dess alternativa färgrymd med bibehållen läskompatibilitet med äldre /NChannel-familjetokens

Version 2.664.0

Added

  • Fullföljde PDF-blandningslägesrendering med heltals hot-path-implementationer för Hue, Saturation, Color och Luminosity, samt korrigerade full-opacitet-snabbsökvägen så att varje aktiv separabel eller icke-separabel blandningsläge komponerar mot sin bakgrund

Version 2.663.0

Security

  • Autentiserade PKCS#12-containrar innan krypterat safe-innehåll exponeras genom att verifiera valfri yttre MacData med begränsade PKCS#12 KDF-iterationer, SHA-1- eller SHA-256-HMAC, konstanttids-digestjämförelse samt fail-closed fel-lösenords- och manipuleringshantering

Version 2.662.0

Added

  • Lade till tre HotPDFCLI-kommandon: render rasteriserar varje vald sida till <prefix>-page<N>.png genom den inlästa sidans bitmappspipeline (--pages-intervall, --dpi 10..2400, standard 150), tables extraherar typade tabeller till CSV eller JSON via ExportLoadedTypedTables (--json, -o fil eller konsol) och compare skriver ut JSON-jämförelserapporten av två dokument via HPDFDocCompareDocuments (--mode 0..5 som täcker sidantal, sidtext, objektantal, renderad bild, full och strukturell)

Fixed

  • Fixade att Win64 ICC-transformpipelinen producerade allnoll-utmatning från 8-bitars batchtransformeringar (TransformBytes): den optimerade 1D-LUT-sökvägen inuti Win64 lcms2-objekten returnerar nollor medan den generiska resampling-pipelinen är korrekt, så 8-bitarstransformeringen byggs nu med cmsFLAGS_NOOPTIMIZE endast på Win64; 16-bitars enfärgssökvägen och alla Win32-transformeringar behåller den optimerade snabbsökvägen (batch-sRGB-primärer gör nu tur och retur på båda plattformarna)

Version 2.661.0

Added

  • Lade till äkta budgeterad Zopfli högkvots-Flate-komprimering efter den befintliga fyra-strategi zlib-basen, med strikt ingen-tillväxt-val, gränser för inmatning, iteration, block, utmatning och förfluten tid, detaljerad ström- och parallellbildstelemetri samt deterministiska fast corpus-besparingsgrindar

Version 2.660.0

Added

  • Lade till deterministiska maskinläsbara XML-preflight-rapporter och ABI-versionerade betrodda plugins för funktionsextraktion och anpassade valideringsregler, med stabil ordning, policy-paketintegration, avbrottspropagering, fail-closed-förmågekontroller och ändliga budgetar för plugins, fynd, funktioner, strängar, utmatning och förfluten tid

Version 2.659.0

Added

  • Utökade begränsad XFA FormCalc med villkorslogik, upprepade numeriska aggregat och validerade dynamiska-instans-Callbacks, och lade till som standard avstängda sandlådeisolerade QuickJS-formulärskript med fullständigt kontrollflöde, inbyggda typade arrayer, isolerad dataåtkomst, ändliga instruktions-, tids-, minnes-, stack-, värde- och instansoperationsbudgetar samt exekveringstelemetri

Version 2.658.0

Added

  • Lade till begränsade redigerbara XFA-paket-DOM:er för kompletta XDP-strömmar och ordnade paketarrayer med local-name-sökvägsfrågor, paket- och nodmutation, exakt bevarande av orörda byte, per-paket selektiv omskrivning, deterministisk namnrymds- och attribututmatning, säker CDATA-delning, entity-escaping och ändliga budgetar för inmatning, utmatning, paket, noder, djup, attribut, text och frågor

Version 2.657.0

Added

  • Lade till CSC API v2-fjärrsignering genom den befintliga CMS-leverantörspipelinen med applikationsägd transport, OAuth-tokenförnyelse, begränsad behörighetskedjeupptäckt, explicit auktoriserings- och SAD-hantering, synkron eller asynkron digestsignering, RSA-PSS-parametrar, polling, RFC 3161-tidsstämplar, avbrott, stabila idempotensnycklar och en ändlig komplett-operation-cache

Version 2.656.0

Added

  • Lade till valfria innehållspoängsatta XPS-, EPUB- och CBZ-dokumenthanterare med ersättningsbar trådsäker registrering, en validerad arkivskanning, fast-sida-, rygg- och naturlig bildordning, oföränderlig PDF-konverteringscachning, delade arkiv-, resurs-, reflow-, sid-, pixel-, DPI-, utmatnings- och avbrottsbudgetar samt rollback-säker PDF-publicering

Version 2.655.0

Added

  • Lade till begränsad typad tabellextraktion och atomisk CSV- eller JSON-export med kanoniska kolumner, sammanslagning av samma-sida-fragment och efterföljande sidor, sammanslagna cellspan, upprepade rubriker, sidgeometri, konfidens, proveniens samt lokalkontrollerad heltals-, tal-, boolesk-, datum-, datum-tid-, valuta- och procentinferens

Version 2.654.0

Added

  • Lade till atomisk strukturerad export av inlästa sidor till HTML, XHTML, XML och JSON genom en gemensam läsningsordningsmodell med block, stylade span, detekterade tabeller, koordinater, källordning, valfria begränsade PNG-bilder, Unicode-säker escaping, avbrott och ändliga resursbudgetar

Version 2.653.0

Added

  • Lade till atomisk omskrivning av inlästa sidors färg till DeviceGray, DeviceRGB eller DeviceCMYK med sökbar vektorbevarande, förlustfri färghanterad rasterkonvertering för bilder och komplexa resurser, rotationssäker utmatning, explicit renderingsfidelitet och resursbudgetar samt bevara-, processkonvertera- eller avvisa-policyer för spot-plattor

Version 2.652.0

Added

  • Lade till granskningsförst-detektering av redactions på inlästa sidor med checksummedvetna PII-mönster, pluggbara entitets- och ansiktsdetektorer, konfidenspoängsatta fynd i sidrum, begränsad arbetstelemetri, obligatorisk granskaridentitet, atomisk mellanlagring av godkända annoteringar och en separat, explicit burn-in-gräns

Version 2.651.0

Added

  • Lade till begränsad streckkodsavkodning för inlästa sidor och regioner med pluggbara motorer, progressiv rendering i låg upplösning, fallback-skanningar i kvartsvarv, validerade text- och råa payloads, PDF-rumsgränser och orientering, konfidensfiltrering, överlappsdeduplicering, avbrott och resurstelemetri

Version 2.650.0

Added

  • Lade till begränsade, avbrytbara sökbara OCR-textlager med pluggbara igenkänningsmotorer, konfidens- och geometrivalidering, rotationsjusterad osynlig Unicode-text, gruppering av optional content, resurstelemetri och atomisk publicering över flera sidor

Version 2.649.0

Added

  • Lade till kompletta tur-och-returer för hela objektgrafen genom versionerad JSON med strömmande snapshot- och inkrementella exporter, råa eller avkodade inbäddade och atomära sidecar-payloads, begränsad schemakompatibel import, strukturell och strömlängdsvalidering samt transaktionell publicering

Version 2.648.0

Added

  • Lade till begränsad reparation av handredigerade QDF-diagnostikdokument som bevarar objekt- och strömbyte, fixar direkta, indirekta, saknade eller inaktuella strömlängder, bygger upp klassiska korsreferensoffseter och trailers igen, avvisar osäker struktur och verifierar utmatningen genom den normala inläsaren

Version 2.647.0

Added

  • Lade till ett trådsäkert register för anpassade strömfilter med begränsade push- och pull-kontrakt, delade avkodningsbudgetar, kooperativt avbrott, explicita seek-krav, isolerade anpassade fel och exekveringstelemetri

Version 2.646.0

Added

  • Lade till begränsade visitor- och event-API:er för content-operatorer med skrivskyddade operandvyer, deterministiska tillståndscallbacks, inspect-, measure-, replace-, delete-, stop- och reject-åtgärder, kooperativt avbrott, validerad utmatning och atomiska uppdateringar av inlästa sidor

Version 2.645.0

Added

  • Lade till ett pluggbart kontrakt för renderbackend för inlästa sidor med kompilerad display list-åtkomst, nativ GDI-implementering, trådsäker parallell dispatch, deterministisk fallback-policy, cache-ogiltigförklaring och exekveringstelemetri

Version 2.644.0

Added

  • Lade till begränsad detektering av layoutöverlapp, elementvägar, källmappning på tillvalet, nativa överlägg för vektoröverflöde och överlapp, live-diagnostikcallbacks och arbetsstatistik

Version 2.643.0

Added

  • Lade till nativa begränsade vektordiagram med linje-, stapel-, område-, cirkel- och punktserier, automatiska eller manuella axlar, teman, legends, etiketter, PDF/UA Figure-alternativ och renderingsstatistik

Version 2.642.0

Added

  • Lade till begränsad RichEdit- och RTF-paginering på GUI-tråden med vektor-EMF-utmatning, bilder, tillvalet stödda OLE-presentationer, avbrott, bevarande av strömposition samt explicita budgetar för indata, tecken, sidor och utmatning

Version 2.641.0

Added

  • Lade till begränsad SVG 2-import som återanvändbara PDF Form XObjects med nativ geometri och bågar, CSS-cascade, vektorgradianer, stöd för clip och mask, Base 14-text, opacitetsresurser, placeringsmedvetna länkannoteringar och importstatistik

Version 2.640.0

Added

  • Lade till en versionshanterad HTML5-importprofil för paged media med tolerant DOM-parsning, print-CSS-cascade, paginerad block- och tabellayout, valfria AcroForm-kontroller, begränsade callback-drivna resurser och statistik per operation

Version 2.639.0

Changed

  • Stora lokalfilmappningar anpassar nu den konfigurerade gränsen för mappade byte mellan större sekventiella fönster och upp till 16 mindre MRU-slumpåtkomstfönster, behåller ett explicit alternativ med fast geometri och rapporterar aktiv geometri, övergångar, antal åtkomstmönster och toppvärden för mappade byte

Version 2.638.0

Added

  • Lade till begränsad träning av JBIG2-symboler över sidor med externa och nativa backends, en gemensam global ordlista, exakt återanvändning av dubblettsidor, direkt insättning av PDF-bildbatcher, backend- och storlekenstelemetri samt uppmätta 78,8 procents komprimeringsbesparingar på 100-sidors regressionskorpus

Version 2.637.0

Changed

  • Parallell rendering av inlästa sidor minskar nu antalet begärda workers utifrån den processvida minnesbudgeten, reserverar varje claimad sida, behåller ordnade utmatningsreservationer genom callback-leverans, väcker budgetväntare vid avbrott eller fel och rapporterar samtidighets-, reservations-, admittans-, fördröjnings- och väntetelemetri

Version 2.636.0

Changed

  • Förhämtning av inlästa sidor kompilerar och renderar nu utanför cache-låset, avbryter kooperativt genom tokenisering och uppspelning, lämnar företräde för förgrundssidsrendering och exponerar förlopps-, fel-, preemptions- och avbrottslatenstelemetri

Version 2.635.0

Added

  • Lade till ordnad strömmande parallell sidrendering med callbacks på anropartråden, en begränsad kö av färdiga bitmappar, producer-backpressure, kooperativt avbrott, lånade bitmapslivstider samt kö-, byte-, vänte-, slutförande- och leveranstelemetri

Version 2.634.0

Added

  • Lade till en tvåstegs parallell pipeline för inlästa sidor som kompilerar display lists utanför renderingscachelåset, startar uppspelning innan hela sidmängden är kompilerad, balanserar begränsade workers dynamiskt, bevarar indataordning, minskar allokering av content-token och exponerar steg-, cache-, slutförande- och latenstelemetri

Version 2.633.0

Added

  • Lade till oföränderliga referensräknade handtag för avkodade bitmappar med kopiefria cache-träffar, direkt trådsäker ritning i renderaren, isolerade föränderliga kopior på begäran, evictionsoberoende livstider och kumulativ handtags- och kopieringstelemetri

Version 2.632.0

Changed

  • QuickJS-exekvering fungerar nu genom både statiska objekt och en ABI-neutral brygg-DLL på Win32 och Win64, med Unicode-säkra värden, deterministisk statusrapportering, konfigurerbara gränser för minne, stack, skript, tid och avbrott, säker DLL-upptäckt, återhämtning efter avvisade skript och reproducerbara plattformsoberoende runtime-byggen

Version 2.631.0

Changed

  • Factur-X- och ZUGFeRD-affärsregelvalidering kör nu hela den granskade XPath 2 Schematron-ytan med externa koddatabaser, sekventiella bindningar, kvantifierare, FLWOR-summor, stabila fallback-regelidentifierare, säker begränsad XML-parsning, explicita utvärderingsfelfynd, inga tysta hopp över och fail-closed kombinerad validering

Version 2.630.0

Added

  • Lade till inbyggd instancing av TrueType-variabelteckensnitt med mappade axlar, delade och privata gvar-tupler, IUP-interpolation, enkla och sammansatta konturuppdateringar, phantom-point-mått, bakning av HVAR, VVAR och MVAR, kompakt statisk glyfombyggnad, checksummerkorrekt utmatning och Unicode-teckensnittsregistrering utan callbacks

Version 2.629.0

Added

  • Lade till bieffektfri CMS-platshållarestimering från explicita, provider- eller RSA-certifikatsignaturstorlekar, exakt statisk containershapening, konservativa dynamiska payloadreserver, ombyggnad före signering, kapabilitetsstyrda upprepade providerförsök, strikta garantier om engångsanrop för externa signerare, begränsad storleksbestämning och detaljerad försöksdiagnostik

Version 2.628.0

Added

  • Lade till räckviddsbaserad subsetting av teckensnitt inbäddade i inlästa PDF:er, inklusive sidinnehåll, nästlade Form XObjects, annoteringsutseendetillstånd, delade teckensnittsprogram, TrueType- och CFF-format, val efter kodad storlek, stabila CID- och ToUnicode-mappningar, detaljerade resultat och standardavvisning när signaturer finns

Version 2.627.0

Added

  • Lade till automatisk PDF/UA-strukturgenerering för deklarativa layoutträd, inklusive rubriker, listor, tabeller, figurer, metadata för språk och alternativ text, pagineringsartefakter, fortsättningssäkra marked-content-referenser, bevarande av läsordning, semantisk validering och strukturstatistik

Version 2.626.0

Added

  • Lade till en deklarativ dokument-DOM med ärvbara stilar, återanvändbara komponentfabriker, text, spacers, stackar, containrar, sektioner, upprepade sidhuvuden och sidfötter, viktade tabeller med upprepade rubrikrader, begränsat fortsättningsdjup, pagineringstelemetri, icke-kopierande text- och tabellfragment, linjär traversering på toppnivå, omedelbar sidspolning samt matchande Delphi- och C++Builder-ytor

Version 2.625.0

Added

  • Lade till en repeterbar statistisk prestandagrind för Win32 och Win64 som isolerar inläsning, sparning, rendering och textextraktion, registrerar uppvärmningar och 30 råa sampel med p50, p95, sampelvarians, RSS, process-I/O, miljö och deterministisk fixtureidentitet, och därefter utvärderar stabila JSON-trösklar och returnerar en misslyckad exit-kod vid regression

Version 2.624.0

Changed

  • Omarbetade parsning av enkla ordlistor och arrayer kring oföränderliga källspan, direkt numerisk konvertering, nästlade containrar i ett enda pass och indexerad ordlisteinsättning, med publik materialiseringstelemetri; en Win32-fixture med 30 000 par minskade fem-pass-allokeringsbyte med 64,7 procent och förloptiden från 3 656 ms till 46 ms

Version 2.623.0

Added

  • Lade till konfigurerbara parsergränser för individuella tokenbyte, aggregerade tokens, array- eller ordlisteposter och felformade token, plus en strikt preset för ej betrodd indata, typade gränsexceptioner och per-inläsning-telemetri; regressionsgrindar avvisar en token på 2 MiB och en container med en miljon token på under 250 ms och under en processtopp på 37 MiB

Version 2.622.0

Added

  • Lade till explicita API:er för frigivning av inlästa sidors objektgraf med telemetri, som kasserar rena sidägda rötter och renderingscachar medan indirekta delade resurser och omladdningsmetadata bevaras; sekventiell bearbetning av 100 000 sidor stannar på en stabil topp på 69,3 MiB, och frigivna vanliga eller komprimerade sidor materialiseras igen med sin ursprungliga objektidentitet

Version 2.621.0

Changed

  • Avkodade objektströmcontainrar använder nu en konfigurerbar, bytebegränsad LRU-cache med omedelbar per-container-eviction, källbaserad omladdning efter eviction, ett zero-retention-läge samt toppbyte-, eviction- och omladdningstelemetri

Version 2.620.0

Changed

  • Stora vanliga sidträd öppnas nu som kompakta platshållare, slår upp godtyckliga sidor genom /Count-styrd traversering och ett hashindex för indirekta objekt, cachar upplösta sidor, exponerar materialiseringstelemetri och kontroller och expanderar automatiskt före strukturell mutation eller sparoperationer

Version 2.619.0

Changed

  • Inlästa AcroForm-fält, kvalificerade namn, widgetar, annoteringar och sidor delar nu en lat tvåvägs relationscache med omvänd annoteringssökning, per-widget-sidsökning, aktivitetstelemetri, explicit ogiltigförklaring för råa objektgraferedigeringar och mutationssäkert automatiskt underhåll

Version 2.618.0

Changed

  • Sidobjektuppslag använder nu ett lat återuppbyggt, mutationsmedvetet omvänt index för objektnummer och upplösta sidpekare, vilket ersätter upprepade sidtabellgenomskanningar över sidkopiering, dispositioner, namngivna destinationer, åtgärder, formulär, tillgänglighet och sidträdesavstämning, samtidigt som validitets- och aktivitetstelemetri exponeras

Version 2.617.0

Changed

  • Jämförelse av renderade dokument stöder nu anroparvald DPI, RGB- eller luminansfärgtolerans, förhållande av ändrade pixlar och SSIM-liknande likhetsgrindar, deterministiska sammanhängande ändrade regioner, valfria PNG-skillnadsöverlägg samt fail-closed-sid- och aggregerade pixelbudgetar med tydlig renderingsdiagnostik

Version 2.616.0

Changed

  • Dokumentjämförelse traverserar nu indirekta objektgrafer genom deterministiska katalogbaserade vägar, hashar värden och strömmar inom explicita resursgränser, allignerar sidor innan infogningar, borttagningar, flyttningar och ändringar klassificeras, skiljer flyttade objekt från tillägg och borttag och rapporterar ofullständiga jämförelser i stället för att behandla budgetbegränsade resultat som identiska

Version 2.615.0

Changed

  • Avkodning av inlästa bilder använder nu 16 cache-metadatashards och exakt per-nyckel-singleflight-koordinering, utför oberoende dyra avkodningar samtidigt medan en ägaravkodning bevaras för dubblettbegäranden, verkställer konfigurerade byte- och posterbudgetar över alla shards och exponerar cachade avkodningsingångspunkter plus samtidighetstelemetri; fyra oberoende JPEG-begäranden på 12 000 pixlar skalar 3,72 gånger på fyra Win64-workers, medan åtta begäranden med samma nyckel avkodas en gång

Version 2.614.0

Changed

  • Rendering av lågupplösta gråskale- och RGB-JPEG:er väljer nu en begränsad invers-DCT-skala 1/2, 1/4 eller 1/8, strömmar skalade skanningslinjer genom en fixpunktsresampler direkt in i den exakta målbitmappen, bevarar avkodningsbudgetar, avbrott och codec-worker-isolering och exponerar käll-, skalnings-, mål-, skanningslinje- och minnestelemetri genom GetLastJPEGReducedDecodeInfo; regressionsfixturen 12 000 x 12 000 till 300 x 300 körs 24,05 gånger snabbare än full avkodning utan att allokera sitt 432 MB-källraster

Version 2.613.0

Changed

  • Inlästa sidors /Contents-arrayer exponerar nu en lat, sökbar sammanfogad ström, behåller ofiltrerade segment i källbaserad lagring, avkodar högst ett filtrerat segment i taget, använder amortiserat linjär token- och byteackumulering, bevarar ursprungliga strömmar vid redigering genom att lägga till ett nytt segment och håller en sekvens på 1 GiB med 10 000 segment under 64 MiB extra arbetsminne

Version 2.612.0

Changed

  • Inkrementella uppdateringar håller nu källfilen skrivlåst och filbaserad i stället för att behålla kompletta källbyte, besöker och emitterar bara ändrade, nya och borttagna objekt i glesa xref-sektioner, strömmar det ursprungliga prefixet till ett nytt mål och lägger till direkt med rollback för sparining till samma mål; en 4 GiB-revision med ett objekt stannar inom 128 MiB extra arbetsminne

Version 2.611.0

Added

  • Lade till en begränsad dokumentomfattande cache för avkodare av inlästa teckensnitt med 32 MiB- och 128-posters LRU-gräns, singleflight-parse-återanvändning över sidor, inläst textextraktion, SVG-export och textersättning, oberoende deep-copy-resultat från GetLoadedFontDecoder, konfigurerbar minnesbudget och telemetri-API:er samt automatisk ogiltigförklaring av graf-, sid-, omladdnings-, JSON Patch- och CMap-konfiguration; upprepad användning av ett delat indirekt teckensnitt parsar nu dess encoding, widths, ToUnicode, CIDToGIDMap och ättlingsmappningar bara en gång medan det är kvarhållet

Version 2.610.0

Changed

  • Snabbade upp sidimport och objektgraftning genom att ersätta den linjära, exakt omskalade uppslagsarrayen för främmande objekt med en operationsomfattande potens-av-två-öppen-adresserad karta nycklad på källdokument, objektnummer och generation; delade indirekta objekt och cykliska grafer behåller sin befintliga identitetssemantik över batchimporter, medan stora objektgrafer nu använder amortiserad konstant tidsregistrering och förväntat konstant tidsuppslag

Version 2.609.0

Changed

  • Förbättrade SVG-sidexportens trohet: direkta grafiktillståndsoperatorer w, J, j, M och d bevarar nu linjebredd, namngivna cap- och join-stilar, miter-gränser, dash-array:er och dash-fas; q/Q återställer dessa attribut över nästlat innehåll och Form XObjects; even-odd-målningsoperatorerna f*, B* och b* emitterar fill-rule="evenodd"; PDF-hårfina linjer med noll bredd förblir synliga genom icke-skalerande SVG-streck

Version 2.608.0

Added

  • Lade till QuickJS statiska länkningsinfrastruktur: Lib/HPDFQuickJSStatic.pas länkar de fem QuickJS-OMF-objekten (byggda med bcc32c från patchade källor) genom {'$L'}-direktiv — inget DLL-beroende — och deklarerar hela C-runtime-ytan (47 symboler: msvcrt C99-matematik, Borland 64-bitars aritmetik, storleksneutrala atomära stubbar, pthread-stubbar); thirdparty/QuickJS/build-static.bat automatiserar patcha-och-kompilera-pipelinen. Känd begränsning: JS_NewRuntime lyckas, men JS_NewContext träffar en access violation eftersom borttagningen av _Atomic ändrar initieringsordningen i strukturen; DLL-bygget från v2.607.0 förblir den fungerande utvärderingsvägen

Version 2.607.0

Added

  • Lade till DataMatrix 2D-streckkodsgenerering (Lib/HPDFDataMatrix.pas): ASCII-lägeskodning med sifferparskomprimering, Reed-Solomon-ECC över GF(256) med DataMatrix primpolynom $12D, kvadratstorlekar 10x10 till 144x144, kodordsplacering i växlande riktning och det L-formade findermönstret; THPDFPage.DrawDataMatrix renderar den kodade matrisen som ett rutnät av fyllda modulkvadrater
  • Lade till staplad PDF417 2D-streckkodsgenerering (Lib/HPDFPDF417.pas): textlägeskodning med bas-30-teckenparning, Reed-Solomon-ECC över GF(929) med primitiv 3, symbolbeskrivarkodning samt rad-/kolumnlayout med start-/stoppmönster; THPDFPage.DrawPDF417 renderar kodordsmatrisen
  • Lade till QuickJS-bindningen för JavaScript-motorn (Lib/HPDFQuickJS.pas plus förbyggda Win32/Win64 quickjs.dll under thirdparty/QuickJS/bin/): dynamisk DLL-laddning, runtime+context-livscykel och utvärderings-API-ytan (Eval/EvalInt/EvalFloat); Eval-kodvägen har en känd Win32-startkrasch när den länkas in i en applikation och är dokumenterad för uppföljande utredning
  • Lade till arkitekturextraktionsmålet THPDFWriter (Lib/HPDFWriter.pas): xref-postregister (free/used/compressed), klassisk xref-tabellserialisator och trailerordlistebyggare som THotPDF-sparvägen delegerar till inkrementellt

Version 2.606.0

Added

  • Lade till två HotPDFCLI-kommandon: decrypt läser in en krypterad PDF med angivet lösenord, dekrypterar den via DecryptLoadedDocument och sparar en okrypterad kopia (-o utmatningsväg, standard <input>-decrypted.pdf) och optimize komprimerar om varje ström med FlateDecode via CompressLoadedDocument (-o utmatningsväg, standard <input>-optimized.pdf, vägrar krypterad indata)

Version 2.605.0

Added

  • Lade till QR Code-generering i 2D: den nya Lib/HPDFQRCode.pas implementerar en komplett QR-encoder (numeriskt, alfanumeriskt och byte-kodningsläge; Reed-Solomon-felkorrigering över GF(256); versionerna 1-40 med alla fyra EC-nivåerna L/M/Q/H; alla åtta maskmönster med penalty-utvärdering; korrekt modulplacering inklusive finder-, timing-, alignment-, format info- och version info-mönstren). Metoden THPDFPage.DrawQRCode renderar den kodade matrisen som ett rutnät av fyllda modulkvadrater på valfri skrivsida (ModuleSize i punkter, konfigurerbar EC-nivå och färg)

Version 2.604.0

Added

  • Lade till en fullständig MacExpertEncoding-avkodningstabell: den 128 byte stora höga hälften mappar nu expertglyfer (kapitäler, gammaldags siffror, över- och underställda siffror, bråk, typografiska symboler) till närmaste Unicode-kodpunkt eller Private Use Area-surrogat, vilket ersätter den tidigare rå-byte-identitetsfallbacken som gav förvrängd utmatning för dokument med expertkodade Type 1-teckensnitt

Version 2.603.0

Fixed

  • Fixade ett länge flakigt fel i ConcurrentObjStmDecryptionMatchesSerial: den globala FRevision var inaktuell efter att aes256 nedgraderats till aes128 under standardversionen PDF 1.6, vilket styrde CreateKeys fel in i V5-grenen som aldrig fyller de äldre /O- och /U-lösenordshasharna — den serialiserade krypteringsordlistan bar då tomma eller inaktuella lösenordssträngar och filen gick inte att öppna. Fixen härleder FRevision igen från den nedgraderade FCryptKeyType vid både sättaren och de två versionsförhandlingsplatserna, och den äldre ordlistegrenen kastar nu en tydlig diagnos när lösenordssträngarna inte är exakt 32 byte

Added

  • Lade till HotPDFCLI-kommandot html: renderar en begränsad HTML-fil (h1-h6, p, ul, ol, hr, inline-markering) till en PDF via HPDFRenderHTMLDocument

Version 2.602.0

Added

  • Lade till blocknivå-HTML-import: THPDFHTMLImporter (och bekvämlighetswrappern HPDFRenderHTMLDocument) renderar en begränsad HTML-delmängd på ett dokument som håller på att skrivas — h1-h6-rubriker med storlek per nivå, p-stycken (bar brödtext blir implicita stycken), ul/ol-listor med indenterade li-poster (punkt eller 1.-numrering), hr-linjer, automatiska sidbrytningar vid nederkantsmarginalen och webbläsarliknande återhämtning för ostängda p/li-block; head/script/style-regioner hoppas över och containertaggar passeras transparent. Inline-markering (b/i/u/font/a/sub/sup, entiteter, radbrytning av ord) delegeras till den befintliga TextOutHTML-renderaren, så att block hålls ihop inom en sida; tabeller, bilder, CSS och nästlade listor ligger utanför scope

Version 2.601.0

Added

  • Lade till tre HotPDFCLI-kommandon: merge bifogar varje sida från extra indata till det första dokumentet och sparar den sammanslagna filen (-o utmatningsväg, minst två indata, kollision mellan utdata och indata bevakas), split skriver varje vald sida i ett dokument till sin egen ensidiga fil (<prefix>-page<N>.pdf, --pages ettbaserat intervall, standardprefix från indatavägen) och export-svg skriver SVG-exporten av varje vald sida (<prefix>-page<N>.svg, standardsida 1)

Version 2.600.0

Added

  • Lade till SVG-sidexport: BuildLoadedPageSVG returnerar ett fristående SVG 1.1-dokument för valfri inlästad sida och SaveLoadedPageAsSVG skriver det till disk; banor (fill/stroke/fill-and-stroke-målningsoperatorer med DeviceRGB-färgerna), textkörningar (per tecken positionerade <text>-element som använder samma font-decode-fallback-kedja som textextraktion, med hänsyn till Tf/Tc/Tw/Tz/Ts och textmatrisen inkl. rotation och skalning), bild-XObjects (avkodade och inbäddade som base64 PNG data URIs mappade genom CTM:ns enhetskvadrat) och Form XObjects (rekursiv tolkning med formmatrisen och egna /Resources) exporteras, och /Rotate 90/180/270-sidor exporteras i den roterade canvas-geometrin
  • Kända begränsningar ärvda från den gemensamma content-stream-device-dispatchern: ingen W/W*-klippning, inga sh-shadings, inga Type 3-teckensnitt, inline-bilder rapporterar bara metadata, och ExtGState-stödda streckparametrar (LW/LC/LJ/ca/CA) hedras medan de enkla w/J/j/d-operatorerna inte dispatchas

Version 2.599.0

Added

  • Lade till kommandoradsverktyget HotPDFCLI (tools/HotPDFCLI): ett front end för konsolen med tre kommandon — info (PDF-version, sidantal och första sidans storlek, krypteringsmetod, linearisering och xref-struktur, räknare för annoteringar/teckensnitt/bilder/formulär/signaturer, Info-metadata), extract-text (ettbaserade --pages-intervall, filutmatning via --out, --layout-monospace-rutnätsläge som matchar visuell läsordning) och verify (status per signaturfält, signerare, skäl, hash, signeringstid, täckning av hela dokumentet och certifikattillstånd, icke-noll-exit när någon signatur misslyckas); Build-HotPDFCLI.bat producerar Win32- och Win64-binärer

Version 2.598.0

Added

  • Lade till SetRenditionMediaPlayParameters: bifogar eller uppdaterar en medieuppspelnings ordlista /P för uppspelningsparametrar med must-honour-/MH- eller best-effort-/BE-mål som bär volymprocent, kontrollers synlighet, autoplay-flagga, fit mode (meet/slice/fill/scroll/hidden), upprepningsantal och en längd som intrinsisk, oändlig eller explicit timespan
  • Lade till SetRenditionMediaScreenParameters: bifogar eller uppdaterar en medieuppspelnings ordlista /SP för skärmparametrar (fönstertyp floating/full-screen/hidden/screen-annotation-rektangel, DeviceRGB-bakgrundsfärg, bakgrundsopacitet, monitorindex)
  • Lade till SetSoundAnnotationParameters: skriver om sample-formatet i en ljudannoterings /Sound-ström (frekvens, kanaler, bitar per sample, Raw/Signed/muLaw/ALaw-kodning) bortom de hårdkodade standardvärdena 22050 Hz stereo 16-bit Signed och sätter /Name-ikonen till exempelvis Speaker eller Mic

Version 2.597.0

Added

  • Lade till SetMovieAnnotationParameters: åsidosätter en filmannoterings /Movie-ordlista (aspect-par, rotation 0/90/180/270, längd i sekunder, postervisning) som AddMovieAnnotation skapat med sina hårdkodade standardvärden
  • Lade till SetRichMediaPresentation: fyller RichMedia-annoteringens /RichMediaSettings-ordlistor för aktivering, deaktivering och presentation (villkorsnamn som PO page-open, flaggor för toolbar-/navigerings-UI/kontextklick/transparens); ett tomt villkorsnamn utelämnar motsvarande ordlista
  • Lade till ResolveIndirectObject på THotPDF: slår upp de indirekta referenser som författarsidan lagrar inuti skrivna ordlistor, så att anropare kan navigera i nybyggda objektträd; AddRichMediaAnnotation registrerar nu också sin annotering i LastAnnotation

Version 2.596.0

Added

  • Lade till live-upptäckt av revokeringsbevis: certifikatparsaren läser nu URI-tilläggen AIA OCSP responder och CRLDistributionPoints, HPDFExtractCertificateRevocationURLs exponerar dem per certifikat, och HPDFCollectCMSRevocationRequests gör om dem till bevisbegäranden (GET pkix-crl per distributionspunkt, POST ocsp-request med en minimal RFC 6960 SHA-256 CertID-kropp byggd från certifikatet och dess issuer, självsignerade certifikat som löser sig som sin egen issuer)
  • Lade till HPDFValidateCMSCertificatePathOnline: samlar in dessa begäranden, utför dem genom anroparens transport över det befintliga retry-/worker-maskineriet (biblioteket öppnar aldrig sockets) och matar varje hämtat OCSP-svar och CRL in i offline-valideraren; misslyckade hämtningar degraderas till offline-bevissemantiken

Version 2.595.0

Added

  • Lade till avkodning av JBIG2-halftonregioner (segmenttyperna 22/23): patternordlistor (typ 16) med MMR- eller aritmetiska kollektiva bitmappar, gråskaliga bitplansstackar i både MMR-form (bytejusterade kedjade plan) och aritmetisk form (en delad MQ-avkodare), rutnätsplacering med 8.8-fixpunktsvektorer och den valfria tomma HSKIP-kartan
  • Lade till fristående JBIG2 generic-refinement-regioner (typerna 42/43, GRTEMPLATE 0/1 med TPGRON) som förfinar den arkiverade bitmappen för ett refererat regionsegment eller sidbufferten
  • Lade till AddPubSecKeyMaterial/ClearPubSecKeyMaterials: ytterligare privata mottagarnycklar som prövas mot varje /Recipients-kuvert när den primära PubSecKeyMaterial inte matchar
  • Lade till testströmbyggarna HPDFJBIG2Codec_EncodeHalftoneRegionTestStream och HPDFJBIG2Codec_EncodeStandaloneRefinementTestStream som täcker de nya segmenttyperna från början till slut

Fixed

  • Fixade inläsning av dokument med publik nyckel och AES-128: den äldre objektgången lämnade FileKey, StringKeyType och StreamKeyType oinitierade efter pubsec-uppdelningen, så att varje objekt avkrypterades med en skräpnyckel (en Win64-inläsning misslyckades rakt av; en Win32-inläsning gav tyst fel klartext)
  • Fixade rundgång för krypterade strängar: chiffertexten serialiseras nu alltid som en hexsträng, eftersom literala strängar normaliserar CR, LF och CRLF till en enda LF och escape-hanteringen kunde vända godtyckliga chifferbyte

Version 2.594.0

Added

  • Lade till inbyggd identitetsapproximation för de fördefinierade CJK UCS2/UTF16-CMaps (UniJIS-UCS2-H, UniGB-UTF16-V och 15 till): HPDFLoadStandardCMapFile svarar från en inbyggd tabell när inga CMap-resurser medföljer på disk, så att Type0-textextraktion inte längre avkodar 2-byte-koder en byte i taget
  • Lade till användargivna JBIG2-Huffmantabeller (segmenttyp 53, Annex B.2-beskrivningsform): den nativa avkodaren parsar tabellsegmenten, och symbolordlistans SDHUFFDH/SDHUFFDW/SDHUFFBMSIZE/SDHUFFAGGINST samt textregionens SBHUFFFS/DS/DT/RDW/RDH/RDX/RDY/RDSIZE-selectorvärde 3 slår upp dem från de refererade segmenten
  • Lade till SetStructureClassMapEntry som registrerar en klassnams delade attributordlista i StructTreeRoot:ens /ClassMap och fullbordar SetStructureElementClass /C-API:t

Fixed

  • Fixade återhämtning av nycklar för publik nyckel med flera mottagare: kuverterna i /Recipients lagrades i en oräknad lista som aliasade en buffert över poster, så att dokument med två eller fler mottagare härledde en fel filnyckel för varje chiffer; kuverterna ägs nu som egna kopior och den äldre SHA-1-vägen hashar orörda kuvertbyte i likhet med AES-256-vägen

Version 2.593.0

Added

  • Lade till rendering av Shading Type 1 (funktionsbaserad): den synliga delen av domänrektangeln delas upp av ett färgfelsdrivet quadtree och varje lövcell målas som två gradienttrianglar med hörnfärger samplade från funktionen med två ingångsvärden, vilket ersätter den tidigare "not sampled"-fallback-diagnostiken
  • Lade till tolerant utvärdering av funktioner med två ingångsvärden: en funktion som bara deklarerar en ingång degenererar till f(x) (konstant i den andra domänkoordinaten) i stället för att misslyckas, så att samplade och exponentiella funktioner bakom en Type 1-shading fortfarande målas

Version 2.592.0

Added

  • Lade till karantän för objektströmmar: en korrupt /Type /ObjStm-container registreras med en orsak (THPDFObjStmQuarantineReason: not a stream, bad dictionary, bad header, bad stream size, decrypt failed, decompress failed, /First out of range, header unparsable eller container exception), en diagnostikrad och de medlemsobjektnummer den lämnade olösta, medan oberoende containrar fortsätter laddas
  • Lade till karantän på medlemsnivå (osqrMemberUnparsable): en medlemskropp som inte går att parsa ur en framgångsrikt avkodad container registreras en gång utan att påverka sina syskon, och GetLoadedQuarantinedObjStmCount/GetLoadedQuarantinedObjStmInfo exponerar varje post; karantänposterna överlever återhämtningsförsöken under en inläsning, dedupliceras per container och rensas vid nästa inläsningsstart