Crate norad[][src]

Expand description

Utilties for working with Unified Font Object files.

The types in this crate correspond to types described in the spec.

Basic usage:

use norad::Font;

let path = "RoflsExtraDim.ufo";
let mut font_obj = Font::load(path).expect("failed to load font");
let layer = font_obj.default_layer();
let glyph_a = layer.get_glyph("A").expect("missing glyph");
assert_eq!(, "A");


pub use error::Error;
pub use fontinfo::FontInfo;


Storage structures for UFO data and images.

Error types.

The contents of fontinfo.plist.

Common utilities.


A 2D affine transformation.

An reference position in a glyph, such as for attaching accents.

A color.

A reference to another glyph, to be included in this glyph’s outline.

A single open or closed bezier path segment.

A single point in a Contour.

A type that describes which components of a UFO should be loaded.

A Unified Font Object.

A glyph, loaded from a .glif file.

A guideline associated with a glyph.

An image included in a glyph.

A number that may be either an integer or float.

A layer, corresponding to a ‘glyphs’ directory.

A collection of Layer objects.

The contents of the metainfo.plist file.

A number that can be a non-negative integer or float.

Options that can be set when writing the UFO to disk.


A version of the UFO spec.

Version of a .glif file, per the UFO spec.

An infinite line.

Possible types of points that can exist in a Contour.

The quote character used to write the XML declaration.

Type Definitions

The name of a glyph.

A map of group name to a list of glyph names.

A map of kerning pairs.

A Plist dictionary.