Using panda-0.5.4, publicly available PDF 1.3 rendering library, we've developend Modula-3 binding to it and library, fixing it on the way with few small patches, and then developed reporting module in spirit of our long-living Modula-2 reporting system
C part of panda we patched, as explained. In Modula-3 part of our library we implemented few extras not present in panda-0.5.4. Most important is full True Type Font handling - font file loading and interpretation, metrics calculating and PDF font subsetting with full Unicode support. All code is brand new OO Modula-3, written by the letter of Apple TT and Adobe PDF 1.3 specifications.
Instead of using Text and PostScript variant output (as we used to in our Modula-2 system), we based this new approach on abstract Render object type and implemented PDFRender to use Panda.*. As engine is capable of using multiple Render objects, we will possibly implement HTMLRender to exploit this mechanism further.
