FPC has the API wrapper for Cairo lib. I am studying its dependencies and maybe use it in a Linux server with no X Window installed, for generating PDFs.
Cairo is advertized to support multiple output devices, including X Window, image buffers, PostScript, PDF, and SVG file output. I understand it means that X Window is required only for the X Window backend. PDF or SVG backends should not require X Window. However on my Linux Mint 17 libcairo has a dependency for libX11.so.6. See : # ldd /usr/lib/i386-linux-gnu/libcairo.so.2 linux-gate.so.1 => (0xf77a7000) libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf763b000) libpixman-1.so.0 => /usr/lib/i386-linux-gnu/libpixman-1.so.0 (0xf7591000) libfontconfig.so.1 => /usr/lib/i386-linux-gnu/libfontconfig.so.1 (0xf7555000) libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xf74b5000) libpng12.so.0 => /lib/i386-linux-gnu/libpng12.so.0 (0xf748d000) libxcb-shm.so.0 => /usr/lib/i386-linux-gnu/libxcb-shm.so.0 (0xf7489000) libxcb-render.so.0 => /usr/lib/i386-linux-gnu/libxcb-render.so.0 (0xf747f000) libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf745c000) libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xf7451000) libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf731d000) libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xf730a000) libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xf72f0000) librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf72e6000) libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf72a0000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf70f2000) /lib/ld-linux.so.2 (0xf77a8000) libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xf70c9000) libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf70c5000) libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf70bd000) libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf70b8000) Juha _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal