[cantarell-fonts/respacing] Remove .tf math symbols, make normal ones tabular, simplify numero, tweak misc. symbols



commit 19892d57cedc757fa782e484852820e20e27c57e
Author: Nikolaus Waxweiler <madigens gmail com>
Date:   Sun Aug 18 20:02:21 2019 +0100

    Remove .tf math symbols, make normal ones tabular, simplify numero, tweak misc. symbols
    
    Using https://docs.microsoft.com/en-us/typography/develop/character-design-standards/ as a guide.

 src/Cantarell-Bold.ufo/features.fea                | 36 ---------
 src/Cantarell-Bold.ufo/glyphs/_o.numero.glif       | 16 ----
 src/Cantarell-Bold.ufo/glyphs/approxequal.glif     | 88 ++++++++++++----------
 src/Cantarell-Bold.ufo/glyphs/approxequal.tf.glif  | 50 ------------
 src/Cantarell-Bold.ufo/glyphs/asciicircum.glif     | 24 +++---
 src/Cantarell-Bold.ufo/glyphs/asciitilde.glif      | 48 ++++++------
 src/Cantarell-Bold.ufo/glyphs/bulletoperator.glif  |  2 +-
 .../glyphs/bulletoperator.tf.glif                  | 20 -----
 .../glyphs/commercialM_inusS_ign.glif              | 64 +++++++++-------
 .../glyphs/commercialM_inusS_ign.tf.glif           | 40 ----------
 src/Cantarell-Bold.ufo/glyphs/contents.plist       | 38 ----------
 src/Cantarell-Bold.ufo/glyphs/degree.glif          | 48 ++++++------
 src/Cantarell-Bold.ufo/glyphs/divide.glif          | 64 +++++++++-------
 src/Cantarell-Bold.ufo/glyphs/divide.tf.glif       | 40 ----------
 src/Cantarell-Bold.ufo/glyphs/divisionslash.glif   | 15 +++-
 .../glyphs/divisionslash.tf.glif                   | 12 ---
 src/Cantarell-Bold.ufo/glyphs/equal.glif           | 24 +++---
 src/Cantarell-Bold.ufo/glyphs/equal.tf.glif        | 18 -----
 src/Cantarell-Bold.ufo/glyphs/equivalence.glif     | 32 ++++----
 src/Cantarell-Bold.ufo/glyphs/equivalence.tf.glif  | 24 ------
 src/Cantarell-Bold.ufo/glyphs/greater.glif         | 24 +++---
 src/Cantarell-Bold.ufo/glyphs/greater.tf.glif      | 16 ----
 src/Cantarell-Bold.ufo/glyphs/greaterequal.glif    | 32 ++++----
 src/Cantarell-Bold.ufo/glyphs/greaterequal.tf.glif | 22 ------
 src/Cantarell-Bold.ufo/glyphs/layerinfo.plist      | 40 +---------
 src/Cantarell-Bold.ufo/glyphs/less.glif            | 12 ++-
 src/Cantarell-Bold.ufo/glyphs/less.tf.glif         |  7 --
 src/Cantarell-Bold.ufo/glyphs/lessequal.glif       | 12 ++-
 src/Cantarell-Bold.ufo/glyphs/lessequal.tf.glif    |  7 --
 src/Cantarell-Bold.ufo/glyphs/logicalnot.glif      | 24 +++---
 src/Cantarell-Bold.ufo/glyphs/logicalnot.tf.glif   | 18 -----
 src/Cantarell-Bold.ufo/glyphs/minus.glif           | 16 ++--
 src/Cantarell-Bold.ufo/glyphs/minus.tf.glif        | 12 ---
 src/Cantarell-Bold.ufo/glyphs/multiply.glif        | 24 +++---
 src/Cantarell-Bold.ufo/glyphs/multiply.tf.glif     | 18 -----
 src/Cantarell-Bold.ufo/glyphs/notequal.glif        | 34 +++++----
 src/Cantarell-Bold.ufo/glyphs/notequal.tf.glif     | 24 ------
 src/Cantarell-Bold.ufo/glyphs/notidentical.glif    | 40 ++++++----
 src/Cantarell-Bold.ufo/glyphs/notidentical.tf.glif | 30 --------
 src/Cantarell-Bold.ufo/glyphs/numero.glif          |  8 +-
 src/Cantarell-Bold.ufo/glyphs/plus.glif            | 26 ++++---
 src/Cantarell-Bold.ufo/glyphs/plus.tf.glif         | 18 -----
 src/Cantarell-Bold.ufo/glyphs/plusminus.glif       | 32 ++++----
 src/Cantarell-Bold.ufo/glyphs/plusminus.tf.glif    | 24 ------
 src/Cantarell-Bold.ufo/lib.plist                   | 30 +-------
 src/Cantarell-Light.ufo/features.fea               | 36 ---------
 src/Cantarell-Light.ufo/glyphs/_o.numero.glif      | 24 ------
 src/Cantarell-Light.ufo/glyphs/approxequal.glif    | 88 ++++++++++++----------
 src/Cantarell-Light.ufo/glyphs/approxequal.tf.glif | 50 ------------
 src/Cantarell-Light.ufo/glyphs/asciicircum.glif    | 16 ++--
 src/Cantarell-Light.ufo/glyphs/asciitilde.glif     | 48 ++++++------
 src/Cantarell-Light.ufo/glyphs/bulletoperator.glif |  2 +-
 .../glyphs/bulletoperator.tf.glif                  | 20 -----
 .../glyphs/commercialM_inusS_ign.glif              | 64 +++++++++-------
 .../glyphs/commercialM_inusS_ign.tf.glif           | 40 ----------
 src/Cantarell-Light.ufo/glyphs/contents.plist      | 38 ----------
 src/Cantarell-Light.ufo/glyphs/degree.glif         | 50 ++++++------
 src/Cantarell-Light.ufo/glyphs/divide.glif         | 66 +++++++++-------
 src/Cantarell-Light.ufo/glyphs/divide.tf.glif      | 40 ----------
 src/Cantarell-Light.ufo/glyphs/divisionslash.glif  | 15 +++-
 .../glyphs/divisionslash.tf.glif                   | 12 ---
 src/Cantarell-Light.ufo/glyphs/equal.glif          | 24 +++---
 src/Cantarell-Light.ufo/glyphs/equal.tf.glif       | 18 -----
 src/Cantarell-Light.ufo/glyphs/equivalence.glif    | 32 ++++----
 src/Cantarell-Light.ufo/glyphs/equivalence.tf.glif | 24 ------
 src/Cantarell-Light.ufo/glyphs/greater.glif        | 24 +++---
 src/Cantarell-Light.ufo/glyphs/greater.tf.glif     | 16 ----
 src/Cantarell-Light.ufo/glyphs/greaterequal.glif   | 32 ++++----
 .../glyphs/greaterequal.tf.glif                    | 22 ------
 src/Cantarell-Light.ufo/glyphs/layerinfo.plist     | 38 ----------
 src/Cantarell-Light.ufo/glyphs/less.glif           | 12 ++-
 src/Cantarell-Light.ufo/glyphs/less.tf.glif        |  7 --
 src/Cantarell-Light.ufo/glyphs/lessequal.glif      | 12 ++-
 src/Cantarell-Light.ufo/glyphs/lessequal.tf.glif   |  7 --
 src/Cantarell-Light.ufo/glyphs/logicalnot.glif     | 24 +++---
 src/Cantarell-Light.ufo/glyphs/logicalnot.tf.glif  | 18 -----
 src/Cantarell-Light.ufo/glyphs/minus.glif          | 16 ++--
 src/Cantarell-Light.ufo/glyphs/minus.tf.glif       | 12 ---
 src/Cantarell-Light.ufo/glyphs/multiply.glif       | 24 +++---
 src/Cantarell-Light.ufo/glyphs/multiply.tf.glif    | 18 -----
 src/Cantarell-Light.ufo/glyphs/notequal.glif       | 34 +++++----
 src/Cantarell-Light.ufo/glyphs/notequal.tf.glif    | 24 ------
 src/Cantarell-Light.ufo/glyphs/notidentical.glif   | 42 ++++++-----
 .../glyphs/notidentical.tf.glif                    | 30 --------
 src/Cantarell-Light.ufo/glyphs/numero.glif         |  8 +-
 src/Cantarell-Light.ufo/glyphs/plus.glif           | 26 ++++---
 src/Cantarell-Light.ufo/glyphs/plus.tf.glif        | 18 -----
 src/Cantarell-Light.ufo/glyphs/plusminus.glif      | 32 ++++----
 src/Cantarell-Light.ufo/glyphs/plusminus.tf.glif   | 24 ------
 src/Cantarell-Light.ufo/lib.plist                  | 30 +-------
 src/Cantarell-Regular.ufo/features.fea             | 36 ---------
 src/Cantarell-Regular.ufo/glyphs/_o.numero.glif    | 16 ----
 src/Cantarell-Regular.ufo/glyphs/approxequal.glif  | 88 ++++++++++++----------
 .../glyphs/approxequal.tf.glif                     | 50 ------------
 src/Cantarell-Regular.ufo/glyphs/asciicircum.glif  | 24 +++---
 src/Cantarell-Regular.ufo/glyphs/asciitilde.glif   | 48 ++++++------
 .../glyphs/bulletoperator.glif                     |  2 +-
 .../glyphs/bulletoperator.tf.glif                  | 20 -----
 .../glyphs/commercialM_inusS_ign.glif              | 64 +++++++++-------
 .../glyphs/commercialM_inusS_ign.tf.glif           | 40 ----------
 src/Cantarell-Regular.ufo/glyphs/contents.plist    | 38 ----------
 src/Cantarell-Regular.ufo/glyphs/divide.glif       | 66 +++++++++-------
 src/Cantarell-Regular.ufo/glyphs/divide.tf.glif    | 40 ----------
 .../glyphs/divisionslash.glif                      | 15 +++-
 .../glyphs/divisionslash.tf.glif                   | 12 ---
 src/Cantarell-Regular.ufo/glyphs/equal.glif        | 24 +++---
 src/Cantarell-Regular.ufo/glyphs/equal.tf.glif     | 18 -----
 src/Cantarell-Regular.ufo/glyphs/equivalence.glif  | 32 ++++----
 .../glyphs/equivalence.tf.glif                     | 24 ------
 src/Cantarell-Regular.ufo/glyphs/greater.glif      | 24 +++---
 src/Cantarell-Regular.ufo/glyphs/greater.tf.glif   | 16 ----
 src/Cantarell-Regular.ufo/glyphs/greaterequal.glif | 32 ++++----
 .../glyphs/greaterequal.tf.glif                    | 22 ------
 src/Cantarell-Regular.ufo/glyphs/layerinfo.plist   | 38 ----------
 src/Cantarell-Regular.ufo/glyphs/less.glif         | 12 ++-
 src/Cantarell-Regular.ufo/glyphs/less.tf.glif      |  7 --
 src/Cantarell-Regular.ufo/glyphs/lessequal.glif    | 12 ++-
 src/Cantarell-Regular.ufo/glyphs/lessequal.tf.glif |  7 --
 src/Cantarell-Regular.ufo/glyphs/logicalnot.glif   | 24 +++---
 .../glyphs/logicalnot.tf.glif                      | 18 -----
 src/Cantarell-Regular.ufo/glyphs/minus.glif        | 16 ++--
 src/Cantarell-Regular.ufo/glyphs/minus.tf.glif     | 12 ---
 src/Cantarell-Regular.ufo/glyphs/multiply.glif     | 24 +++---
 src/Cantarell-Regular.ufo/glyphs/multiply.tf.glif  | 18 -----
 src/Cantarell-Regular.ufo/glyphs/notequal.glif     | 34 +++++----
 src/Cantarell-Regular.ufo/glyphs/notequal.tf.glif  | 24 ------
 src/Cantarell-Regular.ufo/glyphs/notidentical.glif | 42 ++++++-----
 .../glyphs/notidentical.tf.glif                    | 30 --------
 src/Cantarell-Regular.ufo/glyphs/numero.glif       | 10 +--
 src/Cantarell-Regular.ufo/glyphs/plus.glif         | 26 ++++---
 src/Cantarell-Regular.ufo/glyphs/plus.tf.glif      | 18 -----
 src/Cantarell-Regular.ufo/glyphs/plusminus.glif    | 32 ++++----
 src/Cantarell-Regular.ufo/glyphs/plusminus.tf.glif | 24 ------
 src/Cantarell-Regular.ufo/lib.plist                | 30 +-------
 src/Cantarell.designspace                          |  1 -
 135 files changed, 1206 insertions(+), 2514 deletions(-)
---
diff --git a/src/Cantarell-Bold.ufo/features.fea b/src/Cantarell-Bold.ufo/features.fea
index def3510a..7a47ebf1 100644
--- a/src/Cantarell-Bold.ufo/features.fea
+++ b/src/Cantarell-Bold.ufo/features.fea
@@ -269,24 +269,6 @@ sub six.tf by six;
 sub seven.tf by seven;
 sub eight.tf by eight;
 sub nine.tf by nine;
-sub bulletoperator.tf by bulletoperator;
-sub commercialMinusSign.tf by commercialMinusSign;
-sub divisionslash.tf by divisionslash;
-sub equivalence.tf by equivalence;
-sub notidentical.tf by notidentical;
-sub plus.tf by plus;
-sub minus.tf by minus;
-sub multiply.tf by multiply;
-sub divide.tf by divide;
-sub equal.tf by equal;
-sub notequal.tf by notequal;
-sub greater.tf by greater;
-sub less.tf by less;
-sub greaterequal.tf by greaterequal;
-sub lessequal.tf by lessequal;
-sub plusminus.tf by plusminus;
-sub approxequal.tf by approxequal;
-sub logicalnot.tf by logicalnot;
 
 } pnum;
 
@@ -302,24 +284,6 @@ sub six by six.tf;
 sub seven by seven.tf;
 sub eight by eight.tf;
 sub nine by nine.tf;
-sub bulletoperator by bulletoperator.tf;
-sub commercialMinusSign by commercialMinusSign.tf;
-sub divisionslash by divisionslash.tf;
-sub equivalence by equivalence.tf;
-sub notidentical by notidentical.tf;
-sub plus by plus.tf;
-sub minus by minus.tf;
-sub multiply by multiply.tf;
-sub divide by divide.tf;
-sub equal by equal.tf;
-sub notequal by notequal.tf;
-sub greater by greater.tf;
-sub less by less.tf;
-sub greaterequal by greaterequal.tf;
-sub lessequal by lessequal.tf;
-sub plusminus by plusminus.tf;
-sub approxequal by approxequal.tf;
-sub logicalnot by logicalnot.tf;
 
 } tnum;
 
diff --git a/src/Cantarell-Bold.ufo/glyphs/approxequal.glif b/src/Cantarell-Bold.ufo/glyphs/approxequal.glif
index 019f7951..994f9a84 100644
--- a/src/Cantarell-Bold.ufo/glyphs/approxequal.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/approxequal.glif
@@ -1,51 +1,57 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="approxequal" format="2">
-  <advance width="606"/>
+  <advance width="600"/>
   <unicode hex="2248"/>
   <outline>
     <contour>
-      <point x="143" y="322" type="line"/>
-      <point x="167" y="369"/>
-      <point x="183" y="384"/>
-      <point x="208" y="384" type="curve" smooth="yes"/>
-      <point x="256" y="384"/>
-      <point x="298" y="326"/>
-      <point x="370" y="326" type="curve" smooth="yes"/>
-      <point x="448" y="326"/>
-      <point x="531" y="397"/>
-      <point x="568" y="495" type="curve"/>
-      <point x="458" y="544" type="line"/>
-      <point x="442" y="504"/>
-      <point x="416" y="483"/>
-      <point x="383" y="483" type="curve" smooth="yes"/>
-      <point x="327" y="483"/>
-      <point x="294" y="541"/>
-      <point x="223" y="541" type="curve" smooth="yes"/>
-      <point x="150" y="541"/>
-      <point x="79" y="474"/>
-      <point x="39" y="368" type="curve"/>
+      <point x="147" y="327" type="line"/>
+      <point x="170" y="375"/>
+      <point x="187" y="389"/>
+      <point x="208" y="389" type="curve" smooth="yes"/>
+      <point x="254" y="389"/>
+      <point x="295" y="331"/>
+      <point x="365" y="331" type="curve" smooth="yes"/>
+      <point x="436" y="331"/>
+      <point x="520" y="398"/>
+      <point x="557" y="500" type="curve"/>
+      <point x="449" y="549" type="line"/>
+      <point x="434" y="509"/>
+      <point x="408" y="488"/>
+      <point x="377" y="488" type="curve" smooth="yes"/>
+      <point x="323" y="488"/>
+      <point x="291" y="546"/>
+      <point x="223" y="546" type="curve" smooth="yes"/>
+      <point x="154" y="546"/>
+      <point x="83" y="479"/>
+      <point x="44" y="373" type="curve"/>
     </contour>
     <contour>
-      <point x="139" y="90" type="line"/>
-      <point x="161" y="133"/>
-      <point x="181" y="151"/>
-      <point x="208" y="151" type="curve" smooth="yes"/>
-      <point x="256" y="151"/>
-      <point x="298" y="93"/>
-      <point x="370" y="93" type="curve" smooth="yes"/>
-      <point x="448" y="93"/>
-      <point x="531" y="164"/>
-      <point x="568" y="262" type="curve"/>
-      <point x="458" y="310" type="line"/>
-      <point x="442" y="271"/>
-      <point x="416" y="250"/>
-      <point x="383" y="250" type="curve" smooth="yes"/>
-      <point x="327" y="250"/>
-      <point x="294" y="308"/>
-      <point x="223" y="308" type="curve" smooth="yes"/>
-      <point x="150" y="308"/>
-      <point x="79" y="241"/>
-      <point x="39" y="135" type="curve"/>
+      <point x="143" y="85" type="line"/>
+      <point x="164" y="129"/>
+      <point x="185" y="146"/>
+      <point x="208" y="146" type="curve" smooth="yes"/>
+      <point x="254" y="146"/>
+      <point x="295" y="88"/>
+      <point x="365" y="88" type="curve" smooth="yes"/>
+      <point x="436" y="88"/>
+      <point x="520" y="155"/>
+      <point x="557" y="257" type="curve"/>
+      <point x="449" y="305" type="line"/>
+      <point x="434" y="266"/>
+      <point x="408" y="245"/>
+      <point x="377" y="245" type="curve" smooth="yes"/>
+      <point x="323" y="245"/>
+      <point x="291" y="303"/>
+      <point x="223" y="303" type="curve" smooth="yes"/>
+      <point x="156" y="303"/>
+      <point x="85" y="240"/>
+      <point x="44" y="130" type="curve"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/asciicircum.glif b/src/Cantarell-Bold.ufo/glyphs/asciicircum.glif
index 8e79e509..b3ffda71 100644
--- a/src/Cantarell-Bold.ufo/glyphs/asciicircum.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/asciicircum.glif
@@ -1,17 +1,23 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="asciicircum" format="2">
-  <advance width="647"/>
+  <advance width="600"/>
   <unicode hex="005E"/>
   <outline>
     <contour>
