Metadata-Version: 2.1
Name: font-size
Version: 0.1.2
Summary: Font file and OpenType table size reporting tool
Home-page: https://github.com/source-foundry/font-size
Author: Source Foundry Authors
Author-email: chris@sourcefoundry.org
License: Apache License v2.0
Platform: Any
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Python: >=3.6.0
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: fontTools
Requires-Dist: brotli
Requires-Dist: rich
Provides-Extra: dev
Requires-Dist: coverage ; extra == 'dev'
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: tox ; extra == 'dev'
Requires-Dist: flake8 ; extra == 'dev'
Requires-Dist: mypy ; extra == 'dev'
Requires-Dist: black ; extra == 'dev'
Provides-Extra: maintain
Requires-Dist: wheel ; extra == 'maintain'
Requires-Dist: setuptools ; extra == 'maintain'
Requires-Dist: twine ; extra == 'maintain'

# font-size

[![PyPI](https://img.shields.io/pypi/v/font-size?color=blueviolet&label=PyPI&logo=python&logoColor=white)](https://pypi.org/project/font-size/)
[![GitHub license](https://img.shields.io/github/license/source-foundry/font-size?color=blue)](https://github.com/source-foundry/font-size/blob/master/LICENSE)
[![Python CI](https://github.com/source-foundry/font-size/actions/workflows/py-ci.yml/badge.svg)](https://github.com/source-foundry/font-size/actions/workflows/py-ci.yml)
[![Python Lints](https://github.com/source-foundry/font-size/actions/workflows/py-lint.yml/badge.svg)](https://github.com/source-foundry/font-size/actions/workflows/py-lint.yml)
[![CodeQL](https://github.com/source-foundry/font-size/actions/workflows/codeql.yml/badge.svg)](https://github.com/source-foundry/font-size/actions/workflows/codeql.yml)

## About

font-size is a Python 3.6+ command line executable tool that reports *.otf, *.ttf, *.woff, and *.woff2 file and individual OpenType table sizes in a clean tabular format.

<img width="500" alt="2021-05-14_12-52-13" src="https://user-images.githubusercontent.com/4249591/118303390-644f5b00-b4b3-11eb-9489-58efa7f1c5f5.png">
<img width="500" alt="2021-05-14_12-52-58" src="https://user-images.githubusercontent.com/4249591/118303392-64e7f180-b4b3-11eb-995e-ef951287c314.png">

## Installation

`font-size` requires a Python 3.6+ interpreter and runs on Linux distros, macOS, and Windows.

Installation in a [Python3 virtual environment](https://docs.python.org/3/library/venv.html) is recommended as dependencies are pinned to versions that are confirmed to work with this project.

Use any of the following installation approaches:

### pip install from PyPI

```
$ pip3 install font-size
```

### pip install from source

```
$ git clone https://github.com/source-foundry/font-size.git
$ cd font-size
$ pip3 install .
```

### Developer install from source

The following approach installs the project and associated optional developer dependencies so that source changes are available without the need for re-installation.

```
$ git clone https://github.com/source-foundry/font-size.git
$ cd font-size
$ pip3 install --ignore-installed -r requirements.txt -e ".[dev]"
```

## Usage

```
$ font-size [FONT PATH 1] [FONT PATH 2] ... [FONT PATH ...]
```

## Issues

Please report issues on the [project issue tracker](https://github.com/source-foundry/font-size/issues).

## Contributing

Contributions are welcome. A development dependency environment can be installed in editable mode with the developer installation documentation above.

Please use the standard Github pull request approach to propose source changes.

### Source file linting

Python source files are linted with `flake8`. See the Makefile `test-lint` target for details.


### Testing

The project runs continuous integration testing on GitHub Actions runners with the `pytest` testing toolchain. Test modules are located in the `tests` directory of the repository.

Local testing by Python interpreter version can be performed with the following command executed from the root of the repository:

```
$ tox -e [PYTHON INTERPRETER VERSION]
```

Please see the `tox` documentation for additional details.

### Test coverage

Unit test coverage is executed with the `coverage` tool. See the Makefile `test-coverage` target for details.

## Acknowledgments

⚡ Powered by these fantastic free tools:

- [fontTools Python library](https://github.com/fonttools/fonttools)
- [rich Python library](https://github.com/willmcgugan/rich)

## License

Copyright 2021 Source Foundry Authors and Contributors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
