summaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authorRasmus Andersson <rasmus@notion.se>2023-05-30 23:55:37 +0300
committerRasmus Andersson <rasmus@notion.se>2023-05-30 23:55:37 +0300
commit9ebede5a554ad7ad1b8961a6dc0883db7f599271 (patch)
tree268271ecb22389ecba1885d6a298ece634f3cd4b /misc
parent106217ed5705f1383bdf086f753599441b1423d0 (diff)
downloadinter-9ebede5a554ad7ad1b8961a6dc0883db7f599271.tar.xz
tooling: make postprocess-designspace.py infer opsz range instead of using hard-coded values
Diffstat (limited to 'misc')
-rw-r--r--misc/tools/postprocess-designspace.py24
1 files changed, 19 insertions, 5 deletions
diff --git a/misc/tools/postprocess-designspace.py b/misc/tools/postprocess-designspace.py
index af3d3e6c4..fbe76a364 100644
--- a/misc/tools/postprocess-designspace.py
+++ b/misc/tools/postprocess-designspace.py
@@ -46,12 +46,26 @@ def update_version(ufo):
def fix_opsz_range(designspace):
- # TODO: find extremes by looking at the source
- for a in designspace.axes:
- if a.tag == "opsz":
- a.minimum = 14
- a.maximum = 32
+ opsz_min = 1000000
+ opsz_max = 0
+ opsz_name = ''
+ opsz_axis = None
+
+ for opsz_axis in designspace.axes:
+ if opsz_axis.tag == "opsz":
+ opsz_name = opsz_axis.name
break
+
+ for instance in designspace.instances:
+ opsz_value = instance.location[opsz_name]
+ if opsz_value < opsz_min:
+ opsz_min = opsz_value
+ if opsz_value > opsz_max:
+ opsz_max = opsz_value
+
+ opsz_axis.minimum = opsz_min
+ opsz_axis.maximum = opsz_max
+
return designspace