-      <point x="153" y="176" type="line"/>
-      <point x="332" y="506" type="line"/>
-      <point x="295" y="504" type="line"/>
-      <point x="463" y="175" type="line"/>
-      <point x="628" y="247" type="line"/>
-      <point x="387" y="695" type="line"/>
-      <point x="256" y="695" type="line"/>
-      <point x="19" y="235" type="line"/>
+      <point x="140" y="216" type="line"/>
+      <point x="308" y="506" type="line"/>
+      <point x="272" y="504" type="line"/>
+      <point x="428" y="217" type="line"/>
+      <point x="593" y="289" type="line"/>
+      <point x="363" y="695" type="line"/>
+      <point x="233" y="695" type="line"/>
+      <point x="6" y="275" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/asciitilde.glif b/src/Cantarell-Bold.ufo/glyphs/asciitilde.glif
index a7650060..72583609 100644
--- a/src/Cantarell-Bold.ufo/glyphs/asciitilde.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/asciitilde.glif
@@ -1,29 +1,35 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="asciitilde" format="2">
-  <advance width="629"/>
+  <advance width="600"/>
   <unicode hex="007E"/>
   <outline>
     <contour>
-      <point x="133" y="219" type="line"/>
-      <point x="150" y="253"/>
-      <point x="177" y="274"/>
-      <point x="208" y="274" type="curve" smooth="yes"/>
-      <point x="268" y="274"/>
-      <point x="307" y="208"/>
-      <point x="387" y="208" type="curve" smooth="yes"/>
-      <point x="469" y="208"/>
-      <point x="555" y="279"/>
-      <point x="591" y="384" type="curve"/>
-      <point x="490" y="427" type="line"/>
-      <point x="472" y="391"/>
-      <point x="441" y="370"/>
-      <point x="405" y="370" type="curve" smooth="yes"/>
-      <point x="336" y="370"/>
-      <point x="308" y="436"/>
-      <point x="228" y="436" type="curve" smooth="yes"/>
-      <point x="146" y="436"/>
-      <point x="74" y="364"/>
-      <point x="40" y="261" type="curve"/>
+      <point x="117" y="214" type="line"/>
+      <point x="134" y="248"/>
+      <point x="161" y="269"/>
+      <point x="192" y="269" type="curve" smooth="yes"/>
+      <point x="252" y="269"/>
+      <point x="291" y="203"/>
+      <point x="371" y="203" type="curve" smooth="yes"/>
+      <point x="453" y="203"/>
+      <point x="539" y="274"/>
+      <point x="575" y="379" type="curve"/>
+      <point x="474" y="422" type="line"/>
+      <point x="456" y="386"/>
+      <point x="425" y="365"/>
+      <point x="389" y="365" type="curve" smooth="yes"/>
+      <point x="320" y="365"/>
+      <point x="292" y="431"/>
+      <point x="212" y="431" type="curve" smooth="yes"/>
+      <point x="130" y="431"/>
+      <point x="58" y="359"/>
+      <point x="24" y="256" type="curve"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/bulletoperator.glif 
b/src/Cantarell-Bold.ufo/glyphs/bulletoperator.glif
index dc98b259..a26a45e0 100644
--- a/src/Cantarell-Bold.ufo/glyphs/bulletoperator.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/bulletoperator.glif
@@ -3,7 +3,7 @@
   <advance width="270"/>
   <unicode hex="2219"/>
   <outline>
-    <component base="period" yOffset="230"/>
+    <component base="period" yOffset="243"/>
   </outline>
   <lib>
     <dict>
diff --git a/src/Cantarell-Bold.ufo/glyphs/commercialM_inusS_ign.glif 
b/src/Cantarell-Bold.ufo/glyphs/commercialM_inusS_ign.glif
index dfa5ae65..678334b8 100644
--- a/src/Cantarell-Bold.ufo/glyphs/commercialM_inusS_ign.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/commercialM_inusS_ign.glif
@@ -1,41 +1,47 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="commercialMinusSign" format="2">
-  <advance width="696"/>
+  <advance width="600"/>
   <unicode hex="2052"/>
   <outline>
     <contour>
-      <point x="27" y="0" type="line"/>
-      <point x="202" y="0" type="line"/>
-      <point x="676" y="694" type="line"/>
-      <point x="483" y="694" type="line"/>
+      <point x="10" y="0" type="line"/>
+      <point x="175" y="0" type="line"/>
+      <point x="590" y="694" type="line"/>
+      <point x="408" y="694" type="line"/>
     </contour>
     <contour>
-      <point x="532" y="-11" type="curve" smooth="yes"/>
-      <point x="603" y="-11"/>
-      <point x="651" y="37"/>
-      <point x="651" y="108" type="curve" smooth="yes"/>
-      <point x="651" y="182"/>
-      <point x="603" y="232"/>
-      <point x="532" y="232" type="curve" smooth="yes"/>
-      <point x="460" y="232"/>
-      <point x="412" y="182"/>
-      <point x="412" y="108" type="curve" smooth="yes"/>
-      <point x="412" y="37"/>
-      <point x="460" y="-11"/>
+      <point x="462" y="-11" type="curve" smooth="yes"/>
+      <point x="527" y="-11"/>
+      <point x="573" y="37"/>
+      <point x="573" y="108" type="curve" smooth="yes"/>
+      <point x="573" y="182"/>
+      <point x="527" y="232"/>
+      <point x="462" y="232" type="curve" smooth="yes"/>
+      <point x="395" y="232"/>
+      <point x="350" y="182"/>
+      <point x="350" y="108" type="curve" smooth="yes"/>
+      <point x="350" y="37"/>
+      <point x="395" y="-11"/>
     </contour>
     <contour>
-      <point x="159" y="455" type="curve" smooth="yes"/>
-      <point x="232" y="455"/>
-      <point x="280" y="504"/>
-      <point x="280" y="577" type="curve" smooth="yes"/>
-      <point x="280" y="652"/>
-      <point x="231" y="703"/>
-      <point x="159" y="703" type="curve" smooth="yes"/>
-      <point x="86" y="703"/>
-      <point x="37" y="652"/>
-      <point x="37" y="577" type="curve" smooth="yes"/>
-      <point x="37" y="504"/>
-      <point x="86" y="455"/>
+      <point x="134" y="455" type="curve" smooth="yes"/>
+      <point x="201" y="455"/>
+      <point x="246" y="504"/>
+      <point x="246" y="577" type="curve" smooth="yes"/>
+      <point x="246" y="651"/>
+      <point x="201" y="703"/>
+      <point x="134" y="703" type="curve" smooth="yes"/>
+      <point x="66" y="703"/>
+      <point x="20" y="652"/>
+      <point x="20" y="577" type="curve" smooth="yes"/>
+      <point x="20" y="504"/>
+      <point x="66" y="455"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/contents.plist b/src/Cantarell-Bold.ufo/glyphs/contents.plist
index a634e5df..95a385a6 100644
--- a/src/Cantarell-Bold.ufo/glyphs/contents.plist
+++ b/src/Cantarell-Bold.ufo/glyphs/contents.plist
@@ -686,8 +686,6 @@
     <string>_descenderreverse-cy.case.glif</string>
     <key>_descenderreversed-cy</key>
     <string>_descenderreversed-cy.glif</string>
-    <key>_o.numero</key>
-    <string>_o.numero.glif</string>
     <key>_slash.zero</key>
     <string>_slash.zero.glif</string>
     <key>_slash.zero.osf</key>
@@ -768,8 +766,6 @@
     <string>apostrophemod.glif</string>
     <key>approxequal</key>
     <string>approxequal.glif</string>
-    <key>approxequal.tf</key>
-    <string>approxequal.tf.glif</string>
     <key>aring</key>
     <string>aring.glif</string>
     <key>aringacute</key>
@@ -844,8 +840,6 @@
     <string>bullet.glif</string>
     <key>bulletoperator</key>
     <string>bulletoperator.glif</string>
-    <key>bulletoperator.tf</key>
-    <string>bulletoperator.tf.glif</string>
     <key>c</key>
     <string>c.glif</string>
     <key>cacute</key>
@@ -928,8 +922,6 @@
     <string>commaturnedmod.glif</string>
     <key>commercialMinusSign</key>
     <string>commercialM_inusS_ign.glif</string>
-    <key>commercialMinusSign.tf</key>
-    <string>commercialM_inusS_ign.tf.glif</string>
     <key>copyright</key>
     <string>copyright.glif</string>
     <key>currency</key>
@@ -980,12 +972,8 @@
     <string>dieresiscomb_macroncomb.glif</string>
     <key>divide</key>
     <string>divide.glif</string>
-    <key>divide.tf</key>
-    <string>divide.tf.glif</string>
     <key>divisionslash</key>
     <string>divisionslash.glif</string>
-    <key>divisionslash.tf</key>
-    <string>divisionslash.tf.glif</string>
     <key>dje-cy</key>
     <string>dje-cy.glif</string>
     <key>dlinebelow</key>
@@ -1104,12 +1092,8 @@
     <string>eogonek.glif</string>
     <key>equal</key>
     <string>equal.glif</string>
-    <key>equal.tf</key>
-    <string>equal.tf.glif</string>
     <key>equivalence</key>
     <string>equivalence.glif</string>
-    <key>equivalence.tf</key>
-    <string>equivalence.tf.glif</string>
     <key>er-cy</key>
     <string>er-cy.glif</string>
     <key>ereversed-cy</key>
@@ -1232,12 +1216,8 @@
     <string>gravecomb.loclV_I_E_T_.glif</string>
     <key>greater</key>
     <string>greater.glif</string>
-    <key>greater.tf</key>
-    <string>greater.tf.glif</string>
     <key>greaterequal</key>
     <string>greaterequal.glif</string>
-    <key>greaterequal.tf</key>
-    <string>greaterequal.tf.glif</string>
     <key>guarani</key>
     <string>guarani.glif</string>
     <key>guillemetleft</key>
@@ -1400,12 +1380,8 @@
     <string>leftanglebracket-math.glif</string>
     <key>less</key>
     <string>less.glif</string>
-    <key>less.tf</key>
-    <string>less.tf.glif</string>
     <key>lessequal</key>
     <string>lessequal.glif</string>
-    <key>lessequal.tf</key>
-    <string>lessequal.tf.glif</string>
     <key>lira</key>
     <string>lira.glif</string>
     <key>liraTurkish</key>
@@ -1420,8 +1396,6 @@
     <string>llinebelow.glif</string>
     <key>logicalnot</key>
     <string>logicalnot.glif</string>
-    <key>logicalnot.tf</key>
-    <string>logicalnot.tf.glif</string>
     <key>lozenge</key>
     <string>lozenge.glif</string>
     <key>lslash</key>
@@ -1458,14 +1432,10 @@
     <string>micro.glif</string>
     <key>minus</key>
     <string>minus.glif</string>
-    <key>minus.tf</key>
-    <string>minus.tf.glif</string>
     <key>minute</key>
     <string>minute.glif</string>
     <key>multiply</key>
     <string>multiply.glif</string>
-    <key>multiply.tf</key>
-    <string>multiply.tf.glif</string>
     <key>n</key>
     <string>n.glif</string>
     <key>nacute</key>
@@ -1502,12 +1472,8 @@
     <string>nlinebelow.glif</string>
     <key>notequal</key>
     <string>notequal.glif</string>
-    <key>notequal.tf</key>
-    <string>notequal.tf.glif</string>
     <key>notidentical</key>
     <string>notidentical.glif</string>
-    <key>notidentical.tf</key>
-    <string>notidentical.tf.glif</string>
     <key>ntilde</key>
     <string>ntilde.glif</string>
     <key>numbersign</key>
@@ -1674,12 +1640,8 @@
     <string>pi.glif</string>
     <key>plus</key>
     <string>plus.glif</string>
-    <key>plus.tf</key>
-    <string>plus.tf.glif</string>
     <key>plusminus</key>
     <string>plusminus.glif</string>
-    <key>plusminus.tf</key>
-    <string>plusminus.tf.glif</string>
     <key>primeReversed</key>
     <string>primeR_eversed.glif</string>
     <key>primemod</key>
diff --git a/src/Cantarell-Bold.ufo/glyphs/degree.glif b/src/Cantarell-Bold.ufo/glyphs/degree.glif
index b8e5c587..69632663 100644
--- a/src/Cantarell-Bold.ufo/glyphs/degree.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/degree.glif
@@ -4,32 +4,32 @@
   <unicode hex="00B0"/>
   <outline>
     <contour>
-      <point x="212" y="399" type="curve" smooth="yes"/>
-      <point x="311" y="399"/>
-      <point x="376" y="464"/>
-      <point x="376" y="561" type="curve" smooth="yes"/>
-      <point x="376" y="656"/>
-      <point x="312" y="719"/>
-      <point x="217" y="719" type="curve" smooth="yes"/>
-      <point x="118" y="719"/>
-      <point x="52" y="654"/>
-      <point x="52" y="557" type="curve" smooth="yes"/>
-      <point x="52" y="462"/>
-      <point x="116" y="399"/>
+      <point x="212" y="384" type="curve" smooth="yes"/>
+      <point x="311" y="384"/>
+      <point x="376" y="449"/>
+      <point x="376" y="546" type="curve" smooth="yes"/>
+      <point x="376" y="641"/>
+      <point x="312" y="704"/>
+      <point x="217" y="704" type="curve" smooth="yes"/>
+      <point x="118" y="704"/>
+      <point x="52" y="639"/>
+      <point x="52" y="542" type="curve" smooth="yes"/>
+      <point x="52" y="447"/>
+      <point x="116" y="384"/>
     </contour>
     <contour>
-      <point x="217" y="507" type="curve" smooth="yes"/>
-      <point x="182" y="507"/>
-      <point x="160" y="529"/>
-      <point x="160" y="561" type="curve" smooth="yes"/>
-      <point x="160" y="592"/>
-      <point x="180" y="612"/>
-      <point x="212" y="612" type="curve" smooth="yes"/>
-      <point x="246" y="612"/>
-      <point x="268" y="590"/>
-      <point x="268" y="557" type="curve" smooth="yes"/>
-      <point x="268" y="527"/>
-      <point x="248" y="507"/>
+      <point x="217" y="492" type="curve" smooth="yes"/>
+      <point x="182" y="492"/>
+      <point x="160" y="514"/>
+      <point x="160" y="546" type="curve" smooth="yes"/>
+      <point x="160" y="577"/>
+      <point x="180" y="597"/>
+      <point x="212" y="597" type="curve" smooth="yes"/>
+      <point x="246" y="597"/>
+      <point x="268" y="575"/>
+      <point x="268" y="542" type="curve" smooth="yes"/>
+      <point x="268" y="512"/>
+      <point x="248" y="492"/>
     </contour>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/divide.glif b/src/Cantarell-Bold.ufo/glyphs/divide.glif
index 75e3b9bf..e98d33ef 100644
--- a/src/Cantarell-Bold.ufo/glyphs/divide.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/divide.glif
@@ -4,38 +4,46 @@
   <unicode hex="00F7"/>
   <outline>
     <contour>
-      <point x="29" y="262" type="line"/>
-      <point x="571" y="262" type="line"/>
-      <point x="571" y="397" type="line"/>
-      <point x="29" y="397" type="line"/>
+      <point x="300" y="430" type="curve" smooth="yes"/>
+      <point x="363" y="430"/>
+      <point x="407" y="473"/>
+      <point x="407" y="534" type="curve" smooth="yes"/>
+      <point x="407" y="597"/>
+      <point x="363" y="640"/>
+      <point x="300" y="640" type="curve" smooth="yes"/>
+      <point x="237" y="640"/>
+      <point x="194" y="597"/>
+      <point x="194" y="534" type="curve" smooth="yes"/>
+      <point x="194" y="473"/>
+      <point x="237" y="430"/>
     </contour>
     <contour>
-      <point x="300" y="435" type="curve" smooth="yes"/>
-      <point x="359" y="435"/>
-      <point x="399" y="475"/>
-      <point x="399" y="534" type="curve" smooth="yes"/>
-      <point x="399" y="594"/>
-      <point x="359" y="634"/>
-      <point x="300" y="634" type="curve" smooth="yes"/>
-      <point x="241" y="634"/>
-      <point x="201" y="594"/>
-      <point x="201" y="534" type="curve" smooth="yes"/>
-      <point x="201" y="475"/>
-      <point x="241" y="435"/>
+      <point x="300" y="19" type="curve" smooth="yes"/>
+      <point x="363" y="19"/>
+      <point x="407" y="62"/>
+      <point x="407" y="123" type="curve" smooth="yes"/>
+      <point x="407" y="186"/>
+      <point x="363" y="229"/>
+      <point x="300" y="229" type="curve" smooth="yes"/>
+      <point x="237" y="229"/>
+      <point x="194" y="186"/>
+      <point x="194" y="123" type="curve" smooth="yes"/>
+      <point x="194" y="62"/>
+      <point x="237" y="19"/>
     </contour>
     <contour>
-      <point x="300" y="25" type="curve" smooth="yes"/>
-      <point x="359" y="25"/>
-      <point x="399" y="65"/>
-      <point x="399" y="124" type="curve" smooth="yes"/>
-      <point x="399" y="184"/>
-      <point x="359" y="224"/>
-      <point x="300" y="224" type="curve" smooth="yes"/>
-      <point x="241" y="224"/>
-      <point x="201" y="184"/>
-      <point x="201" y="124" type="curve" smooth="yes"/>
-      <point x="201" y="65"/>
-      <point x="241" y="25"/>
+      <point x="60" y="254" type="line"/>
+      <point x="540" y="254" type="line"/>
+      <point x="540" y="405" type="line"/>
+      <point x="60" y="405" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.leftMetricsKey</key>
+      <string>minus</string>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/divisionslash.glif 
b/src/Cantarell-Bold.ufo/glyphs/divisionslash.glif
index b1b7bb8d..01a1d8d4 100644
--- a/src/Cantarell-Bold.ufo/glyphs/divisionslash.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/divisionslash.glif
@@ -1,8 +1,19 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="divisionslash" format="2">
-  <advance width="249"/>
+  <advance width="600"/>
   <unicode hex="2215"/>
   <outline>
-    <component base="fraction"/>
+    <contour>
+      <point x="67" y="0" type="line"/>
+      <point x="217" y="0" type="line"/>
+      <point x="514" y="694" type="line"/>
+      <point x="349" y="694" type="line"/>
+    </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/equal.glif b/src/Cantarell-Bold.ufo/glyphs/equal.glif
index cd50872b..b9e84c27 100644
--- a/src/Cantarell-Bold.ufo/glyphs/equal.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/equal.glif
@@ -1,19 +1,17 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="equal" format="2">
-  <advance width="666"/>
+  <advance width="600"/>
   <unicode hex="003D"/>
   <outline>
-    <contour>
-      <point x="80" y="371" type="line"/>
-      <point x="586" y="371" type="line"/>
-      <point x="586" y="521" type="line"/>
-      <point x="80" y="521" type="line"/>
-    </contour>
-    <contour>
-      <point x="80" y="131" type="line"/>
-      <point x="586" y="131" type="line"/>
-      <point x="586" y="281" type="line"/>
-      <point x="80" y="281" type="line"/>
-    </contour>
+    <component base="minus" yOffset="114"/>
+    <component base="minus" yOffset="-129"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.leftMetricsKey</key>
+      <string>minus</string>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/equivalence.glif b/src/Cantarell-Bold.ufo/glyphs/equivalence.glif
index 3e9391a4..93d1fbf6 100644
--- a/src/Cantarell-Bold.ufo/glyphs/equivalence.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/equivalence.glif
@@ -1,25 +1,31 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="equivalence" format="2">
-  <advance width="655"/>
+  <advance width="590"/>
   <unicode hex="2261"/>
   <outline>
     <contour>
