Convert UFO .glif files to SVG, whether they're part of a font or not

Overview

Convert UFO glyph files (.glif) to SVG

There exists already an svg2glif, but for some reason not the opposite operation. My MFEKglif editor treats .glif files as first-class entities, so it seemed obvious to me I'd want to edit them with Inkscape, etc sometimes.

I originally wrote this in Python (ctrlcctrlv/glif2svg) but it was too slow for the huge amount I was using it in FRBAmericanCursive's build. So, I ported it to Rust. Also, I decided to make it part of the MFEK suite of programs, since it heavily relies on MFEK libaries like glifparser and mfek-ipc.

The path to the output file. If not provided, or `-`, stdout. -F, --fontinfo fontinfo file (for metrics, should point to fontinfo.plist path) ARGS: The path to the input file. ">
glif2svg 0.0.0
Fredrick R. Brennan 
    
     ; MFEK Authors
Convert between glif to SVG

USAGE:
    glif2svg [FLAGS] [OPTIONS] 
     

FLAGS:
    -h, --help            Prints help information
    -M, --no-metrics      Don't consider glif's height/width when writing SVG, use minx/maxx/miny/maxy
    -T, --no-transform    Don't put transform="translate(…)" in SVG
    -V, --version         Prints version information

OPTIONS:
    -o, --output 
     
          The path to the output file. If not provided, or `-`, stdout.
                                  
                                  
    -F, --fontinfo 
      
            fontinfo file (for metrics, should point to fontinfo.plist path)
                                  

ARGS:
    
           The path to the input file.

      
     
    

Requirements

This is a normal Rust build; however the final binary will expect you to have MFEKmetadata in your path as well.

License

Copyright 2021 Fredrick R. Brennan & MFEK Authors

Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this software or any of the provided source code files except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied.  See the License for the
specific language governing permissions and limitations under the License.

By contributing you release your contribution under the terms of the license.

You might also like...
Convert and save photomode screenshots from Red Dead Redemption 2 to JPEG format.
Convert and save photomode screenshots from Red Dead Redemption 2 to JPEG format.

RDR2 Screenshot converter Convert and save photomode screenshots from Red Dead Redemption 2 to JPEG format. QuickStart Just download the executable fi

Lust is a static image server designed to automatically convert uploaded image to several formats and preset sizes
Lust is a static image server designed to automatically convert uploaded image to several formats and preset sizes

What is Lust? Lust is a static image server designed to automatically convert uploaded image to several formats and preset sizes with scaling in mind.

convert markdown headers to graph
convert markdown headers to graph

Rust Markdown to graph This program converts a Markdown file into a graph. For now, it creates .dot file which graphviz uses to build graph. It transl

Foxtrot is a fast viewer for STEP files, a standard interchange format for mechanical CAD
Foxtrot is a fast viewer for STEP files, a standard interchange format for mechanical CAD

Foxtrot is a fast viewer for STEP files, a standard interchange format for mechanical CAD. It is an experimental project built from the ground up, including new libraries for parsing and triangulation.

Thumbnailer - This crate can be used to create thumbnails for all kinds of files.

Thumbnailer This crate can be used to create thumbnails for all kinds of files. Usage use thumbnailer::{create_thumbnails, Thumbnail, ThumbnailSize};

Generates preview thumbnails for 3D model files
Generates preview thumbnails for 3D model files

Generates preview thumbnails for 3D model files. Provide a Windows Explorer extensions that adds preview thumbnails for 3D model files.

CLI and utilities for converting media files (images/videos) to ascii outputs (output media file or print to console)
CLI and utilities for converting media files (images/videos) to ascii outputs (output media file or print to console)

CLI and utilities for converting media files (images/videos) to ascii outputs (output media file or print to console). Supports most standard image formats, and some video formats.

ufo2nft is a CLI Rust tool to automate creating on-chain SVG NFTs from UFO font sources

ufo2nft is a CLI Rust program created by Eli Heuer at the 2022 Seattle Solana Hacker House event. It uses Norad to create on-chain SVG images from UFO font sources, and prepares them for minting as Solana NFTs. For Ethereum NFTs the program can just export the SVGs and Ethereum NFTs can be built manually.

A Rust library for evaluating log4j substitution queries in order to determine whether or not malicious queries may exist.

log4j_interpreter A Rust library for evaluating log4j substitution queries in order to determine whether or not malicious queries may exist. Limitatio

