svg2pts

Command line utility to convert the paths in a SVG to a list of points. All paths in the SVG are converted into a list of points with curve interpolation is controlled by command line arguments. Paths with no stroke nor fill are ignored. Output is a sequence of points, X Y\n

Installation

Using snaps:

sh snap install svg2pts

Using cargo: sh cargo install svg2pts OR with enabled text feature, requires harfbuzz, sh cargo install svg2pts --features=text This will make the svg2pts binary available in your cargo binary directory; usually ~/.cargo/bin.

Usage

``text svg2pts 0.1.5 Converts all paths in a svg to a list of points. Paths with no stroke nor fill are ignored. Output is a sequence of points,X Y\n`.

USAGE: svg2pts [OPTIONS] [ [] ]

FLAGS: -h, --help Prints help information

OPTIONS: -a, --accuracy Set tolerance threshold for bezier curve approximation, lower -> higher quality [default: min(/25.0,0.05)] -d, --distance Set target distance between points, depends on DPI of SVG. If distance == 0.0 point distance not normalized. [default: 0.0]

ARGS: Input SVG file, stdin if not present Output file, stdout if not present"# ```

Changelog

Examples

```sh $ svg2pts -d 3.5 media/rust.svg 71.05 120.32 67.5572042727889 120.0955495422685 64.09895790373652 119.5565392910338 60.64071153468416 119.0175290397991 57.283778022261004 118.02707591462337 ... $ svg2pts -d 3.5 media/rust.svg | gnuplot -p -e 'plot " ### SVG converted to points with distance 3.5 ### SVG converted to points without normalized distance ### SVG converted without normalized distance and lower accuracy (simplified) ### SVG converted to points then displayed on an oscilloscope ```sh svg2pts -d 3.5 rust.svg | pts2wav > logo.wav ``` Rust logo svg converted to pts and display on oscilloscope. You can get `pts2wav` here [https://github.com/exrok/pts2wav](https://github.com/exrok/pts2wav)