-      <point x="80" y="462" type="line"/>
-      <point x="575" y="462" type="line"/>
-      <point x="575" y="597" type="line"/>
-      <point x="80" y="597" type="line"/>
+      <point x="60" y="462" type="line"/>
+      <point x="540" y="462" type="line"/>
+      <point x="540" y="597" type="line"/>
+      <point x="60" y="597" type="line"/>
     </contour>
     <contour>
-      <point x="80" y="82" type="line"/>
-      <point x="575" y="82" type="line"/>
-      <point x="575" y="217" type="line"/>
-      <point x="80" y="217" type="line"/>
+      <point x="60" y="82" type="line"/>
+      <point x="540" y="82" type="line"/>
+      <point x="540" y="217" type="line"/>
+      <point x="60" y="217" type="line"/>
     </contour>
     <contour>
-      <point x="80" y="272" type="line"/>
-      <point x="575" y="272" type="line"/>
-      <point x="575" y="407" type="line"/>
-      <point x="80" y="407" type="line"/>
+      <point x="60" y="272" type="line"/>
+      <point x="540" y="272" type="line"/>
+      <point x="540" y="407" type="line"/>
+      <point x="60" y="407" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.leftMetricsKey</key>
+      <string>minus</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/greater.glif b/src/Cantarell-Bold.ufo/glyphs/greater.glif
index 4bacff16..c59e5468 100644
--- a/src/Cantarell-Bold.ufo/glyphs/greater.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/greater.glif
@@ -1,17 +1,23 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="greater" format="2">
-  <advance width="569"/>
+  <advance width="600"/>
   <unicode hex="003E"/>
   <outline>
     <contour>
-      <point x="61" y="71" type="line"/>
-      <point x="537" y="266" type="line"/>
-      <point x="537" y="400" type="line"/>
-      <point x="61" y="620" type="line"/>
-      <point x="61" y="445" type="line"/>
-      <point x="382" y="317" type="line"/>
-      <point x="382" y="345" type="line"/>
-      <point x="61" y="237" type="line"/>
+      <point x="82" y="19" type="line"/>
+      <point x="518" y="238" type="line"/>
+      <point x="518" y="380" type="line"/>
+      <point x="82" y="612" type="line"/>
+      <point x="82" y="424" type="line"/>
+      <point x="353" y="290" type="line"/>
+      <point x="353" y="318" type="line"/>
+      <point x="82" y="192" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/greaterequal.glif b/src/Cantarell-Bold.ufo/glyphs/greaterequal.glif
index 65488ed9..ec32782a 100644
--- a/src/Cantarell-Bold.ufo/glyphs/greaterequal.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/greaterequal.glif
@@ -1,23 +1,29 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="greaterequal" format="2">
-  <advance width="592"/>
+  <advance width="600"/>
   <unicode hex="2265"/>
   <outline>
     <contour>
-      <point x="68" y="186" type="line"/>
-      <point x="546" y="367" type="line"/>
-      <point x="546" y="476" type="line"/>
-      <point x="68" y="667" type="line"/>
-      <point x="68" y="512" type="line"/>
-      <point x="386" y="418" type="line"/>
-      <point x="385" y="440" type="line"/>
-      <point x="68" y="336" type="line"/>
+      <point x="68" y="155" type="line"/>
+      <point x="532" y="336" type="line"/>
+      <point x="532" y="450" type="line"/>
+      <point x="68" y="641" type="line"/>
+      <point x="68" y="476" type="line"/>
+      <point x="363" y="379" type="line"/>
+      <point x="362" y="408" type="line"/>
+      <point x="68" y="310" type="line"/>
     </contour>
     <contour>
-      <point x="68" y="26" type="line"/>
-      <point x="546" y="26" type="line"/>
-      <point x="546" y="161" type="line"/>
-      <point x="68" y="161" type="line"/>
+      <point x="68" y="-8" type="line"/>
+      <point x="532" y="-8" type="line"/>
+      <point x="532" y="135" type="line"/>
+      <point x="68" y="135" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/layerinfo.plist b/src/Cantarell-Bold.ufo/glyphs/layerinfo.plist
index e4199ba5..56eabf9b 100644
--- a/src/Cantarell-Bold.ufo/glyphs/layerinfo.plist
+++ b/src/Cantarell-Bold.ufo/glyphs/layerinfo.plist
@@ -690,8 +690,6 @@
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph._descenderreversed-cy</key>
       <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph._o.numero</key>
-      <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph._slash.zero</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph._slash.zero.osf</key>
@@ -771,8 +769,6 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.apostrophemod</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.approxequal</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.approxequal.tf</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.aring</key>
       <integer>1</integer>
@@ -847,8 +843,6 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.bullet</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.bulletoperator</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.bulletoperator.tf</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.c</key>
       <integer>1</integer>
@@ -932,8 +926,6 @@
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.commercialMinusSign</key>
       <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.commercialMinusSign.tf</key>
-      <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.copyright</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.currency</key>
@@ -983,12 +975,8 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.dieresiscomb_macroncomb</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.divide</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.divide.tf</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.divisionslash</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.divisionslash.tf</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.dje-cy</key>
       <integer>2</integer>
@@ -1107,12 +1095,8 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.eogonek</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.equal</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.equal.tf</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.equivalence</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.equivalence.tf</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.er-cy</key>
       <integer>2</integer>
@@ -1235,12 +1219,8 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.gravecomb.loclVIET</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.greater</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.greater.tf</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.greaterequal</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.greaterequal.tf</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.guarani</key>
       <integer>1</integer>
@@ -1403,12 +1383,8 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.leftanglebracket-math</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.less</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.less.tf</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.lessequal</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.lessequal.tf</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.lira</key>
       <integer>1</integer>
@@ -1423,8 +1399,6 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.llinebelow</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.logicalnot</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.logicalnot.tf</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.lozenge</key>
       <integer>1</integer>
@@ -1461,15 +1435,11 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.micro</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.minus</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.minus.tf</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.minute</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.multiply</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.multiply.tf</key>
-      <integer>2</integer>
+      <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.n</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.nacute</key>
@@ -1505,12 +1475,8 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.nlinebelow</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.notequal</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.notequal.tf</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.notidentical</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.notidentical.tf</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.ntilde</key>
       <integer>1</integer>
@@ -1677,12 +1643,8 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.pi</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.plus</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.plus.tf</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.plusminus</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.plusminus.tf</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.primeReversed</key>
       <integer>1</integer>
diff --git a/src/Cantarell-Bold.ufo/glyphs/less.glif b/src/Cantarell-Bold.ufo/glyphs/less.glif
index e3bb516b..16ba3c88 100644
--- a/src/Cantarell-Bold.ufo/glyphs/less.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/less.glif
@@ -1,8 +1,16 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="less" format="2">
-  <advance width="569"/>
+  <advance width="600"/>
   <unicode hex="003C"/>
   <outline>
-    <component base="greater.tf" xScale="-1" yScale="-1" xOffset="569" yOffset="679"/>
+    <component base="greater" xScale="-1" yScale="-1" xOffset="600" yOffset="619"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.rightMetricsKey</key>
+      <string>=|greater</string>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/lessequal.glif b/src/Cantarell-Bold.ufo/glyphs/lessequal.glif
index 9da2df1a..f2940e2f 100644
--- a/src/Cantarell-Bold.ufo/glyphs/lessequal.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/lessequal.glif
@@ -1,8 +1,16 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="lessequal" format="2">
-  <advance width="592"/>
+  <advance width="600"/>
   <unicode hex="2264"/>
   <outline>
-    <component base="greaterequal.tf" xScale="-1" xOffset="604"/>
+    <component base="greaterequal" xScale="-1" xOffset="600"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.rightMetricsKey</key>
+      <string>=|greaterequal</string>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/logicalnot.glif b/src/Cantarell-Bold.ufo/glyphs/logicalnot.glif
index db7b8038..c9b69be5 100644
--- a/src/Cantarell-Bold.ufo/glyphs/logicalnot.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/logicalnot.glif
@@ -1,19 +1,25 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="logicalnot" format="2">
-  <advance width="664"/>
+  <advance width="600"/>
   <unicode hex="00AC"/>
   <outline>
     <contour>
-      <point x="50" y="284" type="line"/>
-      <point x="584" y="284" type="line"/>
-      <point x="584" y="419" type="line"/>
-      <point x="50" y="419" type="line"/>
+      <point x="370" y="86" type="line"/>
+      <point x="540" y="86" type="line"/>
+      <point x="540" y="313" type="line"/>
+      <point x="370" y="313" type="line"/>
     </contour>
     <contour>
-      <point x="415" y="142" type="line"/>
-      <point x="583" y="142" type="line"/>
-      <point x="583" y="343" type="line"/>
-      <point x="415" y="343" type="line"/>
+      <point x="60" y="245" type="line"/>
+      <point x="540" y="245" type="line"/>
+      <point x="540" y="412" type="line"/>
+      <point x="60" y="412" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/minus.glif b/src/Cantarell-Bold.ufo/glyphs/minus.glif
index d7a76f0e..97be2312 100644
--- a/src/Cantarell-Bold.ufo/glyphs/minus.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/minus.glif
@@ -1,13 +1,19 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="minus" format="2">
-  <advance width="689"/>
+  <advance width="600"/>
   <unicode hex="2212"/>
   <outline>
     <contour>
-      <point x="80" y="256" type="line"/>
-      <point x="609" y="256" type="line"/>
-      <point x="609" y="405" type="line"/>
-      <point x="80" y="405" type="line"/>
+      <point x="60" y="245" type="line"/>
+      <point x="540" y="245" type="line"/>
+      <point x="540" y="412" type="line"/>
+      <point x="60" y="412" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/multiply.glif b/src/Cantarell-Bold.ufo/glyphs/multiply.glif
index 364896c8..3114f828 100644
--- a/src/Cantarell-Bold.ufo/glyphs/multiply.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/multiply.glif
@@ -1,19 +1,25 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="multiply" format="2">
-  <advance width="576"/>
+  <advance width="600"/>
   <unicode hex="00D7"/>
   <outline>
     <contour>
-      <point x="438" y="39" type="line"/>
-      <point x="551" y="152" type="line"/>
-      <point x="150" y="562" type="line"/>
-      <point x="37" y="449" type="line"/>
+      <point x="71" y="439" type="line"/>
+      <point x="411" y="100" type="line"/>
+      <point x="529" y="218" type="line"/>
+      <point x="189" y="557" type="line"/>
     </contour>
     <contour>
-      <point x="131" y="38" type="line"/>
-      <point x="548" y="452" type="line"/>
-      <point x="434" y="565" type="line"/>
-      <point x="23" y="146" type="line"/>
+      <point x="189" y="100" type="line"/>
+      <point x="529" y="439" type="line"/>
+      <point x="411" y="557" type="line"/>
+      <point x="71" y="218" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/notequal.glif b/src/Cantarell-Bold.ufo/glyphs/notequal.glif
index 558c12ec..6f941fb7 100644
--- a/src/Cantarell-Bold.ufo/glyphs/notequal.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/notequal.glif
@@ -1,25 +1,33 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="notequal" format="2">
-  <advance width="631"/>
+  <advance width="600"/>
   <unicode hex="2260"/>
   <outline>
     <contour>
-      <point x="58" y="371" type="line"/>
-      <point x="573" y="371" type="line"/>
-      <point x="573" y="521" type="line"/>
-      <point x="58" y="521" type="line"/>
+      <point x="197" y="-24" type="line"/>
+      <point x="489" y="602" type="line"/>
+      <point x="378" y="654" type="line"/>
+      <point x="93" y="25" type="line"/>
     </contour>
     <contour>
-      <point x="199" y="11" type="line"/>
-      <point x="535" y="578" type="line"/>
-      <point x="427" y="639" type="line"/>
-      <point x="96" y="69" type="line"/>
+      <point x="60" y="359" type="line"/>
+      <point x="540" y="359" type="line"/>
+      <point x="540" y="526" type="line"/>
+      <point x="60" y="526" type="line"/>
     </contour>
     <contour>
-      <point x="58" y="131" type="line"/>
-      <point x="573" y="131" type="line"/>
-      <point x="573" y="281" type="line"/>
-      <point x="58" y="281" type="line"/>
+      <point x="60" y="116" type="line"/>
+      <point x="540" y="116" type="line"/>
+      <point x="540" y="283" type="line"/>
+      <point x="60" y="283" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.leftMetricsKey</key>
+      <string>minus</string>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/notidentical.glif b/src/Cantarell-Bold.ufo/glyphs/notidentical.glif
index 8ee34c04..64d6b267 100644
--- a/src/Cantarell-Bold.ufo/glyphs/notidentical.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/notidentical.glif
@@ -1,31 +1,39 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="notidentical" format="2">
-  <advance width="620"/>
+  <advance width="600"/>
   <unicode hex="2262"/>
   <outline>
     <contour>
-      <point x="154" y="-85" type="line"/>
-      <point x="557" y="699" type="line"/>
-      <point x="469" y="748" type="line"/>
+      <point x="152" y="-85" type="line"/>
+      <point x="536" y="699" type="line"/>
+      <point x="450" y="748" type="line"/>
       <point x="69" y="-39" type="line"/>
     </contour>
     <contour>
-      <point x="62" y="462" type="line"/>
-      <point x="558" y="462" type="line"/>
-      <point x="558" y="597" type="line"/>
-      <point x="62" y="597" type="line"/>
+      <point x="60" y="462" type="line"/>
+      <point x="540" y="462" type="line"/>
+      <point x="540" y="597" type="line"/>
+      <point x="60" y="597" type="line"/>
     </contour>
     <contour>
-      <point x="62" y="82" type="line"/>
-      <point x="558" y="82" type="line"/>
-      <point x="558" y="217" type="line"/>
-      <point x="62" y="217" type="line"/>
+      <point x="60" y="82" type="line"/>
+      <point x="540" y="82" type="line"/>
+      <point x="540" y="217" type="line"/>
+      <point x="60" y="217" type="line"/>
     </contour>
     <contour>
-      <point x="62" y="272" type="line"/>
-      <point x="558" y="272" type="line"/>
-      <point x="558" y="407" type="line"/>
-      <point x="62" y="407" type="line"/>
+      <point x="60" y="272" type="line"/>
+      <point x="540" y="272" type="line"/>
+      <point x="540" y="407" type="line"/>
+      <point x="60" y="407" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.leftMetricsKey</key>
+      <string>minus</string>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/numero.glif b/src/Cantarell-Bold.ufo/glyphs/numero.glif
index d8f6470b..64ba5372 100644
--- a/src/Cantarell-Bold.ufo/glyphs/numero.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/numero.glif
@@ -1,17 +1,17 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="numero" format="2">
-  <advance width="1358"/>
+  <advance width="1184"/>
   <unicode hex="2116"/>
   <outline>
-    <component base="N" xOffset="13"/>
-    <component base="_o.numero" xOffset="770"/>
+    <component base="N"/>
+    <component base="ordmasculine" xOffset="756"/>
   </outline>
   <lib>
     <dict>
       <key>com.schriftgestaltung.componentsAlignment</key>
       <array>
-        <integer>-1</integer>
         <integer>0</integer>
+        <integer>1</integer>
       </array>
     </dict>
   </lib>
diff --git a/src/Cantarell-Bold.ufo/glyphs/plus.glif b/src/Cantarell-Bold.ufo/glyphs/plus.glif
index 3fc5d8eb..67f1d176 100644
--- a/src/Cantarell-Bold.ufo/glyphs/plus.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/plus.glif
@@ -1,19 +1,27 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="plus" format="2">
-  <advance width="606"/>
+  <advance width="600"/>
   <unicode hex="002B"/>
   <outline>
     <contour>
-      <point x="224" y="59" type="line"/>
-      <point x="384" y="59" type="line"/>
-      <point x="384" y="593" type="line"/>
-      <point x="224" y="593" type="line"/>
+      <point x="216" y="86" type="line"/>
+      <point x="386" y="86" type="line"/>
+      <point x="386" y="566" type="line"/>
+      <point x="216" y="566" type="line"/>
     </contour>
     <contour>
-      <point x="36" y="251" type="line"/>
-      <point x="570" y="251" type="line"/>
-      <point x="570" y="406" type="line"/>
-      <point x="36" y="406" type="line"/>
+      <point x="60" y="245" type="line"/>
+      <point x="540" y="245" type="line"/>
+      <point x="540" y="412" type="line"/>
+      <point x="60" y="412" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.leftMetricsKey</key>
+      <string>minus</string>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/plusminus.glif b/src/Cantarell-Bold.ufo/glyphs/plusminus.glif
index b23b72dc..231ce2e4 100644
--- a/src/Cantarell-Bold.ufo/glyphs/plusminus.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/plusminus.glif
@@ -1,25 +1,31 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="plusminus" format="2">
-  <advance width="597"/>
+  <advance width="600"/>
   <unicode hex="00B1"/>
   <outline>
     <contour>
-      <point x="226" y="199" type="line"/>
-      <point x="366" y="199" type="line"/>
-      <point x="366" y="654" type="line"/>
-      <point x="226" y="654" type="line"/>
+      <point x="61" y="2" type="line"/>
+      <point x="541" y="2" type="line"/>
+      <point x="541" y="140" type="line"/>
+      <point x="61" y="140" type="line"/>
     </contour>
     <contour>
-      <point x="50" y="36" type="line"/>
-      <point x="547" y="36" type="line"/>
-      <point x="547" y="166" type="line"/>
-      <point x="50" y="166" type="line"/>
+      <point x="223" y="171" type="line"/>
+      <point x="373" y="171" type="line"/>
+      <point x="373" y="624" type="line"/>
+      <point x="223" y="624" type="line"/>
     </contour>
     <contour>
-      <point x="50" y="350" type="line"/>
-      <point x="547" y="350" type="line"/>
-      <point x="547" y="490" type="line"/>
-      <point x="50" y="490" type="line"/>
+      <point x="56" y="321" type="line"/>
+      <point x="545" y="321" type="line"/>
+      <point x="545" y="469" type="line"/>
+      <point x="56" y="469" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/lib.plist b/src/Cantarell-Bold.ufo/lib.plist
index cb5a06e4..2597e0a3 100644
--- a/src/Cantarell-Bold.ufo/lib.plist
+++ b/src/Cantarell-Bold.ufo/lib.plist
@@ -2165,8 +2165,8 @@
       <string>lessequal</string>
       <string>plusminus</string>
       <string>approxequal</string>
-      <string>logicalnot</string>
       <string>asciitilde</string>
+      <string>logicalnot</string>
       <string>asciicircum</string>
       <string>emptyset</string>
       <string>infinity</string>
@@ -2181,24 +2181,6 @@
       <string>percent</string>
       <string>perthousand</string>
       <string>ratio</string>
-      <string>bulletoperator.tf</string>
-      <string>commercialMinusSign.tf</string>
-      <string>divisionslash.tf</string>
-      <string>equivalence.tf</string>
-      <string>notidentical.tf</string>
-      <string>plus.tf</string>
-      <string>minus.tf</string>
-      <string>multiply.tf</string>
-      <string>divide.tf</string>
-      <string>equal.tf</string>
-      <string>notequal.tf</string>
-      <string>greater.tf</string>
-      <string>less.tf</string>
-      <string>greaterequal.tf</string>
-      <string>lessequal.tf</string>
-      <string>plusminus.tf</string>
-      <string>approxequal.tf</string>
-      <string>logicalnot.tf</string>
       <string>upArrow</string>
       <string>rightArrow</string>
       <string>downArrow</string>
