Skip to main content

An API for interacting with the parts of fonts during the font development process.

Project description

Build Status Code Health PyPI Python Versions

FontParts

An API for interacting with the parts of fonts during the font development process. FontParts is the replacement for RoboFab. The project has a MIT open-source licence.

The documentation is at fontparts.readthedocs.io.

This is a work in progress. We are still working out the API, abstract implementation, example implementation, test suite and documentation.

Want to contribute? Great! These issues need help. Also, feedback is very much welcome, please open an issue when you run into something that you wish fontParts did/didn’t do.

Installation

FontParts requires Python 2.7, 3.4 or later.

The package is listed in the Python Package Index (PyPI), so you can install it with pip:

pip install fontParts

If you would like to contribute to its development, you can clone the repository from Github, install the package in ‘editable’ mode and modify the source code in place. We recommend creating a virtual environment, using virtualenv or Python 3 venv module.

# download the source code to 'fontParts' folder
git clone https://github.com/robofab-developers/fontParts.git
cd fontParts

# create new virtual environment called e.g. 'fontParts-venv', or anything you like
python -m virtualenv fontParts-venv

# source the `activate` shell script to enter the environment (Un\*x); to exit, just type `deactivate`
. fontParts-venv/bin/activate

# to activate the virtual environment in Windows `cmd.exe`, do
fontParts-venv\Scripts\activate.bat

# install in 'editable' mode
pip install -e .

Testing

Testing is setup so that each environment that includes fontParts can provides the objects needed to run a common set of tests. This makes testing very easy for environments that use fontParts (for example, see the noneLab test.py script), but it means testing is different than other python packages.

Automated testing of the package is done in the nonelab environment. nonelab is fontParts for the commandline, implemented with defcon and is included as part of the fontParts package.

To run the test suite, you can do:

python Lib/fontParts/nonelab/test.py

To test in other environments, run the test script provided by that environment.

You can also use tox to automatically run tests on different Python versions in isolated virtual environments.

pip install tox
tox

Note that when you run tox without arguments, the tests are executed for all the environments listed in tox.ini’s envlist. In our case, this includes Python 2.7 and 3.6, so for this to work the python2.7 and python3.6 executables must be available in your PATH.

You can specify an alternative environment list via the -e option, or the TOXENV environment variable:

tox -e py27-nocov
TOXENV="py36-cov,htmlcov" tox

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fontParts-0.1.2.zip (110.9 kB view details)

Uploaded Source

Built Distribution

fontParts-0.1.2-py2.py3-none-any.whl (105.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file fontParts-0.1.2.zip.

File metadata

  • Download URL: fontParts-0.1.2.zip
  • Upload date:
  • Size: 110.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for fontParts-0.1.2.zip
Algorithm Hash digest
SHA256 500cd4dc904c4b2fea5ce526e852c78f765b37974e18334e52551b15fec890a7
MD5 970d9eed6c2bf5e0f27fa097d81ef16e
BLAKE2b-256 a0cc31488870b27824ba6033d7a43eb21a3d0344471546e1df236e2f8226e88a

See more details on using hashes here.

File details

Details for the file fontParts-0.1.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for fontParts-0.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 011e4c79675cb90eb75341491932023b6d0aa2a1847292ac09f608c4c9b6830e
MD5 40da41053bde965cefeb91d2d83f4132
BLAKE2b-256 2eb617a529cab662e62680a7c8d492791e87399f4626db186130659c2c9b8c72

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page