• Akira Yokosawa's avatar
    docs: sphinx/kfigure.py: Use rsvg-convert(1) for DOT -> PDF conversion · c9edbe1e
    Akira Yokosawa authored
    On openSUSE, dot(1) command does not support direct PDF output.
    On other distros, generated PDF images have unnecessarily wide margins,
    especially for small graphs.
    
    By using dot(1) for DOT -> SVG, then rsvg-convert(1) for SVG -> PDF,
    more optimal PDF images can be obtained, with the bonus of improved
    portability across various distros.
    
    Add rules in kfigure.py so that the above mentioned route is taken
    when rsvg-convert(1) is available.
    
    Note that rsvg-convert(1) is recommended by sphinx_pre_install.
    So it is most likely that existing systems for building pdfdocs have
    rsvg-convert(1) installed.
    
    Note:
        SVG features supported by rsvg-convert(1) vary depending on its
        version and distro config.
        For example, the one found on Ubuntu Bionic (version 2.40.20) does
        poor job in rendering some of SVG files drawn by Inkscape.
        SVG files generated by dot(1) are converted nicely even with such
        old versions of rsvg-convert.
    
        So this change does not affect the quality of such figures in any
        way.
    Signed-off-by: default avatarAkira Yokosawa <akiyks@gmail.com>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
    Link: https://lore.kernel.org/r/15b56dd3-081a-2469-c3a4-dfc1ca4c6c2d@gmail.comSigned-off-by: default avatarJonathan Corbet <corbet@lwn.net>
    c9edbe1e
kfigure.py 20 KB