@@ -2352,7 +2334,6 @@
       <string>_descender-cy.case.straight</string>
       <string>_descenderreverse-cy.case</string>
       <string>_bottomhook</string>
-      <string>_o.numero</string>
       <string>_slash.zero</string>
       <string>_typoquote</string>
       <string>_commaaccent</string>
@@ -2876,8 +2857,6 @@
       <key>breveinvertedcomb.case</key>
       <string>uni0311.case</string>
       <key>bulletoperator</key>
-      <string>uni2219</string>
-      <key>bulletoperator.tf</key>
       <string>uni2219.tf</string>
       <key>caroncomb</key>
       <string>uni030C</string>
@@ -2936,8 +2915,6 @@
       <key>commaturnedmod</key>
       <string>uni02BB</string>
       <key>commercialMinusSign</key>
-      <string>uni2052</string>
-      <key>commercialMinusSign.tf</key>
       <string>uni2052.tf</string>
       <key>dblgravecomb</key>
       <string>uni030F</string>
@@ -2970,8 +2947,6 @@
       <key>dieresiscomb_macroncomb</key>
       <string>uni03080304</string>
       <key>divisionslash</key>
-      <string>uni2215</string>
-      <key>divisionslash.tf</key>
       <string>uni2215.tf</string>
       <key>dje-cy</key>
       <string>uni0452</string>
@@ -3246,8 +3221,6 @@
       <key>nlinebelow</key>
       <string>uni1E49</string>
       <key>notidentical</key>
-      <string>uni2262</string>
-      <key>notidentical.tf</key>
       <string>uni2262.tf</string>
       <key>numero</key>
       <string>uni2116</string>
@@ -3589,7 +3562,6 @@
       <string>_descender-cy.case.straight</string>
       <string>_descenderreverse-cy.case</string>
       <string>_descenderreversed-cy</string>
-      <string>_o.numero</string>
       <string>_slash.zero</string>
       <string>_slash.zero.osf</string>
       <string>_typoquote</string>
diff --git a/src/Cantarell-Light.ufo/features.fea b/src/Cantarell-Light.ufo/features.fea
index def3510a..7a47ebf1 100644
--- a/src/Cantarell-Light.ufo/features.fea
+++ b/src/Cantarell-Light.ufo/features.fea
@@ -269,24 +269,6 @@ sub six.tf by six;
 sub seven.tf by seven;
 sub eight.tf by eight;
 sub nine.tf by nine;
-sub bulletoperator.tf by bulletoperator;
-sub commercialMinusSign.tf by commercialMinusSign;
-sub divisionslash.tf by divisionslash;
-sub equivalence.tf by equivalence;
-sub notidentical.tf by notidentical;
-sub plus.tf by plus;
-sub minus.tf by minus;
-sub multiply.tf by multiply;
-sub divide.tf by divide;
-sub equal.tf by equal;
-sub notequal.tf by notequal;
-sub greater.tf by greater;
-sub less.tf by less;
-sub greaterequal.tf by greaterequal;
-sub lessequal.tf by lessequal;
-sub plusminus.tf by plusminus;
-sub approxequal.tf by approxequal;
-sub logicalnot.tf by logicalnot;
 
 } pnum;
 
@@ -302,24 +284,6 @@ sub six by six.tf;
 sub seven by seven.tf;
 sub eight by eight.tf;
 sub nine by nine.tf;
-sub bulletoperator by bulletoperator.tf;
-sub commercialMinusSign by commercialMinusSign.tf;
-sub divisionslash by divisionslash.tf;
-sub equivalence by equivalence.tf;
-sub notidentical by notidentical.tf;
-sub plus by plus.tf;
-sub minus by minus.tf;
-sub multiply by multiply.tf;
-sub divide by divide.tf;
-sub equal by equal.tf;
-sub notequal by notequal.tf;
-sub greater by greater.tf;
-sub less by less.tf;
-sub greaterequal by greaterequal.tf;
-sub lessequal by lessequal.tf;
-sub plusminus by plusminus.tf;
-sub approxequal by approxequal.tf;
-sub logicalnot by logicalnot.tf;
 
 } tnum;
 
diff --git a/src/Cantarell-Light.ufo/glyphs/approxequal.glif b/src/Cantarell-Light.ufo/glyphs/approxequal.glif
index 159fbf99..fde32c89 100644
--- a/src/Cantarell-Light.ufo/glyphs/approxequal.glif
+++ b/src/Cantarell-Light.ufo/glyphs/approxequal.glif
@@ -1,51 +1,57 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="approxequal" format="2">
-  <advance width="632"/>
+  <advance width="580"/>
   <unicode hex="2248"/>
   <outline>
     <contour>
-      <point x="115" y="372" type="line"/>
-      <point x="130" y="415"/>
-      <point x="173" y="454"/>
-      <point x="222" y="454" type="curve" smooth="yes"/>
-      <point x="296" y="454"/>
-      <point x="320" y="368"/>
-      <point x="402" y="368" type="curve" smooth="yes"/>
-      <point x="461" y="368"/>
-      <point x="505" y="414"/>
-      <point x="518" y="461" type="curve"/>
-      <point x="506" y="466" type="line"/>
-      <point x="489" y="425"/>
-      <point x="449" y="387"/>
-      <point x="403" y="387" type="curve" smooth="yes"/>
-      <point x="333" y="387"/>
-      <point x="308" y="473"/>
-      <point x="225" y="473" type="curve" smooth="yes"/>
-      <point x="170" y="473"/>
-      <point x="117" y="433"/>
-      <point x="103" y="377" type="curve"/>
+      <point x="70" y="382" type="line"/>
+      <point x="87" y="425"/>
+      <point x="136" y="464"/>
+      <point x="192" y="464" type="curve" smooth="yes"/>
+      <point x="274" y="464"/>
+      <point x="303" y="378"/>
+      <point x="392" y="378" type="curve" smooth="yes"/>
+      <point x="457" y="378"/>
+      <point x="507" y="424"/>
+      <point x="522" y="471" type="curve"/>
+      <point x="510" y="476" type="line"/>
+      <point x="491" y="435"/>
+      <point x="445" y="397"/>
+      <point x="393" y="397" type="curve" smooth="yes"/>
+      <point x="315" y="397"/>
+      <point x="287" y="483"/>
+      <point x="196" y="483" type="curve" smooth="yes"/>
+      <point x="134" y="483"/>
+      <point x="73" y="443"/>
+      <point x="58" y="387" type="curve"/>
     </contour>
     <contour>
-      <point x="115" y="152" type="line"/>
-      <point x="130" y="195"/>
-      <point x="173" y="234"/>
-      <point x="222" y="234" type="curve" smooth="yes"/>
-      <point x="296" y="234"/>
-      <point x="320" y="148"/>
-      <point x="402" y="148" type="curve" smooth="yes"/>
-      <point x="461" y="148"/>
-      <point x="505" y="194"/>
-      <point x="518" y="241" type="curve"/>
-      <point x="506" y="246" type="line"/>
-      <point x="489" y="205"/>
-      <point x="449" y="167"/>
-      <point x="403" y="167" type="curve" smooth="yes"/>
-      <point x="333" y="167"/>
-      <point x="308" y="253"/>
-      <point x="225" y="253" type="curve" smooth="yes"/>
-      <point x="170" y="253"/>
-      <point x="117" y="213"/>
-      <point x="103" y="157" type="curve"/>
+      <point x="70" y="152" type="line"/>
+      <point x="87" y="195"/>
+      <point x="136" y="234"/>
+      <point x="192" y="234" type="curve" smooth="yes"/>
+      <point x="274" y="234"/>
+      <point x="303" y="148"/>
+      <point x="392" y="148" type="curve" smooth="yes"/>
+      <point x="457" y="148"/>
+      <point x="507" y="194"/>
+      <point x="522" y="241" type="curve"/>
+      <point x="510" y="246" type="line"/>
+      <point x="491" y="205"/>
+      <point x="445" y="167"/>
+      <point x="393" y="167" type="curve" smooth="yes"/>
+      <point x="315" y="167"/>
+      <point x="287" y="253"/>
+      <point x="196" y="253" type="curve" smooth="yes"/>
+      <point x="134" y="253"/>
+      <point x="73" y="213"/>
+      <point x="58" y="157" type="curve"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/asciicircum.glif b/src/Cantarell-Light.ufo/glyphs/asciicircum.glif
index 5939854e..95a1431b 100644
--- a/src/Cantarell-Light.ufo/glyphs/asciicircum.glif
+++ b/src/Cantarell-Light.ufo/glyphs/asciicircum.glif
@@ -1,17 +1,23 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="asciicircum" format="2">
-  <advance width="582"/>
+  <advance width="580"/>
   <unicode hex="005E"/>
   <outline>
     <contour>
-      <point x="85" y="272" type="line"/>
+      <point x="94" y="313" type="line"/>
       <point x="293" y="696" type="line"/>
       <point x="284" y="696" type="line"/>
-      <point x="495" y="273" type="line"/>
-      <point x="511" y="281" type="line"/>
+      <point x="484" y="314" type="line"/>
+      <point x="500" y="322" type="line"/>
       <point x="303" y="701" type="line"/>
       <point x="275" y="701" type="line"/>
-      <point x="71" y="280" type="line"/>
+      <point x="80" y="321" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/asciitilde.glif b/src/Cantarell-Light.ufo/glyphs/asciitilde.glif
index 97a90164..eff8a45f 100644
--- a/src/Cantarell-Light.ufo/glyphs/asciitilde.glif
+++ b/src/Cantarell-Light.ufo/glyphs/asciitilde.glif
@@ -1,29 +1,35 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="asciitilde" format="2">
-  <advance width="653"/>
+  <advance width="580"/>
   <unicode hex="007E"/>
   <outline>
     <contour>
-      <point x="117" y="278" type="line"/>
-      <point x="136" y="326"/>
-      <point x="180" y="368"/>
-      <point x="229" y="368" type="curve" smooth="yes"/>
-      <point x="298" y="368"/>
-      <point x="341" y="273"/>
-      <point x="424" y="273" type="curve" smooth="yes"/>
-      <point x="479" y="273"/>
-      <point x="532" y="316"/>
-      <point x="549" y="376" type="curve"/>
-      <point x="534" y="380" type="line"/>
-      <point x="517" y="334"/>
-      <point x="477" y="291"/>
-      <point x="428" y="291" type="curve" smooth="yes"/>
-      <point x="353" y="291"/>
-      <point x="313" y="387"/>
-      <point x="235" y="387" type="curve" smooth="yes"/>
-      <point x="174" y="387"/>
-      <point x="118" y="336"/>
-      <point x="103" y="283" type="curve"/>
+      <point x="81" y="273" type="line"/>
+      <point x="100" y="321"/>
+      <point x="144" y="363"/>
+      <point x="193" y="363" type="curve" smooth="yes"/>
+      <point x="262" y="363"/>
+      <point x="305" y="268"/>
+      <point x="388" y="268" type="curve" smooth="yes"/>
+      <point x="443" y="268"/>
+      <point x="496" y="311"/>
+      <point x="513" y="371" type="curve"/>
+      <point x="498" y="375" type="line"/>
+      <point x="481" y="329"/>
+      <point x="441" y="286"/>
+      <point x="392" y="286" type="curve" smooth="yes"/>
+      <point x="317" y="286"/>
+      <point x="277" y="382"/>
+      <point x="199" y="382" type="curve" smooth="yes"/>
+      <point x="138" y="382"/>
+      <point x="82" y="331"/>
+      <point x="67" y="278" type="curve"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/bulletoperator.glif 
b/src/Cantarell-Light.ufo/glyphs/bulletoperator.glif
index a7f20dc6..2d6ec917 100644
--- a/src/Cantarell-Light.ufo/glyphs/bulletoperator.glif
+++ b/src/Cantarell-Light.ufo/glyphs/bulletoperator.glif
@@ -3,7 +3,7 @@
   <advance width="196"/>
   <unicode hex="2219"/>
   <outline>
-    <component base="period" yOffset="330"/>
+    <component base="period" yOffset="323"/>
   </outline>
   <lib>
     <dict>
diff --git a/src/Cantarell-Light.ufo/glyphs/commercialM_inusS_ign.glif 
b/src/Cantarell-Light.ufo/glyphs/commercialM_inusS_ign.glif
index 19cd2e91..552b13b9 100644
--- a/src/Cantarell-Light.ufo/glyphs/commercialM_inusS_ign.glif
+++ b/src/Cantarell-Light.ufo/glyphs/commercialM_inusS_ign.glif
@@ -1,41 +1,47 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="commercialMinusSign" format="2">
-  <advance width="642"/>
+  <advance width="580"/>
   <unicode hex="2052"/>
   <outline>
     <contour>
-      <point x="77" y="0" type="line"/>
-      <point x="95" y="0" type="line"/>
-      <point x="565" y="694" type="line"/>
-      <point x="540" y="694" type="line"/>
+      <point x="64" y="0" type="line"/>
+      <point x="82" y="0" type="line"/>
+      <point x="516" y="694" type="line"/>
+      <point x="491" y="694" type="line"/>
     </contour>
     <contour>
-      <point x="496" y="-7" type="curve" smooth="yes"/>
-      <point x="511" y="-7"/>
-      <point x="521" y="4"/>
-      <point x="521" y="18" type="curve" smooth="yes"/>
-      <point x="521" y="34"/>
-      <point x="511" y="45"/>
-      <point x="496" y="45" type="curve" smooth="yes"/>
-      <point x="481" y="45"/>
-      <point x="471" y="34"/>
-      <point x="471" y="18" type="curve" smooth="yes"/>
-      <point x="471" y="4"/>
-      <point x="481" y="-7"/>
+      <point x="439" y="-7" type="curve" smooth="yes"/>
+      <point x="452" y="-7"/>
+      <point x="462" y="4"/>
+      <point x="462" y="18" type="curve" smooth="yes"/>
+      <point x="462" y="34"/>
+      <point x="452" y="45"/>
+      <point x="439" y="45" type="curve" smooth="yes"/>
+      <point x="425" y="45"/>
+      <point x="414" y="34"/>
+      <point x="414" y="18" type="curve" smooth="yes"/>
+      <point x="414" y="4"/>
+      <point x="425" y="-7"/>
     </contour>
     <contour>
-      <point x="146" y="649" type="curve" smooth="yes"/>
-      <point x="161" y="649"/>
-      <point x="171" y="660"/>
-      <point x="171" y="675" type="curve" smooth="yes"/>
-      <point x="171" y="690"/>
-      <point x="161" y="701"/>
-      <point x="146" y="701" type="curve" smooth="yes"/>
-      <point x="131" y="701"/>
-      <point x="121" y="690"/>
-      <point x="121" y="675" type="curve" smooth="yes"/>
-      <point x="121" y="660"/>
-      <point x="131" y="649"/>
+      <point x="149" y="649" type="curve" smooth="yes"/>
+      <point x="163" y="649"/>
+      <point x="173" y="660"/>
+      <point x="173" y="675" type="curve" smooth="yes"/>
+      <point x="173" y="690"/>
+      <point x="163" y="701"/>
+      <point x="149" y="701" type="curve" smooth="yes"/>
+      <point x="136" y="701"/>
+      <point x="125" y="690"/>
+      <point x="125" y="675" type="curve" smooth="yes"/>
+      <point x="125" y="660"/>
+      <point x="136" y="649"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/contents.plist b/src/Cantarell-Light.ufo/glyphs/contents.plist
index a634e5df..95a385a6 100644
--- a/src/Cantarell-Light.ufo/glyphs/contents.plist
+++ b/src/Cantarell-Light.ufo/glyphs/contents.plist
@@ -686,8 +686,6 @@
     <string>_descenderreverse-cy.case.glif</string>
     <key>_descenderreversed-cy</key>
     <string>_descenderreversed-cy.glif</string>
-    <key>_o.numero</key>
-    <string>_o.numero.glif</string>
     <key>_slash.zero</key>
     <string>_slash.zero.glif</string>
     <key>_slash.zero.osf</key>
@@ -768,8 +766,6 @@
     <string>apostrophemod.glif</string>
     <key>approxequal</key>
     <string>approxequal.glif</string>
-    <key>approxequal.tf</key>
-    <string>approxequal.tf.glif</string>
     <key>aring</key>
     <string>aring.glif</string>
     <key>aringacute</key>
@@ -844,8 +840,6 @@
     <string>bullet.glif</string>
     <key>bulletoperator</key>
     <string>bulletoperator.glif</string>
-    <key>bulletoperator.tf</key>
-    <string>bulletoperator.tf.glif</string>
     <key>c</key>
     <string>c.glif</string>
     <key>cacute</key>
@@ -928,8 +922,6 @@
     <string>commaturnedmod.glif</string>
     <key>commercialMinusSign</key>
     <string>commercialM_inusS_ign.glif</string>
-    <key>commercialMinusSign.tf</key>
-    <string>commercialM_inusS_ign.tf.glif</string>
     <key>copyright</key>
     <string>copyright.glif</string>
     <key>currency</key>
@@ -980,12 +972,8 @@
     <string>dieresiscomb_macroncomb.glif</string>
     <key>divide</key>
     <string>divide.glif</string>
-    <key>divide.tf</key>
-    <string>divide.tf.glif</string>
     <key>divisionslash</key>
     <string>divisionslash.glif</string>
-    <key>divisionslash.tf</key>
-    <string>divisionslash.tf.glif</string>
     <key>dje-cy</key>
     <string>dje-cy.glif</string>
     <key>dlinebelow</key>
@@ -1104,12 +1092,8 @@
     <string>eogonek.glif</string>
     <key>equal</key>
     <string>equal.glif</string>
-    <key>equal.tf</key>
-    <string>equal.tf.glif</string>
     <key>equivalence</key>
     <string>equivalence.glif</string>
-    <key>equivalence.tf</key>
-    <string>equivalence.tf.glif</string>
     <key>er-cy</key>
     <string>er-cy.glif</string>
     <key>ereversed-cy</key>
@@ -1232,12 +1216,8 @@
     <string>gravecomb.loclV_I_E_T_.glif</string>
     <key>greater</key>
     <string>greater.glif</string>
-    <key>greater.tf</key>
-    <string>greater.tf.glif</string>
     <key>greaterequal</key>
     <string>greaterequal.glif</string>
-    <key>greaterequal.tf</key>
-    <string>greaterequal.tf.glif</string>
     <key>guarani</key>
     <string>guarani.glif</string>
     <key>guillemetleft</key>
@@ -1400,12 +1380,8 @@
     <string>leftanglebracket-math.glif</string>
     <key>less</key>
     <string>less.glif</string>
-    <key>less.tf</key>
-    <string>less.tf.glif</string>
     <key>lessequal</key>
     <string>lessequal.glif</string>
-    <key>lessequal.tf</key>
-    <string>lessequal.tf.glif</string>
     <key>lira</key>
     <string>lira.glif</string>
     <key>liraTurkish</key>
@@ -1420,8 +1396,6 @@
     <string>llinebelow.glif</string>
     <key>logicalnot</key>
     <string>logicalnot.glif</string>
-    <key>logicalnot.tf</key>
-    <string>logicalnot.tf.glif</string>
     <key>lozenge</key>
     <string>lozenge.glif</string>
     <key>lslash</key>
@@ -1458,14 +1432,10 @@
     <string>micro.glif</string>
     <key>minus</key>
     <string>minus.glif</string>
