4324 Commits

Author SHA1 Message Date
Cosimo Lupo
4e9fa7a44c
Merge pull request #1708 from madig/name-toStr-equal-toUnicode
name: Remove now unnecessary Python 2 code path
2019-09-10 16:22:54 +02:00
Cosimo Lupo
9938efbef5
Merge pull request #1712 from chrissimpkins/refactor-array-tofromstring
Refactor deprecated array tostring/fromstring methods to tobytes/frombytes
2019-09-10 16:22:04 +02:00
Cosimo Lupo
b75cf069cc
Merge pull request #1720 from anthrotype/point-to-segment-pen-overlapping-pts
PointToSegmentPen: preserve duplicate last point
2019-09-10 16:17:31 +02:00
Cosimo Lupo
d33eaaf4ca
PointToSegmentPen: preserve duplicate last point
The PointToSegmentPen translates between PointPen and (Segment)Pen
protocol.

In the SegmentPen protocol, closed contours always imply a final 'lineTo'
segment from the last oncurve point to the starting point.
So the PointToSegmentPen omits the final 'lineTo' segment for closed
contours -- unless the option 'outputImpliedClosingLine' is True
(it is False by default, and defcon.Glyph.draw method initializes the
converter pen without this option).

However, if the last oncurve point is on a "line" segment and has same
coordinates as the starting point of a closed contour, the converter pen must
always output the closing 'lineTo' explicitly (regardless of the value of the
'outputImpliedClosingLine' option) in order to disambiguate this case from
the implied closing 'lineTo'.

If it doesn't do that, a duplicate 'line' point at the end of a closed
contour gets lost in the conversion.

See https://github.com/googlefonts/fontmake/issues/572.
2019-09-10 13:05:36 +02:00
Nikolaus Waxweiler
afdb967a28
Merge pull request #1697 from fonttools/fix-minor-type-errors
Fix minor type errors found with pytype
2019-09-09 22:43:48 +01:00
Simon Cozens
6e55f939e3 [ttLib] Add aliases for renamed entries in hhea table
Closes #1714
2019-09-05 12:38:45 +01:00
Chris Simpkins
791f619029 refactor array.tostring to array.tobytes
the array.tostring method is deprecated
2019-08-29 23:21:22 -04:00
Chris Simpkins
12814aa7b1 refactor array.fromstring to array.frombytes
fromstring is a deprecated array method
2019-08-29 22:58:42 -04:00
Nikolaus Waxweiler
811316cd3a Remove now unnecessary Python 2 code path 2019-08-27 15:54:29 +01:00
David Corbett
bb51167fba Fix MultipleSubst subtable overflows 2019-08-24 13:29:53 -04:00
Martin Hosken
52a8ff32d3 Fix Sill table output to pass OTS 2019-08-23 08:46:23 +07: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
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
Khaled Hosny
61bc8458ef [subset] Prune empty strikes in EBDT data
After subsetting some strikes might be empty (strikes don’t have to
cover all glyphs equally) which would cause a key error later when
saving the table.

Fixes https://github.com/fonttools/fonttools/issues/1633
2019-08-17 00:59:44 +02:00
Nikolaus Waxweiler
c1bfc6ad4d cff.py: don't bother cleaning privateDict if it is None 2019-08-16 22:09:52 +01:00
Nikolaus Waxweiler
b8f5d3d705 argparse.ArgumentParser.error takes a str 2019-08-16 22:08:35 +01: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
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
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
Cosimo Lupo
0354a4d4c6
Bump version: 3.44.1.dev0 → 4.0.0.dev0 2019-08-09 13:22:08 +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
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
0b9ad5ab80 Add a default InstanceDescriptor.font attribute 2019-08-02 13:40:15 +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
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
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
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
Cosimo Lupo
b59ac7f13e
Revert "Merge pull request #1671 from anthrotype/varlib-single-master-vf"
This reverts commit f3c99cfef211336a9c6921552462ee1661fbcede, reversing
changes made to 1dcb3c2bde86e9977bb384046e594e35ecd18796.
2019-07-29 10:45:25 +01:00
Cosimo Lupo
a5ed37f262
varLib: don't build empty HVAR or gvar tables
Fixes https://github.com/fonttools/fonttools/issues/1670
2019-07-26 13:21:17 +01:00
justvanrossum
faadb91c8b remove leftover comma, should fix #1666 2019-07-22 15:53:42 +02:00
Medhat Assaad
caa78e1c25
- make otf and ttf sample match as much as possible 2019-07-19 19:37:08 -05:00
Medhat Assaad
9a43ca89bc
add usWinAscent and usWinDescent values to the OS/2 table when creating a ttf 2019-07-17 05:10:13 -05:00
Medhat Assaad
2aba7f6e14
fix the glyph name for space to match the name in the AGL 2019-07-13 08:53:15 -05:00
Medhat Assaad
f51c1145df
make the ttf sample pass FontValidator
I used FontValidator to validate the ttf font. I made some changes to address the errors. Now it passes, but still trying to preview the font in windows raises the same error.
2019-07-13 08:37:47 -05:00
Medhat Assaad
56c1a32744
make the otf minimal example work on windows 10 2019-07-11 07:35:26 -05:00
Cosimo Lupo
506965db6e
Bump version: 3.43.2 → 3.43.3.dev0 2019-07-10 14:05:30 +01:00
Cosimo Lupo
251676bccf
Release 3.43.2 2019-07-10 14:05:30 +01:00