Skip to content

Open Source Source Code and Libraries Usage

gal kahana edited this page Oct 1, 2023 · 4 revisions

My Library being all free, no warranty i’m using libraries/codes with similar intention and licensing model.
here is a list of these components, with copyright notices to match:

  1. MD5 Algorithm – For creating IDs to the PDF file i’m using MD5. work is adapted from Mordechai T. Abzug work which is in turn based on the RSA Data Security, Inc. MD5 Message-Digest Algorithm. Copyright © 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved.. you can find the code usage in here.
  2. Flate/ZIP compression/decompression – Used throughout the library for compression/decompression of PDF streams is Provided by the zlib library. The work was done by Jean-Loup Gailly and Mark Adler. Copyright © 1995-2005 Jean-loup Gailly and Mark Adler. The Zlib folder in this project holds the zlib code required. used build 1.2.11.
  3. TIFF reader/writer – For supporting the inclusion of TIFF images in a PDF file i’m using the libtiff TIFF library. The library provides reading/writing services for TIFF, and includes a wonderful sample of how to create a PDF file that includes the TIFF information. in here you can find my library version of the sample, using the building blocks of the library instead of the original writing code. here’s the required libtiff copyright notice. Copyright © 1988-1997 Sam Leffler , Copyright © 1991-1997 Silicon Graphics, Inc. , Copyright © 2003 Ross Finlayson
  4. FreeType – For some aspects of font usage, mainly unicode to glyph index translation, i’m using FreeType. Licensing information on FreeType can be found here. I am intending to use it here under the more relaxed FreeType license, and NOT under GPL. we are anti GPL here.
  5. LibJpeg – For DCT streams decoding i’m using LibJpeg provided by IJG. They are absolutely great and provide the software under as permissive license as i am just asking for some acknowledgment. so, thank you, and here’s also their site address – LibJpeg IJG
  6. LibPng – For reading PNG images, i’m using LibPng. License is permissive in the ways of PDFWriter. You can read about LibPng licensing info here.
  7. LibAes – For reading Encrypting and Decrypting AES streams, i’m using LibAes. License is permissive a-la bsd and can be found here.
  8. Skia – For the implementation of RGB Gradients required for support of colrv1 fonts (Emojis) I’m borrowing inspiration and code from Google’s Skia library. Skia is a 2D rendering library that can render to PDF as well. License is BSD and can be foun here.
Clone this wiki locally