-    <key>minus.tf</key>
-    <string>minus.tf.glif</string>
     <key>minute</key>
     <string>minute.glif</string>
     <key>multiply</key>
     <string>multiply.glif</string>
-    <key>multiply.tf</key>
-    <string>multiply.tf.glif</string>
     <key>n</key>
     <string>n.glif</string>
     <key>nacute</key>
@@ -1502,12 +1472,8 @@
     <string>nlinebelow.glif</string>
     <key>notequal</key>
     <string>notequal.glif</string>
-    <key>notequal.tf</key>
-    <string>notequal.tf.glif</string>
     <key>notidentical</key>
     <string>notidentical.glif</string>
-    <key>notidentical.tf</key>
-    <string>notidentical.tf.glif</string>
     <key>ntilde</key>
     <string>ntilde.glif</string>
     <key>numbersign</key>
@@ -1674,12 +1640,8 @@
     <string>pi.glif</string>
     <key>plus</key>
     <string>plus.glif</string>
-    <key>plus.tf</key>
-    <string>plus.tf.glif</string>
     <key>plusminus</key>
     <string>plusminus.glif</string>
-    <key>plusminus.tf</key>
-    <string>plusminus.tf.glif</string>
     <key>primeReversed</key>
     <string>primeR_eversed.glif</string>
     <key>primemod</key>
diff --git a/src/Cantarell-Light.ufo/glyphs/degree.glif b/src/Cantarell-Light.ufo/glyphs/degree.glif
index 882716b8..9785a935 100644
--- a/src/Cantarell-Light.ufo/glyphs/degree.glif
+++ b/src/Cantarell-Light.ufo/glyphs/degree.glif
@@ -1,35 +1,35 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="degree" format="2">
-  <advance width="512"/>
+  <advance width="487"/>
   <unicode hex="00B0"/>
   <outline>
     <contour>
-      <point x="255" y="417" type="curve" smooth="yes"/>
-      <point x="337" y="417"/>
-      <point x="391" y="475"/>
-      <point x="391" y="561" type="curve" smooth="yes"/>
-      <point x="391" y="647"/>
-      <point x="337" y="704"/>
-      <point x="257" y="704" type="curve" smooth="yes"/>
-      <point x="175" y="704"/>
-      <point x="120" y="646"/>
-      <point x="120" y="559" type="curve" smooth="yes"/>
-      <point x="120" y="474"/>
-      <point x="174" y="417"/>
+      <point x="243" y="417" type="curve" smooth="yes"/>
+      <point x="325" y="417"/>
+      <point x="379" y="475"/>
+      <point x="379" y="561" type="curve" smooth="yes"/>
+      <point x="379" y="647"/>
+      <point x="325" y="704"/>
+      <point x="245" y="704" type="curve" smooth="yes"/>
+      <point x="163" y="704"/>
+      <point x="108" y="646"/>
+      <point x="108" y="559" type="curve" smooth="yes"/>
+      <point x="108" y="474"/>
+      <point x="162" y="417"/>
     </contour>
     <contour>
-      <point x="257" y="434" type="curve" smooth="yes"/>
-      <point x="186" y="434"/>
-      <point x="139" y="485"/>
-      <point x="139" y="561" type="curve" smooth="yes"/>
-      <point x="139" y="637"/>
-      <point x="185" y="687"/>
-      <point x="255" y="687" type="curve" smooth="yes"/>
-      <point x="325" y="687"/>
-      <point x="372" y="636"/>
-      <point x="372" y="559" type="curve" smooth="yes"/>
-      <point x="372" y="484"/>
-      <point x="326" y="434"/>
+      <point x="245" y="434" type="curve" smooth="yes"/>
+      <point x="174" y="434"/>
+      <point x="127" y="485"/>
+      <point x="127" y="561" type="curve" smooth="yes"/>
+      <point x="127" y="637"/>
+      <point x="173" y="687"/>
+      <point x="243" y="687" type="curve" smooth="yes"/>
+      <point x="313" y="687"/>
+      <point x="360" y="636"/>
+      <point x="360" y="559" type="curve" smooth="yes"/>
+      <point x="360" y="484"/>
+      <point x="314" y="434"/>
     </contour>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/divide.glif b/src/Cantarell-Light.ufo/glyphs/divide.glif
index ab6f75ec..3e523326 100644
--- a/src/Cantarell-Light.ufo/glyphs/divide.glif
+++ b/src/Cantarell-Light.ufo/glyphs/divide.glif
@@ -1,41 +1,49 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="divide" format="2">
-  <advance width="632"/>
+  <advance width="580"/>
   <unicode hex="00F7"/>
   <outline>
     <contour>
-      <point x="80" y="349" type="line"/>
-      <point x="532" y="349" type="line"/>
-      <point x="532" y="366" type="line"/>
-      <point x="80" y="366" type="line"/>
+      <point x="281" y="502" type="curve" smooth="yes"/>
+      <point x="292" y="502"/>
+      <point x="302" y="511"/>
+      <point x="302" y="523" type="curve" smooth="yes"/>
+      <point x="302" y="535"/>
+      <point x="292" y="544"/>
+      <point x="281" y="544" type="curve" smooth="yes"/>
+      <point x="271" y="544"/>
+      <point x="261" y="535"/>
+      <point x="261" y="523" type="curve" smooth="yes"/>
+      <point x="261" y="511"/>
+      <point x="271" y="502"/>
     </contour>
     <contour>
-      <point x="307" y="538" type="curve" smooth="yes"/>
-      <point x="319" y="538"/>
-      <point x="328" y="547"/>
-      <point x="328" y="559" type="curve" smooth="yes"/>
-      <point x="328" y="571"/>
-      <point x="319" y="580"/>
-      <point x="307" y="580" type="curve" smooth="yes"/>
-      <point x="295" y="580"/>
-      <point x="286" y="571"/>
-      <point x="286" y="559" type="curve" smooth="yes"/>
-      <point x="286" y="547"/>
-      <point x="295" y="538"/>
+      <point x="281" y="118" type="curve" smooth="yes"/>
+      <point x="292" y="118"/>
+      <point x="302" y="127"/>
+      <point x="302" y="139" type="curve" smooth="yes"/>
+      <point x="302" y="151"/>
+      <point x="292" y="160"/>
+      <point x="281" y="160" type="curve" smooth="yes"/>
+      <point x="271" y="160"/>
+      <point x="261" y="151"/>
+      <point x="261" y="139" type="curve" smooth="yes"/>
+      <point x="261" y="127"/>
+      <point x="271" y="118"/>
     </contour>
     <contour>
-      <point x="307" y="134" type="curve" smooth="yes"/>
-      <point x="319" y="134"/>
-      <point x="328" y="143"/>
-      <point x="328" y="155" type="curve" smooth="yes"/>
-      <point x="328" y="167"/>
-      <point x="319" y="176"/>
-      <point x="307" y="176" type="curve" smooth="yes"/>
-      <point x="295" y="176"/>
-      <point x="286" y="167"/>
-      <point x="286" y="155" type="curve" smooth="yes"/>
-      <point x="286" y="143"/>
-      <point x="295" y="134"/>
+      <point x="60" y="322" type="line"/>
+      <point x="520" y="322" type="line"/>
+      <point x="520" y="339" type="line"/>
+      <point x="60" y="339" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.leftMetricsKey</key>
+      <string>minus</string>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/divisionslash.glif 
b/src/Cantarell-Light.ufo/glyphs/divisionslash.glif
index 698e9212..00b95908 100644
--- a/src/Cantarell-Light.ufo/glyphs/divisionslash.glif
+++ b/src/Cantarell-Light.ufo/glyphs/divisionslash.glif
@@ -1,8 +1,19 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="divisionslash" format="2">
-  <advance width="165"/>
+  <advance width="580"/>
   <unicode hex="2215"/>
   <outline>
-    <component base="fraction"/>
+    <contour>
+      <point x="129" y="0" type="line"/>
+      <point x="147" y="0" type="line"/>
+      <point x="453" y="694" type="line"/>
+      <point x="428" y="694" type="line"/>
+    </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/equal.glif b/src/Cantarell-Light.ufo/glyphs/equal.glif
index 594df207..67d852fe 100644
--- a/src/Cantarell-Light.ufo/glyphs/equal.glif
+++ b/src/Cantarell-Light.ufo/glyphs/equal.glif
@@ -1,19 +1,17 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="equal" format="2">
-  <advance width="723"/>
+  <advance width="580"/>
   <unicode hex="003D"/>
   <outline>
-    <contour>
-      <point x="144" y="442" type="line"/>
-      <point x="579" y="442" type="line"/>
-      <point x="579" y="459" type="line"/>
-      <point x="144" y="459" type="line"/>
-    </contour>
-    <contour>
-      <point x="144" y="202" type="line"/>
-      <point x="579" y="202" type="line"/>
-      <point x="579" y="219" type="line"/>
-      <point x="144" y="219" type="line"/>
-    </contour>
+    <component base="minus" yOffset="114"/>
+    <component base="minus" yOffset="-129"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.leftMetricsKey</key>
+      <string>minus</string>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/equivalence.glif b/src/Cantarell-Light.ufo/glyphs/equivalence.glif
index fa390d98..6c8a06e9 100644
--- a/src/Cantarell-Light.ufo/glyphs/equivalence.glif
+++ b/src/Cantarell-Light.ufo/glyphs/equivalence.glif
@@ -1,25 +1,31 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="equivalence" format="2">
-  <advance width="713"/>
+  <advance width="580"/>
   <unicode hex="2261"/>
   <outline>
     <contour>
-      <point x="144" y="492" type="line"/>
-      <point x="569" y="492" type="line"/>
-      <point x="569" y="509" type="line"/>
-      <point x="144" y="509" type="line"/>
+      <point x="60" y="502" type="line"/>
+      <point x="520" y="502" type="line"/>
+      <point x="520" y="519" type="line"/>
+      <point x="60" y="519" type="line"/>
     </contour>
     <contour>
-      <point x="144" y="148" type="line"/>
-      <point x="569" y="148" type="line"/>
-      <point x="569" y="165" type="line"/>
-      <point x="144" y="165" type="line"/>
+      <point x="60" y="158" type="line"/>
+      <point x="520" y="158" type="line"/>
+      <point x="520" y="175" type="line"/>
+      <point x="60" y="175" type="line"/>
     </contour>
     <contour>
-      <point x="144" y="320" type="line"/>
-      <point x="569" y="320" type="line"/>
-      <point x="569" y="337" type="line"/>
-      <point x="144" y="337" type="line"/>
+      <point x="60" y="330" type="line"/>
+      <point x="520" y="330" type="line"/>
+      <point x="520" y="347" type="line"/>
+      <point x="60" y="347" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.leftMetricsKey</key>
+      <string>minus</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/greater.glif b/src/Cantarell-Light.ufo/glyphs/greater.glif
index 55e5921e..1d4717a3 100644
--- a/src/Cantarell-Light.ufo/glyphs/greater.glif
+++ b/src/Cantarell-Light.ufo/glyphs/greater.glif
@@ -1,17 +1,23 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="greater" format="2">
-  <advance width="594"/>
+  <advance width="580"/>
   <unicode hex="003E"/>
   <outline>
     <contour>
-      <point x="85" y="74" type="line"/>
-      <point x="511" y="308" type="line"/>
-      <point x="511" y="332" type="line"/>
-      <point x="85" y="567" type="line"/>
-      <point x="85" y="547" type="line"/>
-      <point x="506" y="314" type="line"/>
-      <point x="506" y="325" type="line"/>
-      <point x="85" y="93" type="line"/>
+      <point x="95" y="44" type="line"/>
+      <point x="485" y="298" type="line"/>
+      <point x="485" y="322" type="line"/>
+      <point x="95" y="577" type="line"/>
+      <point x="95" y="557" type="line"/>
+      <point x="479" y="304" type="line"/>
+      <point x="479" y="315" type="line"/>
+      <point x="95" y="63" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/greaterequal.glif 
b/src/Cantarell-Light.ufo/glyphs/greaterequal.glif
index a5e08fe4..c890062e 100644
--- a/src/Cantarell-Light.ufo/glyphs/greaterequal.glif
+++ b/src/Cantarell-Light.ufo/glyphs/greaterequal.glif
@@ -1,23 +1,29 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="greaterequal" format="2">
-  <advance width="664"/>
+  <advance width="580"/>
   <unicode hex="2265"/>
   <outline>
     <contour>
-      <point x="101" y="172" type="line"/>
-      <point x="572" y="357" type="line"/>
-      <point x="572" y="383" type="line"/>
-      <point x="101" y="569" type="line"/>
-      <point x="101" y="550" type="line"/>
-      <point x="569" y="366" type="line"/>
-      <point x="569" y="373" type="line"/>
-      <point x="101" y="189" type="line"/>
+      <point x="70" y="172" type="line"/>
+      <point x="510" y="357" type="line"/>
+      <point x="510" y="383" type="line"/>
+      <point x="70" y="569" type="line"/>
+      <point x="70" y="550" type="line"/>
+      <point x="506" y="366" type="line"/>
+      <point x="506" y="373" type="line"/>
+      <point x="70" y="189" type="line"/>
     </contour>
     <contour>
-      <point x="107" y="55" type="line"/>
-      <point x="572" y="55" type="line"/>
-      <point x="572" y="72" type="line"/>
-      <point x="107" y="72" type="line"/>
+      <point x="76" y="55" type="line"/>
+      <point x="510" y="55" type="line"/>
+      <point x="510" y="72" type="line"/>
+      <point x="76" y="72" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/layerinfo.plist b/src/Cantarell-Light.ufo/glyphs/layerinfo.plist
index 5423a923..4b9ea54c 100644
--- a/src/Cantarell-Light.ufo/glyphs/layerinfo.plist
+++ b/src/Cantarell-Light.ufo/glyphs/layerinfo.plist
@@ -690,8 +690,6 @@
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph._descenderreversed-cy</key>
       <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph._o.numero</key>
-      <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph._slash.zero</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph._slash.zero.osf</key>
@@ -771,8 +769,6 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.apostrophemod</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.approxequal</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.approxequal.tf</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.aring</key>
       <integer>2</integer>
@@ -847,8 +843,6 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.bullet</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.bulletoperator</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.bulletoperator.tf</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.c</key>
       <integer>2</integer>
@@ -932,8 +926,6 @@
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.commercialMinusSign</key>
       <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.commercialMinusSign.tf</key>
-      <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.copyright</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.currency</key>
@@ -983,12 +975,8 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.dieresiscomb_macroncomb</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.divide</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.divide.tf</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.divisionslash</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.divisionslash.tf</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.dje-cy</key>
       <integer>0</integer>
@@ -1107,12 +1095,8 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.eogonek</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.equal</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.equal.tf</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.equivalence</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.equivalence.tf</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.er-cy</key>
       <integer>0</integer>
@@ -1235,12 +1219,8 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.gravecomb.loclVIET</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.greater</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.greater.tf</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.greaterequal</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.greaterequal.tf</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.guarani</key>
       <integer>2</integer>
@@ -1403,12 +1383,8 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.leftanglebracket-math</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.less</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.less.tf</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.lessequal</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.lessequal.tf</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.lira</key>
       <integer>2</integer>
@@ -1423,8 +1399,6 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.llinebelow</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.logicalnot</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.logicalnot.tf</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.lozenge</key>
       <integer>2</integer>
@@ -1461,15 +1435,11 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.micro</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.minus</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.minus.tf</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.minute</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.multiply</key>
       <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.multiply.tf</key>
-      <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.n</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.nacute</key>
@@ -1505,12 +1475,8 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.nlinebelow</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.notequal</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.notequal.tf</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.notidentical</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.notidentical.tf</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.ntilde</key>
       <integer>2</integer>
@@ -1677,12 +1643,8 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.pi</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.plus</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.plus.tf</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.plusminus</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.plusminus.tf</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.primeReversed</key>
       <integer>2</integer>
diff --git a/src/Cantarell-Light.ufo/glyphs/less.glif b/src/Cantarell-Light.ufo/glyphs/less.glif
index 851d7772..3845dc4d 100644
--- a/src/Cantarell-Light.ufo/glyphs/less.glif
+++ b/src/Cantarell-Light.ufo/glyphs/less.glif
@@ -1,8 +1,16 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="less" format="2">
-  <advance width="594"/>
+  <advance width="580"/>
   <unicode hex="003C"/>
   <outline>
-    <component base="greater.tf" xScale="-1" yScale="-1" xOffset="594" yOffset="631"/>
+    <component base="greater" xScale="-1" yScale="-1" xOffset="580" yOffset="621"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.rightMetricsKey</key>
+      <string>=|greater</string>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/lessequal.glif b/src/Cantarell-Light.ufo/glyphs/lessequal.glif
index 1beb3394..72083c4e 100644
--- a/src/Cantarell-Light.ufo/glyphs/lessequal.glif
+++ b/src/Cantarell-Light.ufo/glyphs/lessequal.glif
@@ -1,8 +1,16 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="lessequal" format="2">
-  <advance width="823"/>
+  <advance width="580"/>
   <unicode hex="2264"/>
   <outline>
-    <component base="greaterequal.tf" xScale="-1" xOffset="664"/>
+    <component base="greaterequal" xScale="-1" xOffset="580"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.rightMetricsKey</key>
+      <string>=|greaterequal</string>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/logicalnot.glif b/src/Cantarell-Light.ufo/glyphs/logicalnot.glif
index d25d6c96..e4c2d0c6 100644
--- a/src/Cantarell-Light.ufo/glyphs/logicalnot.glif
+++ b/src/Cantarell-Light.ufo/glyphs/logicalnot.glif
@@ -1,19 +1,25 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="logicalnot" format="2">
-  <advance width="666"/>
+  <advance width="580"/>
   <unicode hex="00AC"/>
   <outline>
     <contour>
-      <point x="86" y="363" type="line"/>
-      <point x="522" y="363" type="line"/>
-      <point x="522" y="380" type="line"/>
-      <point x="86" y="380" type="line"/>
+      <point x="502" y="101" type="line"/>
+      <point x="520" y="101" type="line"/>
+      <point x="520" y="333" type="line"/>
+      <point x="502" y="333" type="line"/>
     </contour>
     <contour>
-      <point x="502" y="162" type="line"/>
-      <point x="522" y="162" type="line"/>
-      <point x="522" y="363" type="line"/>
-      <point x="502" y="363" type="line"/>
+      <point x="60" y="322" type="line"/>
+      <point x="520" y="322" type="line"/>
+      <point x="520" y="339" type="line"/>
+      <point x="60" y="339" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/minus.glif b/src/Cantarell-Light.ufo/glyphs/minus.glif
index c0a43828..4e664c46 100644
--- a/src/Cantarell-Light.ufo/glyphs/minus.glif
+++ b/src/Cantarell-Light.ufo/glyphs/minus.glif
@@ -1,13 +1,19 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="minus" format="2">
-  <advance width="751"/>
+  <advance width="580"/>
   <unicode hex="2212"/>
   <outline>
     <contour>
