Skip to main content

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

Project description

CI Build Status Coverage Codacy 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?

Thank you! Please see the CONTRIBUTING.rst file for a guide on how to 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 3.6 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 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 .

Roadmap

We are currently working towards the 1.0 release.

  • 0.8 Initial releases. Python 2 & 3.

  • 0.9 Python 3 only.

  • 1.0 Documentation and testing complete.

  • 1.5 Removal of Deprecated. Released 1 year after 1.0.

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 fontshell test.py script), but it means testing is different than other python packages.

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

Before you can run the test suite you’ll need to install the test dependencies:

pip install -r dev-requirements.txt

To run the test suite you can do:

python Lib/fontParts/fontshell/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 is Python 3.6, so for this to work the 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 py39-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.9.11.zip (496.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fontParts-0.9.11-py3-none-any.whl (161.9 kB view details)

Uploaded Python 3

File details

Details for the file fontParts-0.9.11.zip.

File metadata

  • Download URL: fontParts-0.9.11.zip
  • Upload date:
  • Size: 496.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for fontParts-0.9.11.zip
Algorithm Hash digest
SHA256 558a5f681fcf7ca0bb5a1c68917b5d9b61c77d517833a01ea1667773d13f4012
MD5 28dea9f06a9eb45af6e9f06e465fd826
BLAKE2b-256 1b7390add4f89c74b7aff5ed7c90522bfc620cecd1c2fa3cee3bd5b006d44a9c

See more details on using hashes here.

File details

Details for the file fontParts-0.9.11-py3-none-any.whl.

File metadata

  • Download URL: fontParts-0.9.11-py3-none-any.whl
  • Upload date:
  • Size: 161.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for fontParts-0.9.11-py3-none-any.whl
Algorithm Hash digest
SHA256 4a039fc5bbc38b45d8cab01fe6f5b814eb85e2d7f76f550c0d2f30dddfa37539
MD5 a9fa1155d4c63bffd5d02fb90e12afc4
BLAKE2b-256 b034964c2e9fd902372c80d8a81c5e31f49091d57592f68df17ecd1945bb4016

See more details on using hashes here.

Supported by

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