Metadata-Version: 2.4
Name: otl-normalizer
Version: 2.0.0
License-File: LICENSE
Summary: Normalized text representation of OpenType layout subtables
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM

# otl-normalizer

[![Crates.io](https://img.shields.io/crates/v/otl-normalizer.svg)](https://crates.io/crates/otl-normalizer)
[![Docs.rs](https://docs.rs/otl-normalizer/badge.svg)](https://docs.rs/otl-normalizer)
[![MIT/Apache 2.0](https://img.shields.io/badge/license-MIT%2FApache-blue.svg)](#license)

This crate converts OpenType layout subtables to a normalized representation,
suitable for comparison in a text diff.

This currently supports a subset of GPOS (kerning and marks) and normalizes the
GDEF ligature caret table. GSUB is stubbed out not supported.

It also prints `glyf` and `gvar` (`--table glyf`, `--table gvar`) as
line-oriented text: one block per glyph in glyph name order, with all-off-curve
contours rotated to start at the point closest to the origin, single-point
contours stripped of their on/off type, and gvar deltas densified to every
point (plus the four phantom points) with IUP interpolation.

It is part of the [`fontc`] project, and is used to test font compilation as
well as to compare the output of different compiler toolchains.


[`fontc`]: https://github.com/googlefonts/fontc

