8678 Commits

Author SHA1 Message Date
Nikolaus Waxweiler
8d2a3ae6d2 Add expectContentsFile parameter to GlyphSet
For use when reading existing UFOs, to comply with the specification stating that a contents.plist file must exist in a glyph set.

Closes https://github.com/fonttools/fonttools/issues/2111.
2020-11-23 13:57:32 +00:00
Simon Cozens
72291031ac Tidy up add_problem 2020-11-21 08:00:07 +00:00
Simon Cozens
c6e5a7ab93 Catch open contours more explicitly 2020-11-21 07:59:39 +00:00
Khaled Hosny
d8e546df5f [subset] Allow LangSys tags in --layout-scripts
Allow specifying which LangSys tags to accept for each script, using
script.lang form. For example:

    --layout-scripts=arab.dflt,arab.URD,latn

To keep DefaultLangSys and “URD” language for “arab” script, and all
languages for “latn” script.
2020-11-20 23:38:29 +02:00
Cosimo Lupo
26d06342f9
Merge pull request #2110 from verbosus/pyobjc
Optionally install PyObjC if on macOS test env
2020-11-20 13:16:26 +00:00
Antonio Cavedoni
56a168aa81 Update requirements.txt rather than conditionally install pyobjc in the GHA workflow 2020-11-20 14:05:46 +01:00
Cosimo Lupo
47a272a7e0
Merge pull request #2107 from verbosus/quartzpen
Added QuartzPen
2020-11-20 12:27:11 +00:00
Antonio Cavedoni
c2cbcc7a06 Optionally install PyObjC if on macOS test env (#2108) 2020-11-20 12:58:00 +01:00
Antonio Cavedoni
742983f087 Add QuartzPen 2020-11-20 12:38:43 +01:00
Simon Cozens
584555a344 fix tests 2020-11-20 11:18:54 +00:00
Simon Cozens
392149ac1d Tidy up output, add machine readable JSON option
Example text output:

```
Glyph D was not compatible:
    Node 1 incompatible in path 0: curveTo in Coolangatta-Regular, lineTo in Coolangatta-Bold
    Node count differs in path 1: 7 in Coolangatta-Regular, 6 in Coolangatta-Bold
Glyph N was not compatible:
    Node 11 incompatible in path 0: curveTo in Coolangatta-Regular, lineTo in Coolangatta-Bold
Glyph v was not compatible:
    Node 7 incompatible in path 0: lineTo in Coolangatta-Regular, curveTo in Coolangatta-Bold
```

Example JSON output:

```
{
  "D": [
    {
      "type": "node_incompatibility",
      "path": 0,
      "node": 1,
      "master_1": "Coolangatta-Regular",
      "master_2": "Coolangatta-Bold",
      "value_1": "curveTo",
      "value_2": "lineTo"
    },
    {
      "type": "node_count",
      "path": 1,
      "master_1": "Coolangatta-Regular",
      "master_2": "Coolangatta-Bold",
      "value_1": 7,
      "value_2": 6
    }
  ],
  "N": [
    {
      "type": "node_incompatibility",
      "path": 0,
      "node": 9,
      "master_1": "Coolangatta-Regular",
      "master_2": "Coolangatta-Bold",
      "value_1": "curveTo",
      "value_2": "lineTo"
    }
  ],
  "v": [
    {
      "type": "node_incompatibility",
      "path": 0,
      "node": 7,
      "master_1": "Coolangatta-Regular",
      "master_2": "Coolangatta-Bold",
      "value_1": "lineTo",
      "value_2": "curveTo"
    }
  ]
}
```
2020-11-20 11:18:54 +00:00
Simon Cozens
08e2a6cdc1 Reformat with black 2020-11-20 11:18:54 +00:00
Simon Cozens
129e2413a0 Gracefully handle glyphset mismatches 2020-11-20 11:18:53 +00:00
Simon Cozens
fdbe0763df Catch explosion on open paths 2020-11-20 11:18:53 +00:00
Simon Cozens
61814d41f5 Allow UFO files to be used in varLib.interpolatable
The joys of well-defined interfaces.
2020-11-20 11:18:53 +00:00
Cosimo Lupo
ae07ce6e55
Merge pull request #2100 from fonttools/switch-to-gha
Switch to GitHub Actions
2020-11-20 11:03:54 +00:00
Cosimo Lupo
685b047565 varLib_test: fix failing windows tests
os.path.relpath requires that src and dst be on the same mount drive; GH Actions windows runner create the temporary directory on a different drive than the one where the source is cloned.
2020-11-20 10:06:58 +00:00
Nikolaus Waxweiler
018a798fdd Add GitHub Actions integration 2020-11-20 10:06:27 +00:00
Nikolaus Waxweiler
c7819e6bc3 Remove Travis and Appveyor integration 2020-11-20 10:06:14 +00:00
Simon Cozens
6864100ff4
Merge pull request #2106 from simoncozens/debugging-switch
Turn on feaLib debugging from the environment
2020-11-19 06:49:11 -08:00
Simon Cozens
f827a2a7f1 Turn on feaLib debugging from the environment
export FONTTOOLS_LOOKUP_DEBUGGING=1 to make a Debg table
2020-11-19 11:48:54 +00:00
Simon Cozens
3e964ad8da
Merge pull request #2101 from simoncozens/alternate-contextual-representations
[otlLib] Build format 1 and format 2 contextual lookups
2020-11-18 07:34:04 -08:00
Simon Cozens
a99bd4296a Tests for GSUB5/GSUB6 formats 1, 2 and 3 2020-11-17 15:17:02 +00:00
Simon Cozens
47d95c5e30 Fix varLib test expectations 2020-11-17 12:19:35 +00:00
Simon Cozens
fb9d34af1b Try again... 2020-11-17 12:05:52 +00:00
Simon Cozens
df5527bccc Revert "Remove unneeded populateDefaults". removed wrong line...
This reverts commit a043e35f1ca287431bd63aa566d50d7e70634fea.
2020-11-17 12:05:31 +00:00
Simon Cozens
635df38f32 Comment to explain copy 2020-11-17 09:13:30 +00:00
Simon Cozens
8e524e41f5 "if not x in" -> "if x not in" 2020-11-17 09:12:38 +00:00
Simon Cozens
7bbff5d21f Re-case variable names (and clarify) 2020-11-17 09:11:56 +00:00
Simon Cozens
1a6f53dfc9 Explain weird (list(foo))[0] thing 2020-11-17 09:11:37 +00:00
Simon Cozens
a043e35f1c Remove unneeded populateDefaults 2020-11-17 09:08:44 +00:00
Simon Cozens
be7d9a33a3 Raise on unknown format, also reorder to be more sensible 2020-11-17 09:08:20 +00:00
Cosimo Lupo
3659702529
Bump version: 4.17.1 → 4.17.2.dev0 2020-11-16 17:36:48 +00:00
Cosimo Lupo
92081ea926
Release 4.17.1 2020-11-16 17:36:47 +00:00
Cosimo Lupo
a22c724643
update changelog [skip ci] 2020-11-16 17:36:26 +00:00
Cosimo Lupo
e5439eb92b
colorLib: also treat lists [layerGlyph, paletteIndex] as COLRv0 layers
Don't be too strict about them being tuple type. Plist doesn't distinguish the two.
Fixes https://github.com/googlefonts/ufo2ft/issues/426
2020-11-16 16:38:22 +00:00
Cosimo Lupo
b6ef2408c5
colorLib_test: test that we accept either tuple or list for COLRv0 layer
https://github.com/googlefonts/ufo2ft/issues/426
2020-11-16 16:29:18 +00:00
Simon Cozens
db37b3bd9a Update test expectations 2020-11-16 13:42:22 +00:00
Simon Cozens
07b186a41e Build most compact lookup representation
This builds all possible representations of a contextual lookup and then selects the most copact
2020-11-16 13:42:07 +00:00
Simon Cozens
f6fac3cbbf Helper function to determine compiled size of a lookup 2020-11-16 13:41:19 +00:00
Simon Cozens
ef002fbcc3 Add format 1 subtable builder 2020-11-16 13:41:02 +00:00
Simon Cozens
8b3963a306 Add format 2 subtable builder 2020-11-16 13:40:50 +00:00
Simon Cozens
fe075a4a0e Helper functions for building rulesets and rules for F1/F2 lookups 2020-11-16 13:39:55 +00:00
Simon Cozens
88ed5e2c9e Refactor out part of format3 builder which handles LookupRecords
This will allow the same code to be used by other contextual formats (f1, f2)
2020-11-16 13:39:07 +00:00
Cosimo Lupo
2a09da2e56
Bump version: 4.17.0 → 4.17.1.dev0 2020-11-12 16:08:44 +00:00
Cosimo Lupo
dd2eccaa7d
Release 4.17.0 2020-11-12 16:08:43 +00:00
Cosimo Lupo
1b5ed3773e
Update changelog [skip ci] 2020-11-12 16:08:33 +00:00
Cosimo Lupo
67d01e837c
Merge pull request #2098 from fonttools/pyup-scheduled-update-2020-11-09
Scheduled weekly dependency update for week 45
2020-11-11 19:21:14 +00:00
Cosimo Lupo
e7494bbfb9
Merge pull request #2094 from fonttools/svg-arc-flags-no-spaces
svgLib: handle arc commands with bool flags not separated by space/comma
2020-11-11 19:20:31 +00:00
Cosimo Lupo
ed718db677
Merge pull request #2092 from fonttools/colrv1-latest
update colorLib to latest COLRv1 draft
2020-11-11 19:00:10 +00:00