Add path effects to open glyphs in a UFO file
Add path effects to open glyphs in a UFO file

ufostroker Add path effects to open contours in a UFO file Given a glyph with open contours: You can apply a noodle effect: ufostroker -i Open.ufo -o

Convert your ascii diagram scribbles into happy little SVG

Svgbob Svgbob can create a nice graphical representation of your text diagrams. Svgbob provides a cli which takes text as an input and creates an svg

A simple Node.js library to convert raster images into svg
A simple Node.js library to convert raster images into svg

@neplex/vectorizer A simple Node.js library to convert raster images into svg using VTracer, with time complexity of O(n). Installation npm install @n

Code sample for "Reading files the hard way Part 3"

read-raw-ext4 Rust code sample to read an ext4 partition from Rust, for: https://fasterthanli.me/series/reading-files-the-hard-way/part-3 Usage Don't.

Detect whether the current terminal supports rendering hyperlinks

Detects whether the current terminal supports hyperlinks in terminal emulators. It tries to detect and support all known terminals and terminal famili

Detects whether a terminal supports unicode.

Detects whether a terminal supports unicode. This crate is a Rust port mashing together @sindresorhus' is-unicode-supported and @iarna's has-unicode N

Detects whether a terminal supports color, and gives details about that support

Detects whether a terminal supports color, and gives details about that support. It takes into account the NO_COLOR environment variable. This crate i

Test whether a given stream is a terminal

is-terminal Test whether a given stream is a terminal is-terminal is a simple utility that answers one question: Is this a terminal? A "terminal", als

Checks whether the process is running as root/sudo/admin permission in Windows and Unix systems

Is_sudo Checks if program is running as sudo in unix systems, or using admin permission in windows. Usage use is_sudo::check; use is_sudo::RunningAs;

svgcleaner could help you to clean up your SVG files from the unnecessary data.

svgcleaner svgcleaner helps you clean up your SVG files, keeping them free from unnecessary data. Table of Contents Purpose Goals Alternatives Charts

Owner
Modular Font Editor K
The "K" collection of font editing tools.
Modular Font Editor K
Focus Annotator - a tool for annotation the focal plane of a part of an image

Focus Annotator Focus Annotator is a tool for annotation the focal plane of a part of an image. It is a tool I built in rust as part of my master's th

Hannes Kuchelmeister 17 Sep 27, 2022
Signed distance field font and image command line tool based on OpenCL.

SDFTool Signed distance field font and image command line tool based on OpenCL. Build Windows Run cargo build --release in Visual Studio developer x64

弦语蝶梦 7 Oct 16, 2022
🔭 Annict での今期の視聴状況を SVG 画像として出力するサーバ (WIP)

annict-profile-card ?? Annict の視聴状況などを SVG 画像として出力する API サーバ (WIP) Annict GraphQL API を使用しています。

Nep 16 Dec 20, 2022
resvg is an SVG rendering library.

resvg can be used as a Rust library, a C library and as a CLI application to render SVG files based on a static SVG Full 1.1 subset.

Evgeniy Reizner 1.8k Dec 30, 2022
An SVG toolkit based on resvg

rusty-svg An SVG toolkit based on resvg This module is compiled to WASM and currently only supports Node.js Comparing with the backend ReSVG, this mod

Zimon Dai 9 Mar 21, 2022
The tool to make svg with triangles by length from two points.

The tool to make svg with triangles by length from two points.

null 2 Sep 27, 2021
A Rust-implementation of devout’s tutorial to create an SVG graphic device using extendr.

A Rust-implementation of devout’s tutorial to create an SVG graphic device using extendr.

Hiroaki Yutani 1 Jan 25, 2022
Use free svg icons in your Dioxus projects easily with dioxus-free-icons.

dioxus-free-icons Use free svg icons in your Dioxus projects easily with dioxus-free-icons. More information about this crate can be found in the crat

Daiki Nishikawa 16 Jan 2, 2023
Convert Sketchbook Tiff Files to Open Raster Images

SketchbookTiffConverter Convert Sketchbook Tiff Files to Open Raster Images and retain layer information. This is a command line program that will con

Phil Spindler 3 Nov 2, 2021
tai (Terminal Ascii Image) tool to convert images to ascii written in Rust

TAI Terminal Ascii Image A tool to convert images to ascii art written in Rust ?? Notes This tool is still in development stage. Contributions All Con

Mustafa Salih 258 Dec 5, 2022