Merge branch 'pdf-conversion' into docs-next
PDF-generation improvements from Akira Yokasawa; Akira says: This patch set improves conversions of DOT -> PDF and SVG -> PDF for PDF docs. * DOT -> PDF conversion Current scheme uses "dot -Tpdf" (of graphviz). Cons: - openSUSE's dot(1) does not support -Tpdf. - Other distro's dot(1) generates PDFs with unnecessarily wide margins for inclusion into LaTeX docs. Patch 1/4 changes the route to the following two steps: 1. DOT -> SVG by "dot -Tsvg" 2. SVG -> PDF by "rsvg-convert -f pdf" with fallback to convert(1) Pros: - Improved portability across distros - Less space around graphs in final PDF documents Con: - On systems without rsvg-convert, generated PDF will be of raster image. Patch 2/4 avoids raster-image PDF by using "dot -Tpdf" on systems where the option is available. * SVG -> PDF conversion Current scheme uses convert(1) (of ImageMagick) Cons: - Generated PDFs are of raster image. Some of them look blurry. - Raster images tend to be large in size. - convert(1) delegates SVG decoding to rsvg-convert(1). It doesn't cover full range of Inkscape-specific SVG features and fails to convert some of SVG figures properly. Improper conversions are observed with SVGs listed below (incomplete, conversion quality depends on the version of rsvg-convert): - Documentation/userspace-api/media/v4l/selection.svg - Documentation/userspace-api/media/v4l/vbi_525.svg - Documentation/userspace-api/media/v4l/vbi_625.svg - Documentation/userspace-api/media/v4l/vbi_hsync.svg - Documentation/admin-guide/blockdev/drbd/DRBD-8.3-data-packets.svg - Documentation/admin-guide/blockdev/drbd/DRBD-data-packages.svg If you have Inkscape installed as well, convert(1) delegates SVG decoding to inkscape(1) rather than to rsvg-convert(1) and SVGs listed above can be rendered properly. So if Inkscape is required for converting those SVGs properly, why not use it directly in the first place? Patches 3/4 and 4/4 add code to utilize inkscape(1) for SVG -> PDF conversion when it is available. They don't modify any existing requirements for kernel-doc. Patch 3/4 adds the alternative route of SVG -> PDF conversion by inkscape(1). Patch 4/4 delegates warning messages from inkscape(1) to kernellog.verbose as they are likely harmless in command-line uses. Pros: - Generated PDFs are of vector graphics. - Vector graphics tends to be smaller in size and looks nicer when zoomed in. - SVGs drawn by Inkscape are fully supported. On systems without Inkscape, no regression is expected by these two patches.
Showing
Please register or sign in to comment