tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
python3.pkgs.ufo2ft: init at 2.25.2
Jan Tojnar
4 years ago
14ca8af9
5a8870cd
+193
3 changed files
expand all
collapse all
unified
split
pkgs
development
python-modules
ufo2ft
default.nix
fonttools-cu2qu.patch
top-level
python-packages.nix
+65
pkgs/development/python-modules/ufo2ft/default.nix
···
1
1
+
{ lib
2
2
+
, buildPythonPackage
3
3
+
, fetchPypi
4
4
+
, setuptools-scm
5
5
+
, fonttools
6
6
+
, defcon
7
7
+
, compreffor
8
8
+
, booleanoperations
9
9
+
, cffsubr
10
10
+
, pytestCheckHook
11
11
+
}:
12
12
+
13
13
+
buildPythonPackage rec {
14
14
+
pname = "ufo2ft";
15
15
+
version = "2.25.2";
16
16
+
17
17
+
format = "setuptools";
18
18
+
19
19
+
src = fetchPypi {
20
20
+
inherit pname version;
21
21
+
sha256 = "ooWIHvyMtrht4WcGPiacY8dfjPSb5uitHnTRTKvf2AA=";
22
22
+
};
23
23
+
24
24
+
patches = [
25
25
+
# Use cu2qu from fonttools.
26
26
+
# https://github.com/googlefonts/ufo2ft/pull/461
27
27
+
./fonttools-cu2qu.patch
28
28
+
];
29
29
+
30
30
+
nativeBuildInputs = [
31
31
+
setuptools-scm
32
32
+
];
33
33
+
34
34
+
propagatedBuildInputs = [
35
35
+
fonttools
36
36
+
defcon
37
37
+
compreffor
38
38
+
booleanoperations
39
39
+
cffsubr
40
40
+
];
41
41
+
42
42
+
checkInputs = [
43
43
+
pytestCheckHook
44
44
+
];
45
45
+
46
46
+
pytestFlagsArray = [
47
47
+
# Do not depend on skia.
48
48
+
"--deselect=tests/integration_test.py::IntegrationTest::test_removeOverlaps_CFF_pathops"
49
49
+
"--deselect=tests/integration_test.py::IntegrationTest::test_removeOverlaps_pathops"
50
50
+
"--deselect=tests/preProcessor_test.py::TTFPreProcessorTest::test_custom_filters_as_argument"
51
51
+
"--deselect=tests/preProcessor_test.py::TTFInterpolatablePreProcessorTest::test_custom_filters_as_argument"
52
52
+
];
53
53
+
54
54
+
postPatch = ''
55
55
+
# Does not seem to find 0.2.9.post1 for some reason.
56
56
+
substituteInPlace setup.py \
57
57
+
--replace '"cffsubr>=0.2.8"' '"cffsubr"'
58
58
+
'';
59
59
+
60
60
+
meta = with lib; {
61
61
+
description = "Bridge from UFOs to FontTools objects";
62
62
+
homepage = "https://github.com/googlefonts/ufo2ft";
63
63
+
license = licenses.mit;
64
64
+
};
65
65
+
}
+126
pkgs/development/python-modules/ufo2ft/fonttools-cu2qu.patch
···
1
1
+
From 0b3631e91c93d56460929f40850f7d8a39a71bde Mon Sep 17 00:00:00 2001
2
2
+
From: Simon Cozens <simon@simon-cozens.org>
3
3
+
Date: Thu, 11 Feb 2021 09:43:41 +0000
4
4
+
Subject: [PATCH 1/2] Rename cu2qu to fontTools.cu2qu
5
5
+
6
6
+
---
7
7
+
Lib/ufo2ft/filters/cubicToQuadratic.py | 4 ++--
8
8
+
Lib/ufo2ft/preProcessor.py | 4 ++--
9
9
+
requirements.txt | 1 -
10
10
+
setup.py | 1 -
11
11
+
tests/outlineCompiler_test.py | 2 +-
12
12
+
tests/preProcessor_test.py | 2 +-
13
13
+
6 files changed, 6 insertions(+), 8 deletions(-)
14
14
+
15
15
+
diff --git a/Lib/ufo2ft/filters/cubicToQuadratic.py b/Lib/ufo2ft/filters/cubicToQuadratic.py
16
16
+
index 87d81b1f..4b77144f 100644
17
17
+
--- a/Lib/ufo2ft/filters/cubicToQuadratic.py
18
18
+
+++ b/Lib/ufo2ft/filters/cubicToQuadratic.py
19
19
+
@@ -1,7 +1,7 @@
20
20
+
import logging
21
21
+
22
22
+
-from cu2qu.pens import Cu2QuPointPen
23
23
+
-from cu2qu.ufo import CURVE_TYPE_LIB_KEY, DEFAULT_MAX_ERR
24
24
+
+from fontTools.pens.cu2quPen import Cu2QuPointPen
25
25
+
+from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY, DEFAULT_MAX_ERR
26
26
+
27
27
+
from ufo2ft.filters import BaseFilter
28
28
+
from ufo2ft.fontInfoData import getAttrWithFallback
29
29
+
diff --git a/Lib/ufo2ft/preProcessor.py b/Lib/ufo2ft/preProcessor.py
30
30
+
index 05ac47dc..c796df2e 100644
31
31
+
--- a/Lib/ufo2ft/preProcessor.py
32
32
+
+++ b/Lib/ufo2ft/preProcessor.py
33
33
+
@@ -217,7 +217,7 @@ def __init__(
34
34
+
layerNames=None,
35
35
+
skipExportGlyphs=None,
36
36
+
):
37
37
+
- from cu2qu.ufo import DEFAULT_MAX_ERR
38
38
+
+ from fontTools.cu2qu.ufo import DEFAULT_MAX_ERR
39
39
+
40
40
+
self.ufos = ufos
41
41
+
self.inplace = inplace
42
42
+
@@ -249,7 +249,7 @@ def __init__(
43
43
+
self.postFilters.append(post)
44
44
+
45
45
+
def process(self):
46
46
+
- from cu2qu.ufo import fonts_to_quadratic
47
47
+
+ from fontTools.cu2qu.ufo import fonts_to_quadratic
48
48
+
49
49
+
# first apply all custom pre-filters
50
50
+
for funcs, ufo, glyphSet in zip(self.preFilters, self.ufos, self.glyphSets):
51
51
+
diff --git a/setup.py b/setup.py
52
52
+
index 175429af..eef39ee1 100644
53
53
+
--- a/setup.py
54
54
+
+++ b/setup.py
55
55
+
@@ -30,7 +30,6 @@
56
56
+
tests_require=["pytest>=2.8"],
57
57
+
install_requires=[
58
58
+
"fonttools[ufo]>=4.28.5",
59
59
+
- "cu2qu>=1.6.7",
60
60
+
"cffsubr>=0.2.8",
61
61
+
"booleanOperations>=0.9.0",
62
62
+
],
63
63
+
diff --git a/tests/outlineCompiler_test.py b/tests/outlineCompiler_test.py
64
64
+
index 74319184..e7b15a23 100644
65
65
+
--- a/tests/outlineCompiler_test.py
66
66
+
+++ b/tests/outlineCompiler_test.py
67
67
+
@@ -2,7 +2,7 @@
68
68
+
import os
69
69
+
70
70
+
import pytest
71
71
+
-from cu2qu.ufo import font_to_quadratic
72
72
+
+from fontTools.cu2qu.ufo import font_to_quadratic
73
73
+
from fontTools.ttLib import TTFont
74
74
+
from fontTools.ttLib.tables._g_l_y_f import USE_MY_METRICS
75
75
+
76
76
+
diff --git a/tests/preProcessor_test.py b/tests/preProcessor_test.py
77
77
+
index 64196f92..87b23946 100644
78
78
+
--- a/tests/preProcessor_test.py
79
79
+
+++ b/tests/preProcessor_test.py
80
80
+
@@ -2,7 +2,7 @@
81
81
+
import os
82
82
+
83
83
+
import pytest
84
84
+
-from cu2qu.ufo import CURVE_TYPE_LIB_KEY
85
85
+
+from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY
86
86
+
from fontTools import designspaceLib
87
87
+
88
88
+
import ufo2ft
89
89
+
90
90
+
From 27c5af88ec2c3314618ecbf65104050a53508bb0 Mon Sep 17 00:00:00 2001
91
91
+
From: Simon Cozens <simon@simon-cozens.org>
92
92
+
Date: Thu, 11 Feb 2021 09:49:28 +0000
93
93
+
Subject: [PATCH 2/2] Sort the imports
94
94
+
95
95
+
---
96
96
+
Lib/ufo2ft/filters/cubicToQuadratic.py | 2 +-
97
97
+
tests/preProcessor_test.py | 2 +-
98
98
+
2 files changed, 2 insertions(+), 2 deletions(-)
99
99
+
100
100
+
diff --git a/Lib/ufo2ft/filters/cubicToQuadratic.py b/Lib/ufo2ft/filters/cubicToQuadratic.py
101
101
+
index 4b77144f..5f28ea42 100644
102
102
+
--- a/Lib/ufo2ft/filters/cubicToQuadratic.py
103
103
+
+++ b/Lib/ufo2ft/filters/cubicToQuadratic.py
104
104
+
@@ -1,7 +1,7 @@
105
105
+
import logging
106
106
+
107
107
+
-from fontTools.pens.cu2quPen import Cu2QuPointPen
108
108
+
from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY, DEFAULT_MAX_ERR
109
109
+
+from fontTools.pens.cu2quPen import Cu2QuPointPen
110
110
+
111
111
+
from ufo2ft.filters import BaseFilter
112
112
+
from ufo2ft.fontInfoData import getAttrWithFallback
113
113
+
diff --git a/tests/preProcessor_test.py b/tests/preProcessor_test.py
114
114
+
index 87b23946..76ee495a 100644
115
115
+
--- a/tests/preProcessor_test.py
116
116
+
+++ b/tests/preProcessor_test.py
117
117
+
@@ -2,8 +2,8 @@
118
118
+
import os
119
119
+
120
120
+
import pytest
121
121
+
-from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY
122
122
+
from fontTools import designspaceLib
123
123
+
+from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY
124
124
+
125
125
+
import ufo2ft
126
126
+
from ufo2ft.constants import (
+2
pkgs/top-level/python-packages.nix
···
10063
10063
inherit (pkgs.xorg) libX11 libXext;
10064
10064
};
10065
10065
10066
10066
+
ufo2ft = callPackage ../development/python-modules/ufo2ft { };
10067
10067
+
10066
10068
ufonormalizer = callPackage ../development/python-modules/ufonormalizer { };
10067
10069
10068
10070
ufoprocessor = callPackage ../development/python-modules/ufoprocessor { };