bodoni / Svg
Licence: other
Composer and parser for SVG
Stars: ✭ 119
Programming Languages
rust
11053 projects
Labels
Projects that are alternatives of or similar to Svg
Buntis
A 100% compliant, self-hosted typescript parser that emits an ESTree-compatible AST
Stars: ✭ 90 (-24.37%)
Mutual labels: parsing
Antlr4
ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.
Stars: ✭ 11,227 (+9334.45%)
Mutual labels: parsing
Stacktracey
Parses call stacks. Reads sources. Clean & filtered output. Sourcemaps. Node & browsers.
Stars: ✭ 115 (-3.36%)
Mutual labels: parsing
Parglare
A pure Python scannerless LR/GLR parser - http://www.igordejanovic.net/parglare/
Stars: ✭ 90 (-24.37%)
Mutual labels: parsing
Graphql Go Tools
Tools to write high performance GraphQL applications using Go/Golang.
Stars: ✭ 96 (-19.33%)
Mutual labels: parsing
Scalable Vector Graphics Plugin For Paint.net
Paint.NET filetype plugin for loading SVG (Scalable Vector Graphics) and its compressed variant SVGZ files.
Stars: ✭ 109 (-8.4%)
Mutual labels: vector-graphics
Rubberduck
Every programmer needs a rubberduck. COM add-in for the VBA & VB6 IDE (VBE).
Stars: ✭ 1,287 (+981.51%)
Mutual labels: parsing
Formatfuzzer
FormatFuzzer is a framework for high-efficiency, high-quality generation and parsing of binary inputs.
Stars: ✭ 117 (-1.68%)
Mutual labels: parsing
Expressive
Expressive is a cross-platform expression parsing and evaluation framework. The cross-platform nature is achieved through compiling for .NET Standard so it will run on practically any platform.
Stars: ✭ 113 (-5.04%)
Mutual labels: parsing
Importjson
Import JSON into Google Sheets, this library adds various ImportJSON functions to your spreadsheet
Stars: ✭ 1,705 (+1332.77%)
Mutual labels: parsing
Niutrans.smt
NiuTrans.SMT is an open-source statistical machine translation system developed by a joint team from NLP Lab. at Northeastern University and the NiuTrans Team. The NiuTrans system is fully developed in C++ language. So it runs fast and uses less memory. Currently it supports phrase-based, hierarchical phrase-based and syntax-based (string-to-tree, tree-to-string and tree-to-tree) models for research-oriented studies.
Stars: ✭ 90 (-24.37%)
Mutual labels: parsing
Chordsheetjs
A JavaScript library for parsing and formatting ChordPro chord sheets
Stars: ✭ 114 (-4.2%)
Mutual labels: parsing
Evaluate
A version of eval for R that returns more information about what happened
Stars: ✭ 88 (-26.05%)
Mutual labels: parsing
Sywac
🚫 🐭 Asynchronous, single package CLI framework for Node
Stars: ✭ 109 (-8.4%)
Mutual labels: parsing
Vectorifydahome
📱 Minimal app to apply wallpapers from a vast (400+) collection of vector graphics 🙃
Stars: ✭ 119 (+0%)
Mutual labels: vector-graphics
Corrode
A batteries-included library for reading binary data.
Stars: ✭ 116 (-2.52%)
Mutual labels: parsing
SVG
The package provides an SVG composer and parser.
Example: Composing
use svg::Document;
use svg::node::element::Path;
use svg::node::element::path::Data;
let data = Data::new()
.move_to((10, 10))
.line_by((0, 50))
.line_by((50, 0))
.line_by((0, -50))
.close();
let path = Path::new()
.set("fill", "none")
.set("stroke", "black")
.set("stroke-width", 3)
.set("d", data);
let document = Document::new()
.set("viewBox", (0, 0, 70, 70))
.add(path);
svg::save("image.svg", &document).unwrap();
Example: Parsing
use svg::node::element::path::{Command, Data};
use svg::node::element::tag::Path;
use svg::parser::Event;
let path = "image.svg";
let mut content = String::new();
for event in svg::open(path, &mut content).unwrap() {
match event {
Event::Tag(Path, _, attributes) => {
let data = attributes.get("d").unwrap();
let data = Data::parse(data).unwrap();
for command in data.iter() {
match command {
&Command::Move(..) => println!("Move!"),
&Command::Line(..) => println!("Line!"),
_ => {}
}
}
}
_ => {}
}
}
Contribution
Your contribution is highly appreciated. Do not hesitate to open an issue or a pull request. Note that any contribution submitted for inclusion in the project will be licensed according to the terms given in LICENSE.md.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].