bug-lilypond
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Feature]: SVG snippet cropping in lilypond-book / lilypond


From: Étienne Beaulé
Subject: [Feature]: SVG snippet cropping in lilypond-book / lilypond
Date: Fri, 21 Jul 2017 21:28:24 -0300

Hello! I use lilypond quite often to illustrate and show snippets of music
on the web, both using lilypond-book and other tools (such as MediaWiki
<https://www.mediawiki.org/wiki/MediaWiki>'s Score extension
<https://www.mediawiki.org/wiki/Extension:Score>). Looking at the process
for lilypond-book, I see that the snippets are in a .png format and are cropped
using "gs", not natively.

As a feature, my final objective would be the ability to typeset the
snippets into a vector format, as the resolution's better and it takes up
less space.

In order for the goal to be eventually reached, cropping would have to be
native to lilypond. Right now, there is no cropping for SVGs. Each
generated SVG is the size of the page, through the height, width, and
viewBox="0
0 119.5016 169.0094" attributes.

With individual snippets I've typeset into SVG, I've been taking the
bounding box and using that as the viewBox; modifying the snippets with
this js:

var svg = document.getElementsByTagName("svg")[0];
var box = svg.getBBox();
var viewBox = [box.x, box.y, box.width, box.height].join(" ");

console.log(svg.getAttribute(viewBox));
svg.setAttribute("viewBox", viewBox);
svg.removeAttribute("height");
svg.removeAttribute("width");
console.log(viewBox);

However, I don't think it's a very good solution; finding that such
functionality should be built-in to lilypond, and not require the use of
user javascript (of which would be unusable anyway with img tags used with
PNGs.

In the MediaWiki extension, I've been trying to find a way, and the feature
request is being tracked: https://phabricator.wikimedia.org/T49578. Making
the extension output SVG is no problem (just change the backend on the
lilypond command), but cropping is. I believe that the Lilypond project
would be more suited to handle and incorporate this proposed feature, and
could potentially be useful when outputting PNG too. A flag could be added
to the command if cropping is desired.

Thank you for considering my feature request. This would not only help me,
but make Lilypond more flexible for typesetting music.

Cordially,

Étienne Beaulé (Ebe123 <https://phabricator.wikimedia.org/p/Ebe123/>)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]