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