-      <point x="144" y="322" type="line"/>
-      <point x="607" y="322" type="line"/>
-      <point x="607" y="339" type="line"/>
-      <point x="144" y="339" type="line"/>
+      <point x="60" y="322" type="line"/>
+      <point x="520" y="322" type="line"/>
+      <point x="520" y="339" type="line"/>
+      <point x="60" y="339" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/multiply.glif b/src/Cantarell-Light.ufo/glyphs/multiply.glif
index d637d7f0..274d6882 100644
--- a/src/Cantarell-Light.ufo/glyphs/multiply.glif
+++ b/src/Cantarell-Light.ufo/glyphs/multiply.glif
@@ -1,19 +1,25 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="multiply" format="2">
-  <advance width="551"/>
+  <advance width="580"/>
   <unicode hex="00D7"/>
   <outline>
     <contour>
-      <point x="453" y="132" type="line"/>
-      <point x="464" y="143" type="line"/>
-      <point x="106" y="530" type="line"/>
-      <point x="95" y="519" type="line"/>
+      <point x="121" y="487" type="line"/>
+      <point x="447" y="162" type="line"/>
+      <point x="459" y="174" type="line"/>
+      <point x="133" y="499" type="line"/>
     </contour>
     <contour>
-      <point x="98" y="139" type="line"/>
-      <point x="459" y="519" type="line"/>
-      <point x="448" y="530" type="line"/>
-      <point x="87" y="150" type="line"/>
+      <point x="133" y="162" type="line"/>
+      <point x="459" y="487" type="line"/>
+      <point x="447" y="499" type="line"/>
+      <point x="121" y="174" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/notequal.glif b/src/Cantarell-Light.ufo/glyphs/notequal.glif
index 28addd3c..c09e0f2d 100644
--- a/src/Cantarell-Light.ufo/glyphs/notequal.glif
+++ b/src/Cantarell-Light.ufo/glyphs/notequal.glif
@@ -1,25 +1,33 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="notequal" format="2">
-  <advance width="615"/>
+  <advance width="580"/>
   <unicode hex="2260"/>
   <outline>
     <contour>
-      <point x="95" y="442" type="line"/>
-      <point x="520" y="442" type="line"/>
-      <point x="520" y="459" type="line"/>
-      <point x="95" y="459" type="line"/>
+      <point x="182" y="76" type="line"/>
+      <point x="419" y="559" type="line"/>
+      <point x="406" y="568" type="line"/>
+      <point x="169" y="85" type="line"/>
     </contour>
     <contour>
-      <point x="194" y="86" type="line"/>
-      <point x="443" y="569" type="line"/>
-      <point x="430" y="578" type="line"/>
-      <point x="181" y="95" type="line"/>
+      <point x="60" y="436" type="line"/>
+      <point x="520" y="436" type="line"/>
+      <point x="520" y="453" type="line"/>
+      <point x="60" y="453" type="line"/>
     </contour>
     <contour>
-      <point x="95" y="202" type="line"/>
-      <point x="520" y="202" type="line"/>
-      <point x="520" y="219" type="line"/>
-      <point x="95" y="219" type="line"/>
+      <point x="60" y="193" type="line"/>
+      <point x="520" y="193" type="line"/>
+      <point x="520" y="210" type="line"/>
+      <point x="60" y="210" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.leftMetricsKey</key>
+      <string>minus</string>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/notidentical.glif 
b/src/Cantarell-Light.ufo/glyphs/notidentical.glif
index 2049f972..43eabb95 100644
--- a/src/Cantarell-Light.ufo/glyphs/notidentical.glif
+++ b/src/Cantarell-Light.ufo/glyphs/notidentical.glif
@@ -1,31 +1,39 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="notidentical" format="2">
-  <advance width="637"/>
+  <advance width="580"/>
   <unicode hex="2262"/>
   <outline>
     <contour>
-      <point x="176" y="58" type="line"/>
-      <point x="484" y="602" type="line"/>
-      <point x="471" y="611" type="line"/>
-      <point x="163" y="67" type="line"/>
+      <point x="159" y="63" type="line"/>
+      <point x="441" y="607" type="line"/>
+      <point x="429" y="616" type="line"/>
+      <point x="146" y="72" type="line"/>
     </contour>
     <contour>
-      <point x="106" y="497" type="line"/>
-      <point x="531" y="497" type="line"/>
-      <point x="531" y="514" type="line"/>
-      <point x="106" y="514" type="line"/>
+      <point x="60" y="502" type="line"/>
+      <point x="520" y="502" type="line"/>
+      <point x="520" y="519" type="line"/>
+      <point x="60" y="519" type="line"/>
     </contour>
     <contour>
-      <point x="106" y="153" type="line"/>
-      <point x="531" y="153" type="line"/>
-      <point x="531" y="170" type="line"/>
-      <point x="106" y="170" type="line"/>
+      <point x="60" y="158" type="line"/>
+      <point x="520" y="158" type="line"/>
+      <point x="520" y="175" type="line"/>
+      <point x="60" y="175" type="line"/>
     </contour>
     <contour>
-      <point x="106" y="325" type="line"/>
-      <point x="531" y="325" type="line"/>
-      <point x="531" y="342" type="line"/>
-      <point x="106" y="342" type="line"/>
+      <point x="60" y="330" type="line"/>
+      <point x="520" y="330" type="line"/>
+      <point x="520" y="347" type="line"/>
+      <point x="60" y="347" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.leftMetricsKey</key>
+      <string>minus</string>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/numero.glif b/src/Cantarell-Light.ufo/glyphs/numero.glif
index 58b8a79f..3da337c0 100644
--- a/src/Cantarell-Light.ufo/glyphs/numero.glif
+++ b/src/Cantarell-Light.ufo/glyphs/numero.glif
@@ -1,17 +1,17 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="numero" format="2">
-  <advance width="1279"/>
+  <advance width="1132"/>
   <unicode hex="2116"/>
   <outline>
-    <component base="N" xOffset="26"/>
-    <component base="_o.numero" xOffset="693"/>
+    <component base="N"/>
+    <component base="ordmasculine" xOffset="720"/>
   </outline>
   <lib>
     <dict>
       <key>com.schriftgestaltung.componentsAlignment</key>
       <array>
-        <integer>-1</integer>
         <integer>0</integer>
+        <integer>1</integer>
       </array>
     </dict>
   </lib>
diff --git a/src/Cantarell-Light.ufo/glyphs/plus.glif b/src/Cantarell-Light.ufo/glyphs/plus.glif
index 79a58d7b..fc73c6d5 100644
--- a/src/Cantarell-Light.ufo/glyphs/plus.glif
+++ b/src/Cantarell-Light.ufo/glyphs/plus.glif
@@ -1,19 +1,27 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="plus" format="2">
-  <advance width="651"/>
+  <advance width="580"/>
   <unicode hex="002B"/>
   <outline>
     <contour>
-      <point x="319" y="62" type="line"/>
-      <point x="337" y="62" type="line"/>
-      <point x="337" y="588" type="line"/>
-      <point x="319" y="588" type="line"/>
+      <point x="282" y="101" type="line"/>
+      <point x="300" y="101" type="line"/>
+      <point x="300" y="561" type="line"/>
+      <point x="282" y="561" type="line"/>
     </contour>
     <contour>
-      <point x="81" y="322" type="line"/>
-      <point x="570" y="322" type="line"/>
-      <point x="570" y="339" type="line"/>
-      <point x="81" y="339" type="line"/>
+      <point x="60" y="322" type="line"/>
+      <point x="520" y="322" type="line"/>
+      <point x="520" y="339" type="line"/>
+      <point x="60" y="339" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.leftMetricsKey</key>
+      <string>minus</string>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/plusminus.glif b/src/Cantarell-Light.ufo/glyphs/plusminus.glif
index 0cce64a5..508dba39 100644
--- a/src/Cantarell-Light.ufo/glyphs/plusminus.glif
+++ b/src/Cantarell-Light.ufo/glyphs/plusminus.glif
@@ -1,25 +1,31 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="plusminus" format="2">
-  <advance width="624"/>
+  <advance width="580"/>
   <unicode hex="00B1"/>
   <outline>
     <contour>
-      <point x="303" y="147" type="line"/>
-      <point x="322" y="147" type="line"/>
-      <point x="322" y="623" type="line"/>
-      <point x="303" y="623" type="line"/>
+      <point x="60" y="63" type="line"/>
+      <point x="520" y="63" type="line"/>
+      <point x="520" y="80" type="line"/>
+      <point x="60" y="80" type="line"/>
     </contour>
     <contour>
-      <point x="87" y="63" type="line"/>
-      <point x="537" y="63" type="line"/>
-      <point x="537" y="80" type="line"/>
-      <point x="87" y="80" type="line"/>
+      <point x="282" y="163" type="line"/>
+      <point x="300" y="163" type="line"/>
+      <point x="300" y="623" type="line"/>
+      <point x="282" y="623" type="line"/>
     </contour>
     <contour>
-      <point x="87" y="381" type="line"/>
-      <point x="537" y="381" type="line"/>
-      <point x="537" y="398" type="line"/>
-      <point x="87" y="398" type="line"/>
+      <point x="60" y="384" type="line"/>
+      <point x="520" y="384" type="line"/>
+      <point x="520" y="401" type="line"/>
+      <point x="60" y="401" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/lib.plist b/src/Cantarell-Light.ufo/lib.plist
index fead5a81..bf176cc7 100644
--- a/src/Cantarell-Light.ufo/lib.plist
+++ b/src/Cantarell-Light.ufo/lib.plist
@@ -2165,8 +2165,8 @@
       <string>lessequal</string>
       <string>plusminus</string>
       <string>approxequal</string>
-      <string>logicalnot</string>
       <string>asciitilde</string>
+      <string>logicalnot</string>
       <string>asciicircum</string>
       <string>emptyset</string>
       <string>infinity</string>
@@ -2181,24 +2181,6 @@
       <string>percent</string>
       <string>perthousand</string>
       <string>ratio</string>
-      <string>bulletoperator.tf</string>
-      <string>commercialMinusSign.tf</string>
-      <string>divisionslash.tf</string>
-      <string>equivalence.tf</string>
-      <string>notidentical.tf</string>
-      <string>plus.tf</string>
-      <string>minus.tf</string>
-      <string>multiply.tf</string>
-      <string>divide.tf</string>
-      <string>equal.tf</string>
-      <string>notequal.tf</string>
-      <string>greater.tf</string>
-      <string>less.tf</string>
-      <string>greaterequal.tf</string>
-      <string>lessequal.tf</string>
-      <string>plusminus.tf</string>
-      <string>approxequal.tf</string>
-      <string>logicalnot.tf</string>
       <string>upArrow</string>
       <string>rightArrow</string>
       <string>downArrow</string>
@@ -2352,7 +2334,6 @@
       <string>_descender-cy.case.straight</string>
       <string>_descenderreverse-cy.case</string>
       <string>_bottomhook</string>
-      <string>_o.numero</string>
       <string>_slash.zero</string>
       <string>_typoquote</string>
       <string>_commaaccent</string>
@@ -2876,8 +2857,6 @@
       <key>breveinvertedcomb.case</key>
       <string>uni0311.case</string>
       <key>bulletoperator</key>
-      <string>uni2219</string>
-      <key>bulletoperator.tf</key>
       <string>uni2219.tf</string>
       <key>caroncomb</key>
       <string>uni030C</string>
@@ -2936,8 +2915,6 @@
       <key>commaturnedmod</key>
       <string>uni02BB</string>
       <key>commercialMinusSign</key>
-      <string>uni2052</string>
-      <key>commercialMinusSign.tf</key>
       <string>uni2052.tf</string>
       <key>dblgravecomb</key>
       <string>uni030F</string>
@@ -2970,8 +2947,6 @@
       <key>dieresiscomb_macroncomb</key>
       <string>uni03080304</string>
       <key>divisionslash</key>
-      <string>uni2215</string>
-      <key>divisionslash.tf</key>
       <string>uni2215.tf</string>
       <key>dje-cy</key>
       <string>uni0452</string>
@@ -3246,8 +3221,6 @@
       <key>nlinebelow</key>
       <string>uni1E49</string>
       <key>notidentical</key>
-      <string>uni2262</string>
-      <key>notidentical.tf</key>
       <string>uni2262.tf</string>
       <key>numero</key>
       <string>uni2116</string>
@@ -3589,7 +3562,6 @@
       <string>_descender-cy.case.straight</string>
       <string>_descenderreverse-cy.case</string>
       <string>_descenderreversed-cy</string>
-      <string>_o.numero</string>
       <string>_slash.zero</string>
       <string>_slash.zero.osf</string>
       <string>_typoquote</string>
diff --git a/src/Cantarell-Regular.ufo/features.fea b/src/Cantarell-Regular.ufo/features.fea
index def3510a..7a47ebf1 100644
--- a/src/Cantarell-Regular.ufo/features.fea
+++ b/src/Cantarell-Regular.ufo/features.fea
@@ -269,24 +269,6 @@ sub six.tf by six;
 sub seven.tf by seven;
 sub eight.tf by eight;
 sub nine.tf by nine;
-sub bulletoperator.tf by bulletoperator;
-sub commercialMinusSign.tf by commercialMinusSign;
-sub divisionslash.tf by divisionslash;
-sub equivalence.tf by equivalence;
-sub notidentical.tf by notidentical;
-sub plus.tf by plus;
-sub minus.tf by minus;
-sub multiply.tf by multiply;
-sub divide.tf by divide;
-sub equal.tf by equal;
-sub notequal.tf by notequal;
-sub greater.tf by greater;
-sub less.tf by less;
-sub greaterequal.tf by greaterequal;
-sub lessequal.tf by lessequal;
-sub plusminus.tf by plusminus;
-sub approxequal.tf by approxequal;
-sub logicalnot.tf by logicalnot;
 
 } pnum;
 
@@ -302,24 +284,6 @@ sub six by six.tf;
 sub seven by seven.tf;
 sub eight by eight.tf;
 sub nine by nine.tf;
-sub bulletoperator by bulletoperator.tf;
-sub commercialMinusSign by commercialMinusSign.tf;
-sub divisionslash by divisionslash.tf;
-sub equivalence by equivalence.tf;
-sub notidentical by notidentical.tf;
-sub plus by plus.tf;
-sub minus by minus.tf;
-sub multiply by multiply.tf;
-sub divide by divide.tf;
-sub equal by equal.tf;
-sub notequal by notequal.tf;
-sub greater by greater.tf;
-sub less by less.tf;
-sub greaterequal by greaterequal.tf;
-sub lessequal by lessequal.tf;
-sub plusminus by plusminus.tf;
-sub approxequal by approxequal.tf;
-sub logicalnot by logicalnot.tf;
 
 } tnum;
 
diff --git a/src/Cantarell-Regular.ufo/glyphs/approxequal.glif 
b/src/Cantarell-Regular.ufo/glyphs/approxequal.glif
index a4c95842..a221da27 100644
--- a/src/Cantarell-Regular.ufo/glyphs/approxequal.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/approxequal.glif
@@ -1,51 +1,57 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="approxequal" format="2">
-  <advance width="637"/>
+  <advance width="580"/>
   <unicode hex="2248"/>
   <outline>
     <contour>
-      <point x="142" y="353" type="line"/>
-      <point x="154" y="397"/>
-      <point x="190" y="423"/>
-      <point x="224" y="423" type="curve" smooth="yes"/>
-      <point x="281" y="423"/>
-      <point x="312" y="349"/>
-      <point x="397" y="349" type="curve" smooth="yes"/>
-      <point x="464" y="349"/>
-      <point x="527" y="395"/>
-      <point x="547" y="473" type="curve"/>
-      <point x="490" y="498" type="line"/>
-      <point x="475" y="450"/>
-      <point x="439" y="427"/>
-      <point x="406" y="427" type="curve" smooth="yes"/>
-      <point x="347" y="427"/>
-      <point x="319" y="501"/>
-      <point x="235" y="501" type="curve" smooth="yes"/>
-      <point x="166" y="501"/>
-      <point x="107" y="452"/>
-      <point x="87" y="377" type="curve"/>
+      <point x="101" y="365" type="line"/>
+      <point x="115" y="409"/>
+      <point x="155" y="436"/>
+      <point x="192" y="436" type="curve" smooth="yes"/>
+      <point x="256" y="436"/>
+      <point x="289" y="361"/>
+      <point x="377" y="361" type="curve" smooth="yes"/>
+      <point x="445" y="361"/>
+      <point x="510" y="407"/>
+      <point x="531" y="484" type="curve"/>
+      <point x="478" y="508" type="line"/>
+      <point x="462" y="460"/>
+      <point x="418" y="437"/>
+      <point x="384" y="437" type="curve" smooth="yes"/>
+      <point x="321" y="437"/>
+      <point x="291" y="511"/>
+      <point x="203" y="511" type="curve" smooth="yes"/>
+      <point x="136" y="511"/>
+      <point x="71" y="466"/>
+      <point x="49" y="389" type="curve"/>
     </contour>
     <contour>
-      <point x="142" y="127" type="line"/>
-      <point x="154" y="171"/>
-      <point x="190" y="197"/>
-      <point x="224" y="197" type="curve" smooth="yes"/>
-      <point x="281" y="197"/>
-      <point x="312" y="123"/>
-      <point x="397" y="123" type="curve" smooth="yes"/>
-      <point x="464" y="123"/>
-      <point x="527" y="169"/>
-      <point x="547" y="247" type="curve"/>
-      <point x="490" y="272" type="line"/>
-      <point x="475" y="224"/>
-      <point x="439" y="201"/>
-      <point x="406" y="201" type="curve" smooth="yes"/>
-      <point x="347" y="201"/>
-      <point x="319" y="275"/>
-      <point x="235" y="275" type="curve" smooth="yes"/>
-      <point x="166" y="275"/>
-      <point x="107" y="226"/>
-      <point x="87" y="151" type="curve"/>
+      <point x="101" y="130" type="line"/>
+      <point x="115" y="176"/>
+      <point x="157" y="200"/>
+      <point x="192" y="200" type="curve" smooth="yes"/>
+      <point x="256" y="200"/>
+      <point x="289" y="126"/>
+      <point x="377" y="126" type="curve" smooth="yes"/>
+      <point x="445" y="126"/>
+      <point x="510" y="171"/>
+      <point x="531" y="248" type="curve"/>
+      <point x="478" y="272" type="line"/>
+      <point x="462" y="225"/>
+      <point x="418" y="201"/>
+      <point x="384" y="201" type="curve" smooth="yes"/>
+      <point x="321" y="201"/>
+      <point x="291" y="275"/>
+      <point x="203" y="275" type="curve" smooth="yes"/>
+      <point x="135" y="275"/>
+      <point x="70" y="227"/>
+      <point x="49" y="153" type="curve"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/asciicircum.glif 
b/src/Cantarell-Regular.ufo/glyphs/asciicircum.glif
index cd9efde2..16ca61d0 100644
--- a/src/Cantarell-Regular.ufo/glyphs/asciicircum.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/asciicircum.glif
@@ -1,17 +1,23 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="asciicircum" format="2">
-  <advance width="638"/>
+  <advance width="580"/>
   <unicode hex="005E"/>
   <outline>
     <contour>
-      <point x="125" y="232" type="line"/>
-      <point x="324" y="619" type="line"/>
-      <point x="302" y="620" type="line"/>
-      <point x="496" y="232" type="line"/>
-      <point x="572" y="268" type="line"/>
-      <point x="349" y="699" type="line"/>
-      <point x="279" y="699" type="line"/>
-      <point x="65" y="260" type="line"/>
+      <point x="106" y="272" type="line"/>
+      <point x="303" y="619" type="line"/>
+      <point x="282" y="620" type="line"/>
+      <point x="457" y="269" type="line"/>
+      <point x="533" y="305" type="line"/>
+      <point x="328" y="699" type="line"/>
+      <point x="259" y="699" type="line"/>
+      <point x="46" y="300" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/asciitilde.glif 
b/src/Cantarell-Regular.ufo/glyphs/asciitilde.glif
index 0c462e00..3a5971fd 100644
--- a/src/Cantarell-Regular.ufo/glyphs/asciitilde.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/asciitilde.glif
@@ -1,29 +1,35 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="asciitilde" format="2">
-  <advance width="674"/>
+  <advance width="580"/>
   <unicode hex="007E"/>
   <outline>
     <contour>
