Add a few __delitem__ implementations

This commit is contained in:
Behdad Esfahbod 2014-05-14 13:51:10 -06:00
parent 37b7bad5b1
commit 487b15fd94
4 changed files with 11 additions and 0 deletions

View File

@ -138,6 +138,9 @@ class table_C_O_L_R_(DefaultTable.DefaultTable):
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):

View File

@ -115,6 +115,9 @@ class table_V_O_R_G_(DefaultTable.DefaultTable):
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):

View File

@ -991,6 +991,8 @@ class GlyphCoordinates(object):
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

View File

@ -90,6 +90,9 @@ class table__h_m_t_x(DefaultTable.DefaultTable):
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]