CentraDoc 6.7.2 - Summary of Changes since 6.5.5
It has been two years since the official release of CentraDoc, 6.5.5. The 6.5
branch has been very successful, and received regular updates until fairly
recently, when the 6.7 branch started being used in production. There is far too
much to cover all the details of what has changed, but here are some highlights.
- FreeType upgraded to 2.5.0.1 -
This includes a new hint engine supplied to freetype.org by Adobe.
Font hinting (FreeTypeHinting=Y) is considerably improved.
- ZLib upgraded to 1.2.8
- Little CMS upgraded to 2.5.
- IJG JPEG Library upgraded to 9.
The PDF output library has an extension to produce web-optimized PDF Files (#551).
The PDF output library has extensions to mark files for PDF/A-1a and PDF/E
compliance. We do not verify PDF/A-1a compliance - please refer to the
specifications for more information or contact Liberty for assistance.
The 64 bit build of CentraDoc can now support PDF files larger than 2gb. This
also requires manually installing Windows file system support at some point
during initialization:
#if defined(_WIN64)
FFsWin32_Install(); /* large file support */
#endif
The default FFS implementation uses stdio for portability.
While it would be possible to support large files in the 32 bit Windows build,
this is not considered a priority.
- #845 #1306 changes were made to the third party JPEG2000 library, JasPer,
to handle some case of large images without running out of memory
- #899 invalid matrix tests in PDF pattern rendering
- #1060 RIP gradient fixes, PDF transparency group performance issue
- #1075 & #1178 RIP image cropping for banding & other: gxc->want_image_clip
- #1079 Windows 64 bit builds append 64 to product names (pvsdk64.dll etc)
- #1086 RIP gradient tweak, support for colorant None
- #1099 Fix PDF Incremental updates on top of XRefStm
- #1105 The RIP will switch color models for soft masks if using an advanced model
- #1107 RIP dummy transparency group to improve gradient blending issues
- #1115 resolve GCO bind issues with accidentally linking prebind4dll() to exe
- #1120 & #1151 restrict vertical GID tests for Japanes to Japanese character set
- #1125 add PdfAttachments in PDF class for PvSDK access
- #1126 fix for auto_page_translate broken in #981
- #1127 fixes for image emulation
- #1128 #1177 #1202 support for PDF ActualText data
- #1129 FntFiles_FromRegistry for loading default Windows fonts, automatically invoked
- #1130 fix ObjStrm loading problem
- #1131 fix ownership issues in PvSDK functions LS_OpenPSBuffer and LS_OpenFFs
- #1133 increase PDF Doc catalog walking recursion limit, to handle some large pathological PDF files
- #1141 RIP Clipping text rendering for performance when clipping/banding output
- #1142 PDF Output, fix issue with image pattern
- #1143 Use XFA engine for drawing RichText annotations
- #1144 support for PDF GoToE link attachments
- #1145 JBIG2 decoder fixes
- #1147 fix annotation bomb, object ownership issues
- #1152 add PDF_NewIndexImage to PDF output API
- #1153 PDF Output not putting enough decimals in the text matrix
- #1155 PDF Output ShowTextAdjust for wide fonts
- #1156 PDF check for bogus image matrix before choking in crop image code
- #1157, #1189 ZapfDingbats issues: UnicodeDingbats=Y as an alternative to MonoType Sorts
- #1158 Windows: explicit GetTempPathA & GetTempFileNameA in case UNICODE is defined in build
- #1161 PDF handle bogus starting xref #, PDF producer bugs
- #1163 unload objects at key points to reduce PDF memory usage
- #1164 hooks to capture simple image patterns
- #1166 PdfLinkAnnotations=N to explicitly turn off drawing of link annotations
- #1170 PdfMultiFile=Y to automatically handle a single file containing many PDFs
- #1172 add CDocRIP progress callback & tickler, user abort example
- #1176 1 bit color chromakey image converted to stencil in #861 not compatible with RIP
- #1183 add StrokePath and FillPath to Type 1 font generator
- #1186 ignore PDF corruption: missing objects
- #1190 fix for Mesh Shader color space exception
- #1191 PDF preserve existing annotation Button appearance
- #1192 PDF Convert ICCBased 1 Bit Per Pixel image to indexed
- #1193 work arounds for PDF JPEG stream containing too much data
- #1194 work around for Antigrain bug with large paths at high resolution
- #1195 image emulation color space issues
- #1199 more PDF memory usage issues, PostScript driver font objects memory issues
- #1204 minor tweaks to Windows driver clipping rectangle boundaries
- #1205 FFS_CreateWide, FFS_OpenWide, handle wide file names in PDF Embedded files
- #1210 PvSDK LS_OpenFileW for wide file names
- #1215 PvSDK LS_TextExtract handle DvTextData for invisible text
- #1218 PDF with missing page in catalog tree, continue with warning
- #1220 PostScript handle exceptions or corruptions inside font procs
- #1221 PDF fix pattern matrix glitch
- #1224 PDF not flushing line width & dash correctly if matrix changes
- #1225 signed char issues with EPS header file detection
- #1226 annotation appearance generation problems and more ZapfDingbats tweaks
- #1227 PDF authorize errors from Linearization code
- #1228 WantUnicode=Y lost bogosity checks on narrow encodings
- #1229 PDF handle optional numbers for annotation borders, allow missing fonts
- #1231 Unicode character expansion losing index into position array
- #1233 fix a cliplvl < 3 line clipping test
- #1235 #1378 RIP 16 bit rendering and color space issues
- #1239 more PDF Encoding issues
- #1241 LZW Decoder EOD detection glitch
- #1242 lower size threshold for excess PDF pattern operator checks
- #1243 PDF change FirstChar and LastChar defaults to 0 and 255 instead of "not found"
- #1245 PDF output no longer writes AcroForm field for tool tip annotations
- #1246 PDF tweaks to corrupt file recovery
- #1247 PDF Handle a button with an empty appearance stream
- #1251 add DSC compilance to PostScript driver output
- #1253 Encoding tweaks for capturing PDF Type 3 fonts
- #1256 auto_page_translate conflicted with RIP banding
- #1259 #1319 support for reading PDF AES 256 bit encryption
- #1262 issues with bogus ToUnicode maps and invisible Type 3 font data
- #1263 Issues with PvSDK LS_PostScript output
- #1265 gxs maintenance issues with soft mask calls coming from PostScript parser
- #1267 fix regression in #1235
- #1270 more xref bogosity that Acrobat allows without comment (PDF producer bugs)
- #1271 Change PDFHighlightOver=Y to HIGHLIGHT_ALPHA
- #1273 Clean up reporting of Preview SDK errors
- #1275 RIP handle simple image patterns; change pattern pathology threshold to 3.1
- #1276 add LS_Authorize to Preview SDK for opening PDFs with passwords
- #1277 issues with symbol and script flags in PDF fonts
- #1278 fix divide by zero in some Antigrain (RIP) blend modes
- #1280 annotation matrix rendering fixes
- #1281 Windows Driver attempts to feed PDF font fragments to the Windows GDI
- #1282 PDF with CidFontType0 using a mechanism defined to be exclusive to CidFontType2
- #1283 Support for .ttc fonts in external mapping via FONT[#], & other font tweaks
- #1286 PDF null object bomb in optional content (layers)
- #1288 NO_PATTERN_CELL_CLIP as a workaround for pattern performance issues
- #1291 Issues handling Wingdings font in Windows Driver
- #1292 Work around for the GCO_KeepDebugInfo GetDefaultCMM bomb
- #1293 fix for PreviewSDK LS_PrintOffsetDC offset issues
- #1294 Type 1 capture broken with deferred streams
- #1295 PDF Output bump up to 2 decimal places for coordinates
- #1296 & #1318 handle invalid hex encoding in PostScript input
- #1297 remove true and false defines from rt_types.h, just a bad idea
- #1298 PDF xref table /W [0 3 0] wasn't handled correctly
- #1302 PDF support for files > 2gb; PDF file recovery regression from #1199
- #1303 change sample.c default DPI from 101 to 96 to fix text alignment issues
- #1304 attempted fixes for rgn code
- #1305 CMYKtoRGB not handling K correctly
- #1307 Pathological Pattern rendering clobbered path
- #1308 Some PDF files use odd (incorrect) names for Symbol encoding (PDF producer bugs)
- #1313 Handle PDF file with lots of bogus outline nodes without running out of memory (PDF producer bugs)
- #1316 unload annotation memory at end of page for pathological & large files
- #1324 fix exception in LS_TextExtract of CJK text
- #1331 tweaks to Unicode character set heuristics
- #1332 Handle invalid color mask / bug in PDF producer
- #1335 Ugly PostScript issue with embedded font procs v. driver fonts
- #1337 PDF Name buffer too small causing XObject not found error
- #1341 PDF distiller ps2pdf program enhanced command line features (see usage)
- #1342 Color API needes access to stencil pattern base color
- #1343
- CDocRIP as Windows DLL
- added CDocRip_GetNPages
- font map always load defaults before loading map file
- platform specific default font maps: fonts.win, fonts.osx, fonts.linux
- fonts.dat is a fallback if fonts.OS file not found
- #1345 Reduce size of PDF Output for page content stream
- #1346 signed/unsigned error in search of PDF Font wide widths
- #1347 portability issues for extended integer types
- #1349 DvCharEm width test incorrect - not in device space
- #1350
- image emulation using wrong component width calculation
- support inline image in PDF Image Pattern Trap
- check for softmask before trapping Image Pattern
- ownership issues with ImageBuffer ColorSpace
- #1352
- more tolerance for garbage in PDF Image Decode array (PDF producer bugs)
- use default for missing font encoding
- #1353 Example C# project for usign 32 and 64 bit PvSDK DLL
- #1354 error from PDF Layer if missing sub array
- #1357 PDF Distiller (ps2pdf) font re-mapping via pdffonts.dat or --fontmap
- #1360 FFsWin32 checking file name for BOM as a Unicode workaround - not a good plan, though
- #1363 PDF output without text creating a broken resource entry
- #1364 Fix for PDF Layer Filter Driver Reentrancy bomb
- #1365 PDF file with many invalid (X)ndstream markers, allow validation if endobj & filter
- #1366 Floating point exceptions:
- LS_TextExtract
- RIP non-separable blendmodes
- Windows Debug Build: enable Divide by zero and Overflow floating points exceptions
- predefine NO_FLOAT_EXCEPTIONS (for example, in rt_config.h) to disable this
- #1368 PostScript driver filter lines & polygons if alpha < .1
- #1369 AggSoftMaskGamma= for RGBA (PDF SoftMask) images
- #1371 PdfCollection API for PDF portfolio files
- #1372 more tweaks to ToUnicode character set heuristics
- #1373 ignore spurious nuls in numbers (PDF producer bug)
- #1374 Attempt PDF recover if %%EOF not found
- #1375 DvPatternPoly return swallowed by DvClipper (gxc->cliplvl < 3)
- #1376 Symbol Unicode PUA filter for 0xFxyy style encoding
- #1377 work around for non-reversibility of Unicode/CID conversion in DvCharEm hooks
- #1383
- Color Manager SmarterTransform now off by default (invalid assumptions)
- Add intent to Alternate Color Manager contructors
- #1386 patch to FreeType to allow broken font with too many hinting instructions
- #1387 Several fixes for JBIG2
- #1388
- PDF Progress Reporting glitch
- RIP pattern null color space fix
- change RIPTranslatePatterns= default to Y
- #1389 PostScript degenerate arcs not correct (from #195)
- #1390 PDF CJK vertical font placement, use PDF metrics if available (also #241 #686 #751 and #808)
- #1392 PDF Annotation with height = 0 caused odd matrix errors
- #1393 workaround for conflict between #1376 and alternate Adobe PUA Symbol encoding
- #1394
- FFS_printf and rt_Log had va_list usage bug causing portability problems
- get exe path for Linux and OS/X to locate ini file and default etc correctly
- FFS_DefaultSearchPath added to riptest.cpp, psisys setup is too late for Color Manager resources
- #1397 ignore invalid matrix in PDF instruction stream (PDF producer bug)
- The source also includes multiple clean ups for 64 bit using size_t where possible
to minimize spurious warnings during 64 bit builds. Also, the core CentraDoc code
can be built as C++ if necessary.