-      <point x="146" y="252" type="line"/>
-      <point x="158" y="296"/>
-      <point x="197" y="330"/>
-      <point x="237" y="330" type="curve" smooth="yes"/>
-      <point x="299" y="330"/>
-      <point x="334" y="247"/>
-      <point x="424" y="247" type="curve" smooth="yes"/>
-      <point x="494" y="247"/>
-      <point x="560" y="297"/>
-      <point x="581" y="378" type="curve"/>
-      <point x="526" y="401" type="line"/>
-      <point x="510" y="350"/>
-      <point x="469" y="322"/>
-      <point x="433" y="322" type="curve" smooth="yes"/>
-      <point x="369" y="322"/>
-      <point x="337" y="405"/>
-      <point x="249" y="405" type="curve" smooth="yes"/>
-      <point x="176" y="405"/>
-      <point x="114" y="352"/>
-      <point x="93" y="275" type="curve"/>
+      <point x="99" y="247" type="line"/>
+      <point x="111" y="291"/>
+      <point x="150" y="325"/>
+      <point x="190" y="325" type="curve" smooth="yes"/>
+      <point x="252" y="325"/>
+      <point x="287" y="242"/>
+      <point x="377" y="242" type="curve" smooth="yes"/>
+      <point x="447" y="242"/>
+      <point x="513" y="292"/>
+      <point x="534" y="373" type="curve"/>
+      <point x="479" y="396" type="line"/>
+      <point x="463" y="345"/>
+      <point x="422" y="317"/>
+      <point x="386" y="317" type="curve" smooth="yes"/>
+      <point x="322" y="317"/>
+      <point x="290" y="400"/>
+      <point x="202" y="400" type="curve" smooth="yes"/>
+      <point x="129" y="400"/>
+      <point x="67" y="347"/>
+      <point x="46" y="270" type="curve"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/bulletoperator.glif 
b/src/Cantarell-Regular.ufo/glyphs/bulletoperator.glif
index 71043927..64792c7a 100644
--- a/src/Cantarell-Regular.ufo/glyphs/bulletoperator.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/bulletoperator.glif
@@ -3,7 +3,7 @@
   <advance width="256"/>
   <unicode hex="2219"/>
   <outline>
-    <component base="period" yOffset="280"/>
+    <component base="period" yOffset="284"/>
   </outline>
   <lib>
     <dict>
diff --git a/src/Cantarell-Regular.ufo/glyphs/commercialM_inusS_ign.glif 
b/src/Cantarell-Regular.ufo/glyphs/commercialM_inusS_ign.glif
index c8c80122..b74e048a 100644
--- a/src/Cantarell-Regular.ufo/glyphs/commercialM_inusS_ign.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/commercialM_inusS_ign.glif
@@ -1,41 +1,47 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="commercialMinusSign" format="2">
-  <advance width="676"/>
+  <advance width="580"/>
   <unicode hex="2052"/>
   <outline>
     <contour>
-      <point x="63" y="0" type="line"/>
-      <point x="146" y="0" type="line"/>
-      <point x="612" y="694" type="line"/>
-      <point x="523" y="694" type="line"/>
+      <point x="46" y="0" type="line"/>
+      <point x="128" y="0" type="line"/>
+      <point x="534" y="694" type="line"/>
+      <point x="445" y="694" type="line"/>
     </contour>
     <contour>
-      <point x="511" y="-10" type="curve" smooth="yes"/>
-      <point x="555" y="-10"/>
-      <point x="585" y="21"/>
-      <point x="585" y="64" type="curve" smooth="yes"/>
-      <point x="585" y="106"/>
-      <point x="555" y="137"/>
-      <point x="511" y="137" type="curve" smooth="yes"/>
-      <point x="467" y="137"/>
-      <point x="437" y="106"/>
-      <point x="437" y="64" type="curve" smooth="yes"/>
-      <point x="437" y="21"/>
-      <point x="467" y="-10"/>
+      <point x="442" y="-10" type="curve" smooth="yes"/>
+      <point x="482" y="-10"/>
+      <point x="511" y="21"/>
+      <point x="511" y="64" type="curve" smooth="yes"/>
+      <point x="511" y="106"/>
+      <point x="482" y="137"/>
+      <point x="442" y="137" type="curve" smooth="yes"/>
+      <point x="402" y="137"/>
+      <point x="373" y="106"/>
+      <point x="373" y="64" type="curve" smooth="yes"/>
+      <point x="373" y="21"/>
+      <point x="402" y="-10"/>
     </contour>
     <contour>
-      <point x="165" y="557" type="curve" smooth="yes"/>
-      <point x="209" y="557"/>
-      <point x="239" y="588"/>
-      <point x="239" y="630" type="curve" smooth="yes"/>
-      <point x="239" y="673"/>
-      <point x="209" y="704"/>
-      <point x="165" y="704" type="curve" smooth="yes"/>
-      <point x="121" y="704"/>
-      <point x="91" y="673"/>
-      <point x="91" y="630" type="curve" smooth="yes"/>
-      <point x="91" y="588"/>
-      <point x="121" y="557"/>
+      <point x="139" y="557" type="curve" smooth="yes"/>
+      <point x="179" y="557"/>
+      <point x="208" y="588"/>
+      <point x="208" y="630" type="curve" smooth="yes"/>
+      <point x="208" y="673"/>
+      <point x="179" y="704"/>
+      <point x="139" y="704" type="curve" smooth="yes"/>
+      <point x="98" y="704"/>
+      <point x="69" y="673"/>
+      <point x="69" y="630" type="curve" smooth="yes"/>
+      <point x="69" y="588"/>
+      <point x="98" y="557"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/contents.plist b/src/Cantarell-Regular.ufo/glyphs/contents.plist
index a634e5df..95a385a6 100644
--- a/src/Cantarell-Regular.ufo/glyphs/contents.plist
+++ b/src/Cantarell-Regular.ufo/glyphs/contents.plist
@@ -686,8 +686,6 @@
     <string>_descenderreverse-cy.case.glif</string>
     <key>_descenderreversed-cy</key>
     <string>_descenderreversed-cy.glif</string>
-    <key>_o.numero</key>
-    <string>_o.numero.glif</string>
     <key>_slash.zero</key>
     <string>_slash.zero.glif</string>
     <key>_slash.zero.osf</key>
@@ -768,8 +766,6 @@
     <string>apostrophemod.glif</string>
     <key>approxequal</key>
     <string>approxequal.glif</string>
-    <key>approxequal.tf</key>
-    <string>approxequal.tf.glif</string>
     <key>aring</key>
     <string>aring.glif</string>
     <key>aringacute</key>
@@ -844,8 +840,6 @@
     <string>bullet.glif</string>
     <key>bulletoperator</key>
     <string>bulletoperator.glif</string>
-    <key>bulletoperator.tf</key>
-    <string>bulletoperator.tf.glif</string>
     <key>c</key>
     <string>c.glif</string>
     <key>cacute</key>
@@ -928,8 +922,6 @@
     <string>commaturnedmod.glif</string>
     <key>commercialMinusSign</key>
     <string>commercialM_inusS_ign.glif</string>
-    <key>commercialMinusSign.tf</key>
-    <string>commercialM_inusS_ign.tf.glif</string>
     <key>copyright</key>
     <string>copyright.glif</string>
     <key>currency</key>
@@ -980,12 +972,8 @@
     <string>dieresiscomb_macroncomb.glif</string>
     <key>divide</key>
     <string>divide.glif</string>
-    <key>divide.tf</key>
-    <string>divide.tf.glif</string>
     <key>divisionslash</key>
     <string>divisionslash.glif</string>
-    <key>divisionslash.tf</key>
-    <string>divisionslash.tf.glif</string>
     <key>dje-cy</key>
     <string>dje-cy.glif</string>
     <key>dlinebelow</key>
@@ -1104,12 +1092,8 @@
     <string>eogonek.glif</string>
     <key>equal</key>
     <string>equal.glif</string>
-    <key>equal.tf</key>
-    <string>equal.tf.glif</string>
     <key>equivalence</key>
     <string>equivalence.glif</string>
-    <key>equivalence.tf</key>
-    <string>equivalence.tf.glif</string>
     <key>er-cy</key>
     <string>er-cy.glif</string>
     <key>ereversed-cy</key>
@@ -1232,12 +1216,8 @@
     <string>gravecomb.loclV_I_E_T_.glif</string>
     <key>greater</key>
     <string>greater.glif</string>
-    <key>greater.tf</key>
-    <string>greater.tf.glif</string>
     <key>greaterequal</key>
     <string>greaterequal.glif</string>
-    <key>greaterequal.tf</key>
-    <string>greaterequal.tf.glif</string>
     <key>guarani</key>
     <string>guarani.glif</string>
     <key>guillemetleft</key>
@@ -1400,12 +1380,8 @@
     <string>leftanglebracket-math.glif</string>
     <key>less</key>
     <string>less.glif</string>
-    <key>less.tf</key>
-    <string>less.tf.glif</string>
     <key>lessequal</key>
     <string>lessequal.glif</string>
-    <key>lessequal.tf</key>
-    <string>lessequal.tf.glif</string>
     <key>lira</key>
     <string>lira.glif</string>
     <key>liraTurkish</key>
@@ -1420,8 +1396,6 @@
     <string>llinebelow.glif</string>
     <key>logicalnot</key>
     <string>logicalnot.glif</string>
-    <key>logicalnot.tf</key>
-    <string>logicalnot.tf.glif</string>
     <key>lozenge</key>
     <string>lozenge.glif</string>
     <key>lslash</key>
@@ -1458,14 +1432,10 @@
     <string>micro.glif</string>
     <key>minus</key>
     <string>minus.glif</string>
-    <key>minus.tf</key>
-    <string>minus.tf.glif</string>
     <key>minute</key>
     <string>minute.glif</string>
     <key>multiply</key>
     <string>multiply.glif</string>
-    <key>multiply.tf</key>
-    <string>multiply.tf.glif</string>
     <key>n</key>
     <string>n.glif</string>
     <key>nacute</key>
@@ -1502,12 +1472,8 @@
     <string>nlinebelow.glif</string>
     <key>notequal</key>
     <string>notequal.glif</string>
-    <key>notequal.tf</key>
-    <string>notequal.tf.glif</string>
     <key>notidentical</key>
     <string>notidentical.glif</string>
-    <key>notidentical.tf</key>
-    <string>notidentical.tf.glif</string>
     <key>ntilde</key>
     <string>ntilde.glif</string>
     <key>numbersign</key>
@@ -1674,12 +1640,8 @@
     <string>pi.glif</string>
     <key>plus</key>
     <string>plus.glif</string>
-    <key>plus.tf</key>
-    <string>plus.tf.glif</string>
     <key>plusminus</key>
     <string>plusminus.glif</string>
-    <key>plusminus.tf</key>
-    <string>plusminus.tf.glif</string>
     <key>primeReversed</key>
     <string>primeR_eversed.glif</string>
     <key>primemod</key>
diff --git a/src/Cantarell-Regular.ufo/glyphs/divide.glif b/src/Cantarell-Regular.ufo/glyphs/divide.glif
index 0b487e00..c280f38e 100644
--- a/src/Cantarell-Regular.ufo/glyphs/divide.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/divide.glif
@@ -1,41 +1,49 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="divide" format="2">
-  <advance width="637"/>
+  <advance width="580"/>
   <unicode hex="00F7"/>
   <outline>
     <contour>
-      <point x="70" y="306" type="line"/>
-      <point x="562" y="306" type="line"/>
-      <point x="562" y="375" type="line"/>
-      <point x="70" y="375" type="line"/>
+      <point x="287" y="467" type="curve" smooth="yes"/>
+      <point x="323" y="467"/>
+      <point x="346" y="490"/>
+      <point x="346" y="527" type="curve" smooth="yes"/>
+      <point x="346" y="563"/>
+      <point x="323" y="587"/>
+      <point x="287" y="587" type="curve" smooth="yes"/>
+      <point x="252" y="587"/>
+      <point x="229" y="564"/>
+      <point x="229" y="527" type="curve" smooth="yes"/>
+      <point x="229" y="490"/>
+      <point x="252" y="467"/>
     </contour>
     <contour>
-      <point x="316" y="485" type="curve" smooth="yes"/>
-      <point x="352" y="485"/>
-      <point x="373" y="506"/>
-      <point x="373" y="542" type="curve" smooth="yes"/>
-      <point x="373" y="578"/>
-      <point x="352" y="599"/>
-      <point x="316" y="599" type="curve" smooth="yes"/>
-      <point x="280" y="599"/>
-      <point x="259" y="578"/>
-      <point x="259" y="542" type="curve" smooth="yes"/>
-      <point x="259" y="506"/>
-      <point x="280" y="485"/>
+      <point x="287" y="82" type="curve" smooth="yes"/>
+      <point x="322" y="82"/>
+      <point x="346" y="104"/>
+      <point x="346" y="142" type="curve" smooth="yes"/>
+      <point x="346" y="178"/>
+      <point x="323" y="201"/>
+      <point x="287" y="201" type="curve" smooth="yes"/>
+      <point x="252" y="201"/>
+      <point x="229" y="178"/>
+      <point x="229" y="142" type="curve" smooth="yes"/>
+      <point x="229" y="104"/>
+      <point x="252" y="82"/>
     </contour>
     <contour>
-      <point x="316" y="82" type="curve" smooth="yes"/>
-      <point x="352" y="82"/>
-      <point x="373" y="103"/>
-      <point x="373" y="139" type="curve" smooth="yes"/>
-      <point x="373" y="175"/>
-      <point x="352" y="196"/>
-      <point x="316" y="196" type="curve" smooth="yes"/>
-      <point x="280" y="196"/>
-      <point x="259" y="175"/>
-      <point x="259" y="139" type="curve" smooth="yes"/>
-      <point x="259" y="103"/>
-      <point x="280" y="82"/>
+      <point x="55" y="297" type="line"/>
+      <point x="525" y="297" type="line"/>
+      <point x="525" y="371" type="line"/>
+      <point x="55" y="371" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.leftMetricsKey</key>
+      <string>minus</string>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/divisionslash.glif 
b/src/Cantarell-Regular.ufo/glyphs/divisionslash.glif
index 25fac572..cd3e0e20 100644
--- a/src/Cantarell-Regular.ufo/glyphs/divisionslash.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/divisionslash.glif
@@ -1,8 +1,19 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="divisionslash" format="2">
-  <advance width="170"/>
+  <advance width="580"/>
   <unicode hex="2215"/>
   <outline>
-    <component base="fraction"/>
+    <contour>
+      <point x="109" y="0" type="line"/>
+      <point x="182" y="0" type="line"/>
+      <point x="472" y="694" type="line"/>
+      <point x="393" y="694" type="line"/>
+    </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/equal.glif b/src/Cantarell-Regular.ufo/glyphs/equal.glif
index 9574541c..67d852fe 100644
--- a/src/Cantarell-Regular.ufo/glyphs/equal.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/equal.glif
@@ -1,19 +1,17 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="equal" format="2">
-  <advance width="715"/>
+  <advance width="580"/>
   <unicode hex="003D"/>
   <outline>
-    <contour>
-      <point x="125" y="406" type="line"/>
-      <point x="590" y="406" type="line"/>
-      <point x="590" y="475" type="line"/>
-      <point x="125" y="475" type="line"/>
-    </contour>
-    <contour>
-      <point x="125" y="166" type="line"/>
-      <point x="590" y="166" type="line"/>
-      <point x="590" y="235" type="line"/>
-      <point x="125" y="235" type="line"/>
-    </contour>
+    <component base="minus" yOffset="114"/>
+    <component base="minus" yOffset="-129"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.leftMetricsKey</key>
+      <string>minus</string>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/equivalence.glif 
b/src/Cantarell-Regular.ufo/glyphs/equivalence.glif
index 7d0ccc45..d5c4501c 100644
--- a/src/Cantarell-Regular.ufo/glyphs/equivalence.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/equivalence.glif
@@ -1,25 +1,31 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="equivalence" format="2">
-  <advance width="715"/>
+  <advance width="580"/>
   <unicode hex="2261"/>
   <outline>
     <contour>
-      <point x="125" y="476" type="line"/>
-      <point x="590" y="476" type="line"/>
-      <point x="590" y="545" type="line"/>
-      <point x="125" y="545" type="line"/>
+      <point x="55" y="466" type="line"/>
+      <point x="525" y="466" type="line"/>
+      <point x="525" y="535" type="line"/>
+      <point x="55" y="535" type="line"/>
     </contour>
     <contour>
-      <point x="125" y="132" type="line"/>
-      <point x="590" y="132" type="line"/>
-      <point x="590" y="201" type="line"/>
-      <point x="125" y="201" type="line"/>
+      <point x="55" y="122" type="line"/>
+      <point x="525" y="122" type="line"/>
+      <point x="525" y="191" type="line"/>
+      <point x="55" y="191" type="line"/>
     </contour>
     <contour>
-      <point x="125" y="304" type="line"/>
-      <point x="590" y="304" type="line"/>
-      <point x="590" y="373" type="line"/>
-      <point x="125" y="373" type="line"/>
+      <point x="55" y="294" type="line"/>
+      <point x="525" y="294" type="line"/>
+      <point x="525" y="363" type="line"/>
+      <point x="55" y="363" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.leftMetricsKey</key>
+      <string>minus</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/greater.glif b/src/Cantarell-Regular.ufo/glyphs/greater.glif
index 1b8f5972..6b995968 100644
--- a/src/Cantarell-Regular.ufo/glyphs/greater.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/greater.glif
@@ -1,17 +1,23 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="greater" format="2">
-  <advance width="598"/>
+  <advance width="580"/>
   <unicode hex="003E"/>
   <outline>
     <contour>
-      <point x="83" y="85" type="line"/>
-      <point x="529" y="306" type="line"/>
-      <point x="529" y="370" type="line"/>
-      <point x="83" y="599" type="line"/>
-      <point x="83" y="516" type="line"/>
-      <point x="473" y="322" type="line"/>
-      <point x="473" y="350" type="line"/>
-      <point x="83" y="163" type="line"/>
+      <point x="88" y="34" type="line"/>
+      <point x="492" y="274" type="line"/>
+      <point x="492" y="342" type="line"/>
+      <point x="88" y="590" type="line"/>
+      <point x="88" y="499" type="line"/>
+      <point x="427" y="297" type="line"/>
+      <point x="427" y="320" type="line"/>
+      <point x="88" y="118" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/greaterequal.glif 
b/src/Cantarell-Regular.ufo/glyphs/greaterequal.glif
index c5d4bdc7..b54f85a0 100644
--- a/src/Cantarell-Regular.ufo/glyphs/greaterequal.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/greaterequal.glif
@@ -1,23 +1,29 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="greaterequal" format="2">
-  <advance width="645"/>
+  <advance width="580"/>
   <unicode hex="2265"/>
   <outline>
     <contour>
