Acknowledgements
Prince uses several open source libraries - for a complete list also showing the used version numbers, please run Prince with the following command-line option:
$ prince --credits
Open Source Libraries
- Mercury
- Prince is written in the Mercury programming language and uses the Mercury core libraries and the Mercury Cairo bindings.
- Boehm-Demers-Weiser Garbage Collector
- The Boehm-Demers-Weiser Garbage Collector library is used by the Mercury runtime for garbage collection, and uses the libatomic_ops library for memory management.
- mimalloc
- Prince also uses the mimalloc library for memory management.
- GNU libgomp
- The GNU libgomp library is used by Prince for OpenMP support.
- libxml2
- The libxml2 library is used by Prince to load XML and HTML documents.
- libcurl
- The libcurl library is used by Prince to load resources from HTTP URLs.
- OpenSSL and NSS
- The OpenSSL and NSS libraries are used by Prince to load resources from secure HTTPS URLs.
- Fontconfig
- The Fontconfig library is used by Prince on Linux to scan for installed system fonts.
- FreeType
- The FreeType library is used by Prince to load and process TrueType font files.
- CTAN hyphenation files
- Prince uses the hyphenation pattern files from the CTAN archive.
- libthai
- The libthai library is used by Prince to handle word breaking in the Thai language.
- libdatrie
- The libdatrie library is used by Prince to load the Thai dictionary.
- GIFLIB
- The GIFLIB library is used by Prince to load GIF image files.
- libavif and aom
- The libavif and aom libraries are used by Prince to load AVIF image files.
- libjpeg-turbo
- The libjpeg-turbo library is used by Prince to load JPEG image files.
- libpng
- The libpng library is used by Prince to load PNG image files.
- libtiff
- The libtiff library is used by Prince to load TIFF image files.
- libwebp
- The libwebp library is used by Prince to load WebP image files.
- Little CMS
- Little CMS (lcms2) library is used by Prince for color management.
- Cairo and Pixman
- The Cairo and Pixman libraries are used by Prince for rasterization.
- zlib
- The zlib library is used by Prince to perform compression of PDF files.
Prince also uses the Rust standard library to load the following Rust crates:
- aliasable
- alloc-no-stdlib
- alloc-stdlib
- allsorts
- bitflags
- bitreader
- brotli-decompressor
- byteorder
- cfg-if
- const-cstr
- core-foundation
- core-foundation-sys
- core-graphics
- core-text
- crc32fast
- dlib
- either
- encoding_rs
- flate2
- fontconfig
- foreign-types
- foreign-types-shared
- glyph-names
- heck
- itertools
- lazy_static
- libc
- libloading
- libz-sys
- log
- num-traits
- once_cell
- ouroboros
- ouroboros_macro
- pathfinder_geometry
- pathfinder_simd
- proc-macro-error
- proc-macro-error-attr
- proc-macro2
- quote
- rustc-hash
- static_assertions
- syn
- tinyvec
- tinyvec_macros
- ucd-trie
- unicode-bidi
- unicode-canonical-combining-class
- unicode-case-mapping
- unicode-general-category
- unicode-ident
- unicode-joining-type
- unicode-linebreak
- winapi
- winapi-x86_64-pc-windows-gnu
- yeslogic-fontconfig-sys
- yeslogic-unicode-script