Metadata-Version: 2.1
Name: ufoProcessor
Version: 1.0.3
Summary: Read, write and generate UFOs with designspace data.
Home-page: https://github.com/LettError/ufoProcessor
Author: Erik van Blokland
Author-email: erik@letterror.com
License: MIT
Keywords: font development tools
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Environment :: Other Environment
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Multimedia :: Graphics
Classifier: Topic :: Multimedia :: Graphics :: Graphics Conversion
Classifier: Topic :: Multimedia :: Graphics :: Editors :: Vector-Based
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=2.7
Description-Content-Type: text/markdown
Requires-Dist: defcon[lxml] (>=0.6.0)
Requires-Dist: fontMath (>=0.4.9)
Requires-Dist: fontParts (>=0.8.2)
Requires-Dist: fontTools[lxml,ufo] (>=3.32.0)
Requires-Dist: mutatorMath (>=2.1.2)

[![Travis](https://travis-ci.org/LettError/ufoProcessor.svg?branch=master)](https://travis-ci.org/LettError/ufoProcessor)
[![PyPI](https://img.shields.io/pypi/v/ufoprocessor.svg)](https://pypi.org/project/ufoprocessor)

# ufoProcessor
Python package based on the **designSpaceDocument** from [fontTools.designspaceLib](https://github.com/fonttools/fonttools/tree/master/Lib/fontTools/designspaceLib)) specifically to _process_ and _generate_ instances for UFO files, glyphs and other data.

* Collect source materials
* Provide mutators for specific glyphs, font info, kerning so that other tools can generate partial instances. Either from `MutatorMath` or `fonttools varlib.model`.
* Support designspace format 4 with layers.
* Apply avar-like designspace bending
* Apply rules
* Generate actual UFO instances in formats 2 and 3.
* Round geometry as requested
* Try to stay up to date with fontTools
* Baseclass for tools that need access to designspace data.

## Usage
The easiest way to use ufoProcessor is to call `build(designspacePath)`

* documentPath: path to the designspace file.
* outputUFOFormatVersion: integer, 2, 3. Format for generated UFOs. Note: can be different from source UFO format.
* roundGeometry: bool, if the geometry needs to be rounded to whole integers. This affects glyphs, metrics, kerning, select font info.
* processRules: bool, when generating UFOs, execute designspace rules as swaps.
* logger: optional logger object.

* documentPath:               filepath to the .designspace document
* outputUFOFormatVersion:     ufo format for output, default is the current, so 3.
* useVarlib:                  True if you want the geometry to be generated with `varLib.model` instead of `mutatorMath`.


