7119 Commits

Author SHA1 Message Date
Martin Hosken
52a8ff32d3 Fix Sill table output to pass OTS 2019-08-23 08:46:23 +07:00
Cosimo Lupo
63fb3fb881
setup.cfg: mark wheel as non-universal, py3 only
I forgot to do this before releasing 4.0.0 -- but it's ok.
Even if wheel file name incorrectly says 'py2.py3', PyPI reads the metadata
from the package and returns the correct version of fonttools (3.44.0 vs 4.0)
depending on the version of the python interpreter used to run pip installer.
2019-08-22 16:40:08 +02:00
Cosimo Lupo
1b4bb8bc9c
Bump version: 4.0.0 → 4.0.1.dev0 2019-08-22 13:00:40 +02:00
Cosimo Lupo
e16a9fe4ce
Release 4.0.0 2019-08-22 13:00:40 +02:00
Cosimo Lupo
0b88812237
.gitignore: remove unused entries
the boilerplate .gitignore from Github was too broad and all-catching.
It included things like 'lib' (which is where all modules are in fonttools...)
or stuff for tools which we never use.
So I just deleted those.
2019-08-22 13:00:27 +02:00
Cosimo Lupo
11ab975162
Update changelog [skip ci] 2019-08-22 12:23:18 +02:00
Khaled Hosny
197b36fef4 [feaLib] Don’t accept hex/octal numbers everywhere
Only in name, nameid, sizemenuname and Character.
2019-08-17 13:43:18 +02:00
Khaled Hosny
ae239722d4 [feaLib] Correctly handle octal numbers
From https://www.adobe.com/devnet/opentype/afdko/topic_feature_file_syntax.html#9.e:
> Decimal numbers must begin with a non-0 digit, octal numbers with a 0
> digit, and hexadecimal numbers with a 0x prefix to numbers and
> hexadecimal letters a-f or A-F.

Fixes https://github.com/fonttools/fonttools/issues/1541
2019-08-17 13:43:18 +02:00
Khaled Hosny
6cb0a56020 [cffLib] Make sure glyph names are unique
Similar to what we do with “post” table names. I’d have said the font is
broken, but all applications I tried it with loaded it just fine, though
they differed in which glyph to pick from the duplicate ones.