-      <point x="94" y="168" type="line"/>
-      <point x="565" y="349" type="line"/>
-      <point x="565" y="408" type="line"/>
-      <point x="94" y="596" type="line"/>
-      <point x="94" y="523" type="line"/>
-      <point x="504" y="370" type="line"/>
-      <point x="503" y="392" type="line"/>
-      <point x="94" y="234" type="line"/>
+      <point x="63" y="168" type="line"/>
+      <point x="517" y="349" type="line"/>
+      <point x="517" y="411" type="line"/>
+      <point x="63" y="600" type="line"/>
+      <point x="63" y="521" type="line"/>
+      <point x="450" y="370" type="line"/>
+      <point x="449" y="396" type="line"/>
+      <point x="63" y="240" type="line"/>
     </contour>
     <contour>
-      <point x="100" y="31" type="line"/>
-      <point x="565" y="31" type="line"/>
-      <point x="565" y="96" type="line"/>
-      <point x="100" y="96" type="line"/>
+      <point x="68" y="32" type="line"/>
+      <point x="517" y="32" type="line"/>
+      <point x="517" y="100" type="line"/>
+      <point x="68" y="100" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/layerinfo.plist 
b/src/Cantarell-Regular.ufo/glyphs/layerinfo.plist
index de960439..da6ff1b7 100644
--- a/src/Cantarell-Regular.ufo/glyphs/layerinfo.plist
+++ b/src/Cantarell-Regular.ufo/glyphs/layerinfo.plist
@@ -690,8 +690,6 @@
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph._descenderreversed-cy</key>
       <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph._o.numero</key>
-      <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph._slash.zero</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph._slash.zero.osf</key>
@@ -771,8 +769,6 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.apostrophemod</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.approxequal</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.approxequal.tf</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.aring</key>
       <integer>0</integer>
@@ -847,8 +843,6 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.bullet</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.bulletoperator</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.bulletoperator.tf</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.c</key>
       <integer>0</integer>
@@ -932,8 +926,6 @@
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.commercialMinusSign</key>
       <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.commercialMinusSign.tf</key>
-      <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.copyright</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.currency</key>
@@ -983,12 +975,8 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.dieresiscomb_macroncomb</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.divide</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.divide.tf</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.divisionslash</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.divisionslash.tf</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.dje-cy</key>
       <integer>1</integer>
@@ -1107,12 +1095,8 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.eogonek</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.equal</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.equal.tf</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.equivalence</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.equivalence.tf</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.er-cy</key>
       <integer>1</integer>
@@ -1235,12 +1219,8 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.gravecomb.loclVIET</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.greater</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.greater.tf</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.greaterequal</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.greaterequal.tf</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.guarani</key>
       <integer>0</integer>
@@ -1403,12 +1383,8 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.leftanglebracket-math</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.less</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.less.tf</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.lessequal</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.lessequal.tf</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.lira</key>
       <integer>0</integer>
@@ -1423,8 +1399,6 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.llinebelow</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.logicalnot</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.logicalnot.tf</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.lozenge</key>
       <integer>0</integer>
@@ -1461,14 +1435,10 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.micro</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.minus</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.minus.tf</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.minute</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.multiply</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.multiply.tf</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.n</key>
       <integer>0</integer>
@@ -1505,12 +1475,8 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.nlinebelow</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.notequal</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.notequal.tf</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.notidentical</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.notidentical.tf</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.ntilde</key>
       <integer>0</integer>
@@ -1677,12 +1643,8 @@
       <key>com.schriftgestaltung.layerOrderInGlyph.pi</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.plus</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.plus.tf</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.plusminus</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.plusminus.tf</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.primeReversed</key>
       <integer>0</integer>
diff --git a/src/Cantarell-Regular.ufo/glyphs/less.glif b/src/Cantarell-Regular.ufo/glyphs/less.glif
index 113cfe0f..cd2c7a3f 100644
--- a/src/Cantarell-Regular.ufo/glyphs/less.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/less.glif
@@ -1,8 +1,16 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="less" format="2">
-  <advance width="606"/>
+  <advance width="580"/>
   <unicode hex="003C"/>
   <outline>
-    <component base="greater.tf" xScale="-1" yScale="-1" xOffset="606" yOffset="649"/>
+    <component base="greater" xScale="-1" yScale="-1" xOffset="580" yOffset="619"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.rightMetricsKey</key>
+      <string>=|greater</string>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/lessequal.glif b/src/Cantarell-Regular.ufo/glyphs/lessequal.glif
index 04aa06e5..72083c4e 100644
--- a/src/Cantarell-Regular.ufo/glyphs/lessequal.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/lessequal.glif
@@ -1,8 +1,16 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="lessequal" format="2">
-  <advance width="652"/>
+  <advance width="580"/>
   <unicode hex="2264"/>
   <outline>
-    <component base="greaterequal.tf" xScale="-1" xOffset="652"/>
+    <component base="greaterequal" xScale="-1" xOffset="580"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.rightMetricsKey</key>
+      <string>=|greaterequal</string>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/logicalnot.glif 
b/src/Cantarell-Regular.ufo/glyphs/logicalnot.glif
index 9ae534fe..2e5a7e24 100644
--- a/src/Cantarell-Regular.ufo/glyphs/logicalnot.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/logicalnot.glif
@@ -1,19 +1,25 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="logicalnot" format="2">
-  <advance width="681"/>
+  <advance width="580"/>
   <unicode hex="00AC"/>
   <outline>
     <contour>
-      <point x="80" y="328" type="line"/>
-      <point x="556" y="328" type="line"/>
-      <point x="556" y="395" type="line"/>
-      <point x="80" y="395" type="line"/>
+      <point x="449" y="99" type="line"/>
+      <point x="525" y="99" type="line"/>
+      <point x="525" y="323" type="line"/>
+      <point x="449" y="323" type="line"/>
     </contour>
     <contour>
-      <point x="476" y="152" type="line"/>
-      <point x="556" y="152" type="line"/>
-      <point x="556" y="353" type="line"/>
-      <point x="476" y="353" type="line"/>
+      <point x="55" y="297" type="line"/>
+      <point x="525" y="297" type="line"/>
+      <point x="525" y="371" type="line"/>
+      <point x="55" y="371" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/minus.glif b/src/Cantarell-Regular.ufo/glyphs/minus.glif
index e8e4a6a8..b49e8d3f 100644
--- a/src/Cantarell-Regular.ufo/glyphs/minus.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/minus.glif
@@ -1,13 +1,19 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="minus" format="2">
-  <advance width="739"/>
+  <advance width="580"/>
   <unicode hex="2212"/>
   <outline>
     <contour>
-      <point x="125" y="296" type="line"/>
-      <point x="614" y="296" type="line"/>
-      <point x="614" y="365" type="line"/>
-      <point x="125" y="365" type="line"/>
+      <point x="55" y="297" type="line"/>
+      <point x="525" y="297" type="line"/>
+      <point x="525" y="371" type="line"/>
+      <point x="55" y="371" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/multiply.glif b/src/Cantarell-Regular.ufo/glyphs/multiply.glif
index 07badd45..86d6f8c4 100644
--- a/src/Cantarell-Regular.ufo/glyphs/multiply.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/multiply.glif
@@ -1,19 +1,25 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="multiply" format="2">
-  <advance width="578"/>
+  <advance width="580"/>
   <unicode hex="00D7"/>
   <outline>
     <contour>
-      <point x="455" y="90" type="line"/>
-      <point x="505" y="140" type="line"/>
-      <point x="130" y="537" type="line"/>
-      <point x="80" y="487" type="line"/>
+      <point x="98" y="474" type="line"/>
+      <point x="430" y="142" type="line"/>
+      <point x="482" y="194" type="line"/>
+      <point x="150" y="526" type="line"/>
     </contour>
     <contour>
-      <point x="122" y="96" type="line"/>
-      <point x="501" y="483" type="line"/>
-      <point x="451" y="533" type="line"/>
-      <point x="72" y="146" type="line"/>
+      <point x="150" y="142" type="line"/>
+      <point x="482" y="474" type="line"/>
+      <point x="430" y="526" type="line"/>
+      <point x="98" y="194" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/notequal.glif b/src/Cantarell-Regular.ufo/glyphs/notequal.glif
index 346071f2..1c8a76df 100644
--- a/src/Cantarell-Regular.ufo/glyphs/notequal.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/notequal.glif
@@ -1,25 +1,33 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="notequal" format="2">
-  <advance width="647"/>
+  <advance width="580"/>
   <unicode hex="2260"/>
   <outline>
     <contour>
-      <point x="91" y="406" type="line"/>
-      <point x="556" y="406" type="line"/>
-      <point x="556" y="475" type="line"/>
-      <point x="91" y="475" type="line"/>
+      <point x="182" y="36" type="line"/>
+      <point x="449" y="571" type="line"/>
+      <point x="393" y="601" type="line"/>
+      <point x="132" y="65" type="line"/>
     </contour>
     <contour>
-      <point x="217" y="64" type="line"/>
-      <point x="490" y="547" type="line"/>
-      <point x="436" y="578" type="line"/>
-      <point x="167" y="92" type="line"/>
+      <point x="55" y="411" type="line"/>
+      <point x="525" y="411" type="line"/>
+      <point x="525" y="485" type="line"/>
+      <point x="55" y="485" type="line"/>
     </contour>
     <contour>
-      <point x="91" y="166" type="line"/>
-      <point x="556" y="166" type="line"/>
-      <point x="556" y="235" type="line"/>
-      <point x="91" y="235" type="line"/>
+      <point x="55" y="168" type="line"/>
+      <point x="525" y="168" type="line"/>
+      <point x="525" y="242" type="line"/>
+      <point x="55" y="242" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.leftMetricsKey</key>
+      <string>minus</string>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/notidentical.glif 
b/src/Cantarell-Regular.ufo/glyphs/notidentical.glif
index 309a8cb8..1232a4c2 100644
--- a/src/Cantarell-Regular.ufo/glyphs/notidentical.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/notidentical.glif
@@ -1,31 +1,39 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="notidentical" format="2">
-  <advance width="667"/>
+  <advance width="580"/>
   <unicode hex="2262"/>
   <outline>
     <contour>
-      <point x="198" y="32" type="line"/>
-      <point x="527" y="614" type="line"/>
-      <point x="473" y="645" type="line"/>
-      <point x="148" y="60" type="line"/>
+      <point x="169" y="22" type="line"/>
+      <point x="465" y="604" type="line"/>
+      <point x="415" y="635" type="line"/>
+      <point x="122" y="50" type="line"/>
     </contour>
     <contour>
-      <point x="101" y="476" type="line"/>
-      <point x="566" y="476" type="line"/>
-      <point x="566" y="545" type="line"/>
-      <point x="101" y="545" type="line"/>
+      <point x="55" y="466" type="line"/>
+      <point x="525" y="466" type="line"/>
+      <point x="525" y="535" type="line"/>
+      <point x="55" y="535" type="line"/>
     </contour>
     <contour>
-      <point x="101" y="132" type="line"/>
-      <point x="566" y="132" type="line"/>
-      <point x="566" y="201" type="line"/>
-      <point x="101" y="201" type="line"/>
+      <point x="55" y="122" type="line"/>
+      <point x="525" y="122" type="line"/>
+      <point x="525" y="191" type="line"/>
+      <point x="55" y="191" type="line"/>
     </contour>
     <contour>
-      <point x="101" y="304" type="line"/>
-      <point x="566" y="304" type="line"/>
-      <point x="566" y="373" type="line"/>
-      <point x="101" y="373" type="line"/>
+      <point x="55" y="294" type="line"/>
+      <point x="525" y="294" type="line"/>
+      <point x="525" y="363" type="line"/>
+      <point x="55" y="363" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.leftMetricsKey</key>
+      <string>minus</string>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/numero.glif b/src/Cantarell-Regular.ufo/glyphs/numero.glif
index 05536d84..fe386c86 100644
--- a/src/Cantarell-Regular.ufo/glyphs/numero.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/numero.glif
@@ -1,17 +1,17 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="numero" format="2">
-  <advance width="1326"/>
+  <advance width="1211"/>
   <unicode hex="2116"/>
   <outline>
-    <component base="N" xOffset="20"/>
-    <component base="_o.numero" xOffset="723"/>
+    <component base="N"/>
+    <component base="ordmasculine" xOffset="750"/>
   </outline>
   <lib>
     <dict>
       <key>com.schriftgestaltung.componentsAlignment</key>
       <array>
-        <integer>-1</integer>
-        <integer>-1</integer>
+        <integer>0</integer>
+        <integer>1</integer>
       </array>
     </dict>
   </lib>
diff --git a/src/Cantarell-Regular.ufo/glyphs/plus.glif b/src/Cantarell-Regular.ufo/glyphs/plus.glif
index 9ffc331e..ab17858e 100644
--- a/src/Cantarell-Regular.ufo/glyphs/plus.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/plus.glif
@@ -1,19 +1,27 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="plus" format="2">
-  <advance width="642"/>
+  <advance width="580"/>
   <unicode hex="002B"/>
   <outline>
     <contour>
-      <point x="289" y="62" type="line"/>
-      <point x="359" y="62" type="line"/>
-      <point x="359" y="590" type="line"/>
-      <point x="289" y="590" type="line"/>
+      <point x="252" y="99" type="line"/>
+      <point x="328" y="99" type="line"/>
+      <point x="328" y="569" type="line"/>
+      <point x="252" y="569" type="line"/>
     </contour>
     <contour>
-      <point x="69" y="296" type="line"/>
-      <point x="573" y="296" type="line"/>
-      <point x="573" y="365" type="line"/>
-      <point x="69" y="365" type="line"/>
+      <point x="55" y="297" type="line"/>
+      <point x="525" y="297" type="line"/>
+      <point x="525" y="371" type="line"/>
+      <point x="55" y="371" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.leftMetricsKey</key>
+      <string>minus</string>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/plusminus.glif b/src/Cantarell-Regular.ufo/glyphs/plusminus.glif
index 83af0144..fcea4023 100644
--- a/src/Cantarell-Regular.ufo/glyphs/plusminus.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/plusminus.glif
@@ -1,25 +1,31 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <glyph name="plusminus" format="2">
-  <advance width="631"/>
+  <advance width="580"/>
   <unicode hex="00B1"/>
   <outline>
     <contour>
-      <point x="280" y="147" type="line"/>
-      <point x="350" y="147" type="line"/>
-      <point x="350" y="623" type="line"/>
-      <point x="280" y="623" type="line"/>
+      <point x="56" y="35" type="line"/>
+      <point x="526" y="35" type="line"/>
+      <point x="526" y="109" type="line"/>
+      <point x="56" y="109" type="line"/>
     </contour>
     <contour>
-      <point x="81" y="39" type="line"/>
-      <point x="550" y="39" type="line"/>
-      <point x="550" y="104" type="line"/>
-      <point x="81" y="104" type="line"/>
+      <point x="251" y="153" type="line"/>
+      <point x="327" y="153" type="line"/>
+      <point x="327" y="623" type="line"/>
+      <point x="251" y="623" type="line"/>
     </contour>
     <contour>
-      <point x="81" y="355" type="line"/>
-      <point x="550" y="355" type="line"/>
-      <point x="550" y="424" type="line"/>
-      <point x="81" y="424" type="line"/>
+      <point x="54" y="351" type="line"/>
+      <point x="524" y="351" type="line"/>
+      <point x="524" y="425" type="line"/>
+      <point x="54" y="425" type="line"/>
     </contour>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.glyph.widthMetricsKey</key>
+      <string>figurespace</string>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/lib.plist b/src/Cantarell-Regular.ufo/lib.plist
index c4fcf931..5f00fe05 100644
--- a/src/Cantarell-Regular.ufo/lib.plist
+++ b/src/Cantarell-Regular.ufo/lib.plist
@@ -2169,8 +2169,8 @@
       <string>lessequal</string>
       <string>plusminus</string>
       <string>approxequal</string>
-      <string>logicalnot</string>
       <string>asciitilde</string>
+      <string>logicalnot</string>
       <string>asciicircum</string>
       <string>emptyset</string>
       <string>infinity</string>
@@ -2185,24 +2185,6 @@
       <string>percent</string>
       <string>perthousand</string>
       <string>ratio</string>
-      <string>bulletoperator.tf</string>
-      <string>commercialMinusSign.tf</string>
-      <string>divisionslash.tf</string>
-      <string>equivalence.tf</string>
-      <string>notidentical.tf</string>
-      <string>plus.tf</string>
-      <string>minus.tf</string>
-      <string>multiply.tf</string>
-      <string>divide.tf</string>
-      <string>equal.tf</string>
-      <string>notequal.tf</string>
-      <string>greater.tf</string>
-      <string>less.tf</string>
-      <string>greaterequal.tf</string>
-      <string>lessequal.tf</string>
-      <string>plusminus.tf</string>
-      <string>approxequal.tf</string>
-      <string>logicalnot.tf</string>
       <string>upArrow</string>
       <string>rightArrow</string>
       <string>downArrow</string>
@@ -2356,7 +2338,6 @@
       <string>_descender-cy.case.straight</string>
       <string>_descenderreverse-cy.case</string>
       <string>_bottomhook</string>
-      <string>_o.numero</string>
       <string>_slash.zero</string>
       <string>_typoquote</string>
       <string>_commaaccent</string>
@@ -2880,8 +2861,6 @@
       <key>breveinvertedcomb.case</key>
       <string>uni0311.case</string>
       <key>bulletoperator</key>
-      <string>uni2219</string>
-      <key>bulletoperator.tf</key>
       <string>uni2219.tf</string>
       <key>caroncomb</key>
       <string>uni030C</string>
@@ -2940,8 +2919,6 @@
       <key>commaturnedmod</key>
       <string>uni02BB</string>
       <key>commercialMinusSign</key>
-      <string>uni2052</string>
-      <key>commercialMinusSign.tf</key>
       <string>uni2052.tf</string>
       <key>dblgravecomb</key>
       <string>uni030F</string>
@@ -2974,8 +2951,6 @@
       <key>dieresiscomb_macroncomb</key>
       <string>uni03080304</string>
       <key>divisionslash</key>
-      <string>uni2215</string>
-      <key>divisionslash.tf</key>
       <string>uni2215.tf</string>
       <key>dje-cy</key>
       <string>uni0452</string>
@@ -3250,8 +3225,6 @@
       <key>nlinebelow</key>
       <string>uni1E49</string>
       <key>notidentical</key>
-      <string>uni2262</string>
-      <key>notidentical.tf</key>
       <string>uni2262.tf</string>
       <key>numero</key>
       <string>uni2116</string>
@@ -3593,7 +3566,6 @@
       <string>_descender-cy.case.straight</string>
       <string>_descenderreverse-cy.case</string>
       <string>_descenderreversed-cy</string>
-      <string>_o.numero</string>
       <string>_slash.zero</string>
       <string>_slash.zero.osf</string>
       <string>_typoquote</string>
diff --git a/src/Cantarell.designspace b/src/Cantarell.designspace
index b01d3d6a..056bbcd4 100644
--- a/src/Cantarell.designspace
+++ b/src/Cantarell.designspace
@@ -165,7 +165,6 @@
         <string>_descender-cy.case.straight</string>
         <string>_descenderreverse-cy.case</string>
         <string>_descenderreversed-cy</string>
-        <string>_o.numero</string>
         <string>_slash.zero</string>
         <string>_slash.zero.osf</string>
         <string>_typoquote</string>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]