Add a few __delitem__ implementations
diff --git a/Lib/fontTools/ttLib/tables/C_O_L_R_.py b/Lib/fontTools/ttLib/tables/C_O_L_R_.py
index d0c8b21..139de3c 100644
--- a/Lib/fontTools/ttLib/tables/C_O_L_R_.py
+++ b/Lib/fontTools/ttLib/tables/C_O_L_R_.py
@@ -138,6 +138,9 @@
elif glyphSelector in self.ColorLayers:
del self.ColorLayers[glyphSelector]
+ def __delitem__(self, glyphSelector):
+ del self.ColorLayers[glyphSelector]
+
class LayerRecord(object):
def __init__(self, name = None, colorID = None):
diff --git a/Lib/fontTools/ttLib/tables/V_O_R_G_.py b/Lib/fontTools/ttLib/tables/V_O_R_G_.py
index ef80795..19f25b5 100644
--- a/Lib/fontTools/ttLib/tables/V_O_R_G_.py
+++ b/Lib/fontTools/ttLib/tables/V_O_R_G_.py
@@ -115,6 +115,9 @@
elif glyphSelector in self.VOriginRecords:
del self.VOriginRecords[glyphSelector]
+ def __delitem__(self, glyphSelector):
+ del self.VOriginRecords[glyphSelector]
+
class VOriginRecord(object):
def __init__(self, name = None, vOrigin = None):
diff --git a/Lib/fontTools/ttLib/tables/_g_l_y_f.py b/Lib/fontTools/ttLib/tables/_g_l_y_f.py
index 3434d35..970980b 100644
--- a/Lib/fontTools/ttLib/tables/_g_l_y_f.py
+++ b/Lib/fontTools/ttLib/tables/_g_l_y_f.py
@@ -991,6 +991,8 @@
def __setitem__(self, k, v):
if isinstance(k, slice):
indices = range(*k.indices(len(self)))
+ # XXX This only works if len(v) == len(indices)
+ # TODO Implement __delitem__
for j,i in enumerate(indices):
self[i] = v[j]
return
diff --git a/Lib/fontTools/ttLib/tables/_h_m_t_x.py b/Lib/fontTools/ttLib/tables/_h_m_t_x.py
index 09569ef..c7b5ee9 100644
--- a/Lib/fontTools/ttLib/tables/_h_m_t_x.py
+++ b/Lib/fontTools/ttLib/tables/_h_m_t_x.py
@@ -90,6 +90,9 @@
if name == "mtx":
self.metrics[attrs["name"]] = [safeEval(attrs[self.advanceName]),
safeEval(attrs[self.sideBearingName])]
+
+ def __delitem__(self, glyphName):
+ del self.metrics[glyphName]
def __getitem__(self, glyphName):
return self.metrics[glyphName]