Skip to content

Commit

Permalink
Merge pull request #23 from source-foundry/dev
Browse files Browse the repository at this point in the history
v1.0.0
  • Loading branch information
chrissimpkins authored Mar 29, 2020
2 parents fec91cc + 36ad611 commit 1a82f41
Show file tree
Hide file tree
Showing 6 changed files with 49 additions and 31 deletions.
9 changes: 7 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,17 @@ matrix:
install: pip install --upgrade tox pytest
dist: xenial
script: tox -e $TOX_ENV
- python: 3.8
env: TOX_ENV=py38
install: pip install --upgrade tox pytest
dist: xenial
script: tox -e $TOX_ENV
- os: osx
language: generic
osx_image: xcode11 # Python 3.7.4 running on macOS 10.14.4
osx_image: xcode11 # Python 3.7.4 running on macOS 10.14.4
install: pip3 install --upgrade tox pytest
env: TOX_ENV=py37
script: tox -e $TOX_ENV

notifications:
email: false
email: false
8 changes: 7 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog

## v1.0.0

- updated fontTools and associated dependencies to v4.6.0 release
- this update adds Unicode 13 support
- add Python3.8 CI testing support

## v0.4.3

- escalated fontTools dependency version to v4.2.4
Expand Down Expand Up @@ -49,4 +55,4 @@

## v0.0.1

- pre-release for PyPI naming
- pre-release for PyPI naming
43 changes: 18 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,19 @@
<br/>

