A user of my notation font Gonville reported to me this week that they had tried to use the Lilypond SVG backend with Gonville, and had found that everything worked fine except that the sharp signs were mysteriously missing from the output.
I debugged the problem and found that this happened because Fontforge had generated the SVG path string for that glyph in a way that happened to include the floating-point literal "9.91821e-05", written in scientific notation, and that the 'glyph-path-regexp' definition in output-svg.scm was failing to match the path string as a result, because it doesn't permit the letter 'e'. I was able to work around the issue by editing my SVG font file to re-express that number as 0.0000991821, without the 'e'. But as far as I can see, scientific notation of that form is legal per the SVG spec: https://www.w3.org/TR/2011/REC-SVG11-20110816/paths.html#PathDataBNF Applying the attached patch against output-svg.scm also solved the problem for me, and I think it's a better fix. Cheers, Simon -- for k in [pow(x,37,0x1a1298d262b49c895d47f) for x in [0x50deb914257022de7fff, 0x213558f2215127d5a2d1, 0x90c99e86d08b91218630, 0x109f3d0cfbf640c0beee7, 0xc83e01379a5fbec5fdd1, 0x19d3d70a8d567e388600e, 0x534e2f6e8a4a33155123]]: print("".join([chr(32+3*((k>>x)&1))for x in range(79)])) # <ana...@pobox.com>
0001-SVG-Permit-e-to-appear-in-SVG-font-glyph-paths.patch
Description: Binary data
_______________________________________________ bug-lilypond mailing list bug-lilypond@gnu.org https://lists.gnu.org/mailman/listinfo/bug-lilypond