Fixes https://github.com/fonttools/fonttools/issues/1602
2019-08-17 12:51:31 +02:00
Just van Rossum
0ea19f3bd3
[ttLib] allow the glyf table to be incomplete when dumping to XML (#1681)
[ttLib] Allow the glyf table to be incomplete (to not contain everything from the glyph order) when writing to XML. This partially addresses #684 in that it will allow the font Ambrosia.otb to be dumped with ttx (but not recompiled). Log a warning when a glyph is not present.
2019-08-15 18:46:14 +02:00
Nikolaus Waxweiler
848b37c48a
Merge pull request #1693 from fonttools/py3-clean-out-py2-deps
Remove dependencies for Python < 3.6
2019-08-13 14:29:11 +01:00
Nikolaus Waxweiler
008973a50c Remove remaining unnecessary python_version markers 2019-08-13 14:09:36 +01:00
Nikolaus Waxweiler
7875714cc0 Remove dependencies for Python < 3.6 2019-08-13 11:54:55 +01:00
Cosimo Lupo
38a8eb0e34
varLib.models: fix KeyError when no on-axis points while sorting masters
E.g. when trying to model/plot an unusual designspace like: fonttools varLib.plot 0,0 -1,-1 1,-1 -1,1 1,1
2019-08-12 12:59:45 +02:00
Nikolaus Waxweiler
630a31e552
Merge pull request #1690 from fonttools/py3-varLib-remove-py23-imports
varLib: Remove py23 imports
2019-08-12 11:45:28 +01:00
Nikolaus Waxweiler
60584262e1
Merge pull request #1689 from fonttools/update-gitignore
Update gitignore with generic boilerplate
2019-08-12 11:44:31 +01:00
Nikolaus Waxweiler
0f3eaca219 models.py: minor lint fix 2019-08-10 22:20:24 +01:00
Nikolaus Waxweiler
68a5ceac6d varLib: Remove py23 imports 2019-08-10 15:39:02 +01:00
Nikolaus Waxweiler
d77223a54f Update gitignore
https://raw.githubusercontent.com/github/gitignore/master/Python.gitignore
2019-08-09 16:43:54 +01:00
Nikolaus Waxweiler
14716c8491
Merge pull request #1687 from fonttools/py3-update-readme
Update Readme for Python 3.6+ requirement
2019-08-09 13:34:10 +01:00
Cosimo Lupo
0354a4d4c6
Bump version: 3.44.1.dev0 → 4.0.0.dev0 2019-08-09 13:22:08 +01:00
Nikolaus Waxweiler
c233fb9bfd Update Readme for Python 3.6+ requirement 2019-08-09 13:19:21 +01:00
Cosimo Lupo
e13fca3449
Merge pull request #1686 from madig/make-py3-only
Make code Python 3 only
2019-08-09 13:01:13 +01:00
Nikolaus Waxweiler
01328213c7 Remove __future__ imports 2019-08-09 12:20:13 +01:00
Nikolaus Waxweiler
ab45b3b0c1 Pare down py23 module to Python 3 symbols only, deprecate 2019-08-09 11:30:39 +01:00
Nikolaus Waxweiler
93a358320f setup.py: Mark as Python 3.6+ only
Needs pip 9.0.0+ to honor.
2019-08-09 11:30:05 +01:00
Just van Rossum
5d6f08fd95
[ttLib] fix UnboundLocalError for empty loca/glyph tables (#1680)
* Rename last to pos, and next to nextPos
* make sure nextPos is initialized, to avoid UnboundLocalError on an empty glyf table, partially addressing #684
2019-08-03 13:42:37 +02:00
Nikolaus Waxweiler
4c86ca608f
Merge pull request #1679 from madig/ds-instance-default-font-attr
Add a default InstanceDescriptor.font attribute
2019-08-02 15:39:53 +01:00
Nikolaus Waxweiler
0b9ad5ab80 Add a default InstanceDescriptor.font attribute 2019-08-02 13:40:15 +01:00
Cosimo Lupo
5ac0b9c04e
Merge pull request #1678 from anthrotype/ci-skip-py27
travis/appveyor: no longer run tests on python2.7
2019-08-02 12:03:53 +01:00
Cosimo Lupo
421715b751
travis/appveyor: no longer run tests on python2.7 2019-08-02 11:56:28 +01:00
Cosimo Lupo
bcba6abce5
Bump version: 3.44.0 → 3.44.1.dev0 2019-08-02 11:41:09 +01:00
Cosimo Lupo
04da40e226
Release 3.44.0 2019-08-02 11:41:08 +01:00
Cosimo Lupo
5770a9d630
README: set python 3.6 as minimum required in next fonttools v4 2019-08-02 11:23:49 +01:00
Cosimo Lupo
41528e9f16
Update changelog 2019-08-02 11:17:24 +01:00
Khaled Hosny
71ea0cbe07
Merge pull request #1677 from fonttools/fdselct-format-4
[cffLib] Support FDSselect format 4
2019-08-02 01:05:27 +02:00
Miguel Sousa
43a55050f2
Merge pull request #1669 from fonttools/cff2-fixes
[cffLib specializer] Fix bug in programToCommands with CFF2 charstrings
2019-08-01 13:25:59 -07:00
Khaled Hosny
ad4bb343fc [cffLib] Support FDSselect format 4
Introduced in CFF2 table, but code does not limit it to CFF2 table. If
FDSelect format is set to 4, it will be read/written regardless of the
table version.
2019-08-01 21:28:46 +02:00
Khaled Hosny
97b61b6b1f
Merge pull request #1674 from fonttools/subset-sbix
[subset] Support sbix table
2019-08-01 10:29:18 +02:00
Just van Rossum
a017ac03bc
Merge pull request #1676 from baileyparker/fix_t1_eexec_end_parsing
[t1Lib] Fixes #1675 - T1 eexec end finding spec compliance
2019-08-01 07:16:22 +02:00
Bailey Parker
e9802c50bb
Fixes style 2019-08-01 01:08:25 -04:00
Bailey Parker
6f4e44f13d
Fixes #1675 - T1 eexec end finding spec compliance
The T1 spec (https://www-cdf.fnal.gov/offline/PostScript/T1_SPEC.PDF) on
page 14 says that:

> The text encrypted by eexec must be followed by 512 ASCII zeros. There may be
> white space characters (blank, tab, carriage return or line feed)
> interspersed among these zeros.

  * Add a failing test case with white space characters interspersed
    among the trailing zeros after the eexec

  * Fix eexec end finding so that it passes this new test case
2019-08-01 00:02:12 -04:00
Khaled Hosny
4db8cb237f [subset] Support sbix table
Test font is a subset of:
https://github.com/djrrb/Bungee/blob/master/fonts/Bungee_Color_Fonts/BungeeColor-Regular_sbix_MacOS.ttf
2019-08-01 01:52:38 +02:00
Cosimo Lupo
f9d12be58f
Merge pull request #1672 from fonttools/pyup-scheduled-update-2019-07-29
Scheduled weekly dependency update for week 30
2019-07-31 16:50:18 +01:00
Cosimo Lupo
cf612321d9
Merge pull request #1628 from fonttools/partial-instancer
add new varLib.instancer module
2019-07-31 16:41:25 +01:00
Cosimo Lupo
7ffd6a3d0f
instancer: minor changes following Evan's review 2019-07-31 16:31:38 +01:00
Cosimo Lupo
5455517689
Merge remote-tracking branch 'origin/master' into partial-instancer 2019-07-31 15:22:48 +01:00
Read Roberts
4ee5e6da16 [cffLib specializer] Fix bug in programToCommands with CFF2 charstrings
When checking if there was an initial width argument, old logic did not correctly sum the number of blend and non-blend arguments before the first hint or moveto operator.

Added test case. Old logic dropped the arguments for the hmoveto in the last glyph.
2019-07-30 20:25:38 -07:00
pyup-bot
c1b252f0d5 Update fs from 2.4.8 to 2.4.9 2019-07-29 16:24:05 +01:00
Cosimo Lupo
31391a2a17
requirements: pin lxml==4.3.5 for py35 as well
not just py27.

https://travis-ci.org/fonttools/fonttools/jobs/564917367

Maybe the latest lxml is casting the attributes to a built-in dict type,
which only retains the insertion order from 3.6 onwards?
2019-07-29 12:09:15 +01:00