question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[Designspace/VF] Regression in 2.28.0

See original GitHub issue

We’ve found a regression with ufo2ft 2.28.0, related to the difference in behavior regarding postscript names for named instances.

After setting up a venv with fontmake 3.3.0, I built the two example fonts like this:

pip install --upgrade ufo2ft==2.27.0 && fontmake -m DS5BreakTest.designspace -o variable --output-path test-ufo2ft-2.27.0.ttf

And

pip install --upgrade ufo2ft==2.28.0 && fontmake -m DS5BreakTest.designspace -o variable --output-path test-ufo2ft-2.28.0.ttf

Sources and built fonts are included in the attached archive. ufo2ft_regression.zip

I pasted the fdiff for fvar and name tables below. It seems the instance PS names aren’t computed correctly. Previously, they weren’t added at all.

I bet it can be fixed by tweaking the source data (how, though?), but this is a rather nasty breakage for a setup that used to work fine.

--- test-ufo2ft-2.27.0.ttf	2022-07-07T10:43:13.917108+02:00
+++ test-ufo2ft-2.28.0.ttf	2022-07-07T10:43:23.797517+02:00
@@ -12,29 +12,24 @@
       <MaxValue>800.0</MaxValue>
       <AxisNameID>256</AxisNameID>
     </Axis>
-
-    <!-- ExtraLight -->
-    <NamedInstance flags="0x0" subfamilyNameID="257">
+    <!-- PostScript: DS5BreakTest- -->
+    <NamedInstance flags="0x0" postscriptNameID="258" subfamilyNameID="257">
       <coord axis="wght" value="200.0"/>
     </NamedInstance>
-
-    <!-- Regular -->
-    <NamedInstance flags="0x0" subfamilyNameID="258">
+    <!-- PostScript: DS5BreakTest- -->
+    <NamedInstance flags="0x0" postscriptNameID="259" subfamilyNameID="257">
       <coord axis="wght" value="400.0"/>
     </NamedInstance>
-
-    <!-- Medium -->
-    <NamedInstance flags="0x0" subfamilyNameID="259">
+    <!-- PostScript: DS5BreakTest- -->
+    <NamedInstance flags="0x0" postscriptNameID="260" subfamilyNameID="257">
       <coord axis="wght" value="480.0"/>
     </NamedInstance>
-
-    <!-- Bold -->
-    <NamedInstance flags="0x0" subfamilyNameID="260">
+    <!-- PostScript: DS5BreakTest- -->
+    <NamedInstance flags="0x0" postscriptNameID="261" subfamilyNameID="257">
       <coord axis="wght" value="666.66667"/>
     </NamedInstance>
-
-    <!-- ExtraBold -->
-    <NamedInstance flags="0x0" subfamilyNameID="261">
+    <!-- PostScript: DS5BreakTest- -->
+    <NamedInstance flags="0x0" postscriptNameID="262" subfamilyNameID="257">
       <coord axis="wght" value="800.0"/>
     </NamedInstance>
   </fvar>
@@ -44,19 +39,22 @@
       Weight
     </namerecord>
     <namerecord nameID="257" platformID="1" platEncID="0" langID="0x0" unicode="True">
-      ExtraLight
+      
     </namerecord>
     <namerecord nameID="258" platformID="1" platEncID="0" langID="0x0" unicode="True">
-      Regular
+      DS5BreakTest-
     </namerecord>
     <namerecord nameID="259" platformID="1" platEncID="0" langID="0x0" unicode="True">
-      Medium
+      DS5BreakTest-
     </namerecord>
     <namerecord nameID="260" platformID="1" platEncID="0" langID="0x0" unicode="True">
-      Bold
+      DS5BreakTest-
     </namerecord>
     <namerecord nameID="261" platformID="1" platEncID="0" langID="0x0" unicode="True">
-      ExtraBold
+      DS5BreakTest-
+    </namerecord>
+    <namerecord nameID="262" platformID="1" platEncID="0" langID="0x0" unicode="True">
+      DS5BreakTest-
     </namerecord>
     <namerecord nameID="0" platformID="3" platEncID="1" langID="0x409">
       None
@@ -92,19 +90,22 @@
       Weight
     </namerecord>
     <namerecord nameID="257" platformID="3" platEncID="1" langID="0x409">
-      ExtraLight
+      
     </namerecord>
     <namerecord nameID="258" platformID="3" platEncID="1" langID="0x409">
-      Regular
+      DS5BreakTest-
     </namerecord>
     <namerecord nameID="259" platformID="3" platEncID="1" langID="0x409">
-      Medium
+      DS5BreakTest-
     </namerecord>
     <namerecord nameID="260" platformID="3" platEncID="1" langID="0x409">
-      Bold
+      DS5BreakTest-
     </namerecord>
     <namerecord nameID="261" platformID="3" platEncID="1" langID="0x409">
-      ExtraBold
+      DS5BreakTest-
+    </namerecord>
+    <namerecord nameID="262" platformID="3" platEncID="1" langID="0x409">
+      DS5BreakTest-
     </namerecord>
   </name>

Cc. @jeremiehornus

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:7 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
belluzjcommented, Jul 7, 2022

This PR seems to have fixed the issue for us after we’re reproduced it locally: https://github.com/fonttools/fonttools/pull/2684

Thanks for the test file!

Read more comments on GitHub >

github_iconTop Results From Across the Web

The F-test for Linear Regression
The F-test for linear regression tests whether any of the independent variables in a multiple linear regression model are significant.
Read more >
Simple Linear Regression
The Simple Linear Regression Model. The simplest deterministic mathematical relationship between two variables x and y is a linear relationship: y = β0....
Read more >
Econ 422 – Lecture Notes Part II
Regression with a Single Regressor: Hypothesis Tests and Confidence Intervals. Overview. • Now that we have the sampling distribution of OLS.
Read more >
Annotated-Output-Logistic-Regression-SPSS.pdf
It is used when the dependent response variable is binary in nature. Logistic regression predicts the probability of the dependent response, rather than...
Read more >
sklearn.linear_model.LinearRegression
Elastic-Net is a linear regression model trained with both l1 and l2 -norm regularization of the coefficients. Notes. From the implementation point of...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found