[![PyPI](https://img.shields.io/pypi/v/dehinter?color=blueviolet&label=PyPI&logo=python&logoColor=white)](https://pypi.org/project/dehinter/)
[![Build Status](https://travis-ci.org/source-foundry/dehinter.svg?branch=master)](https://travis-ci.org/source-foundry/dehinter)
[![Build Status](https://travis-ci.com/source-foundry/dehinter.svg?branch=master)](https://travis-ci.com/source-foundry/dehinter)
[![Build status](https://ci.appveyor.com/api/projects/status/08uftyy98ni837ak?svg=true)](https://ci.appveyor.com/project/chrissimpkins/dehinter)
[![codecov](https://codecov.io/gh/source-foundry/dehinter/branch/master/graph/badge.svg)](https://codecov.io/gh/source-foundry/dehinter)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/a2f54fac2c544f389e0066cfa159dfe8)](https://www.codacy.com/app/SourceFoundry/dehinter?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=source-foundry/dehinter&amp;utm_campaign=Badge_Grade)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/a2f54fac2c544f389e0066cfa159dfe8)](https://www.codacy.com/app/SourceFoundry/dehinter?utm_source=github.com&utm_medium=referral&utm_content=source-foundry/dehinter&utm_campaign=Badge_Grade)

## About

`dehinter` is a Python command line application that removes TrueType instruction sets, global hinting tables, and other associated OpenType table data in font files. The tool provides cross-platform support on macOS, Windows, and Linux systems with a Python v3.6+ interpreter.
`dehinter` is a Python command line application that removes TrueType instruction sets, global hinting tables, and other associated OpenType table data in font files. The tool provides cross-platform support on macOS, Windows, and Linux systems with a Python v3.6+ interpreter.

## What it does

- Removes OpenType [glyf table](https://docs.microsoft.com/en-us/typography/opentype/spec/glyf) instruction set bytecode data
- Removes OpenType and other TTF hinting related tables
- [cvt table](https://docs.microsoft.com/en-us/typography/opentype/spec/cvt)
- [fpgm table](https://docs.microsoft.com/en-us/typography/opentype/spec/fpgm)
- [hdmx table](https://docs.microsoft.com/en-us/typography/opentype/spec/hdmx)
- [LTSH table](https://docs.microsoft.com/en-us/typography/opentype/spec/ltsh)
- [prep table](https://docs.microsoft.com/en-us/typography/opentype/spec/prep)
- [TTFA table](https://www.freetype.org/ttfautohint/doc/ttfautohint.html#add-ttfa-info-table) (not part of the OpenType specification)
- [VDMX table](https://docs.microsoft.com/en-us/typography/opentype/spec/vdmx)
- Removes OpenType and other TTF hinting related tables - [cvt table](https://docs.microsoft.com/en-us/typography/opentype/spec/cvt) - [fpgm table](https://docs.microsoft.com/en-us/typography/opentype/spec/fpgm) - [hdmx table](https://docs.microsoft.com/en-us/typography/opentype/spec/hdmx) - [LTSH table](https://docs.microsoft.com/en-us/typography/opentype/spec/ltsh) - [prep table](https://docs.microsoft.com/en-us/typography/opentype/spec/prep) - [TTFA table](https://www.freetype.org/ttfautohint/doc/ttfautohint.html#add-ttfa-info-table) (not part of the OpenType specification) - [VDMX table](https://docs.microsoft.com/en-us/typography/opentype/spec/vdmx)
- Updates [gasp table](https://docs.microsoft.com/en-us/typography/opentype/spec/gasp) values
- Updates [maxp table](https://docs.microsoft.com/en-us/typography/opentype/spec/maxp) values
- Updates [head table](https://docs.microsoft.com/en-us/typography/opentype/spec/head) bit flags
Expand Down Expand Up @@ -77,21 +70,21 @@ Please report issues on the [project issue tracker](https://github.com/source-fo

## Contributing

Contributions are warmly welcomed. A development dependency environment can be installed in editable mode with the developer installation documentation above.
Contributions are warmly welcomed. 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.
Python source files are linted with `flake8`. See the Makefile `test-lint` target for details.

### Source file static type checks

Static type checks are performed on Python source files with `pytype`. See the Makefile `test-type-check` target for details.
Static type checks are performed on Python source files with `pytype`. See the Makefile `test-type-check` target for details.

### Testing

The project runs continuous integration testing on [Travis CI](https://travis-ci.org/source-foundry/dehinter) and [Appveyor CI](https://ci.appveyor.com/project/chrissimpkins/dehinter) with the `pytest` and `tox` testing toolchain. Test modules are located in the `tests` directory of the repository.
The project runs continuous integration testing on [Travis CI](https://travis-ci.org/source-foundry/dehinter) and [Appveyor CI](https://ci.appveyor.com/project/chrissimpkins/dehinter) with the `pytest` and `tox` 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:

Expand All @@ -103,24 +96,24 @@ 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.
Unit test coverage is executed with the `coverage` tool. See the Makefile `test-coverage` target for details.

## Acknowledgments

`dehinter` is built with the fantastic [fontTools free software library](https://github.com/fonttools/fonttools) and is based on the dehinting approach used in the [`ttfautohint` free software project](https://www.freetype.org/ttfautohint/).

## License

Copyright 2019 Source Foundry Authors and Contributors
Copyright 2019 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
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.
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.
10 changes: 9 additions & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,25 @@ environment:
PYTHON_HOME: "C:\\Python36"
TOX_PY: py36

- JOB: "3.6 64-bit"
PYTHON_HOME: "C:\\Python36-x64"
TOX_PY: py36

- JOB: "3.7 64-bit"
PYTHON_HOME: "C:\\Python37-x64"
TOX_PY: py37

- JOB: "3.8 64-bit"
PYTHON_HOME: "C:\\Python38-x64"
TOX_PY: py38

install:
# Prepend Python to the PATH of this build
- "SET PATH=%PYTHON_HOME%;%PYTHON_HOME%\\Scripts;%PATH%"

# check that we have the expected version and architecture for Python
- "python --version"
- "python -c \"import struct; print(struct.calcsize('P') * 8)\""
- 'python -c "import struct; print(struct.calcsize(''P'') * 8)"'

# upgrade pip and setuptools to avoid out-of-date warnings
- "python -m pip install --disable-pip-version-check --user --upgrade pip setuptools virtualenv"
Expand Down
2 changes: 1 addition & 1 deletion lib/dehinter/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.

version = __version__ = "0.4.3"
version = __version__ = "1.0.0"
8 changes: 7 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1 +1,7 @@
fontTools==4.6.0
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile
#
fonttools==4.6.0 # via dehinter (setup.py)

0 comments on commit 1a82f41

Please sign in to comment.