docs: def readGlyphElement(self, glyphElement, instanceObject):
          """
          Read the glyph element.
  
          ::
  
              <glyph name="b" unicode="0x62"/>
  
              <glyph name="b"/>
  
              <glyph name="b">
                  <master location="location-token-bbb" source="master-token-aaa2"/>
                  <master glyphname="b.alt1" location="location-token-ccc" source="master-token-aaa3"/>
  
                  <note>
                      This is an instance from an anisotropic interpolation.
                  </note>
              </glyph>
  
          """
          # name
          glyphName = glyphElement.attrib.get('name')
          if glyphName is None:
              raise MutatorError("Glyph object without name attribute.")
  
          # mute
          mute = glyphElement.attrib.get("mute")
          if mute == "1":
              instanceObject.muteGlyph(glyphName)
              # we do not need to stick around after this
              return
  
          # unicode
          unicodes = glyphElement.attrib.get('unicode')
          if unicodes == None:
              unicodes = self.unicodeMap.get(glyphName, None)
          else:
              try:
                  unicodes = [int(u, 16) for u in unicodes.split(" ")]
              except ValueError:
                  raise MutatorError("unicode values %s are not integers" % unicodes)
  
          # note
          note = None
          for noteElement in glyphElement.findall('.note'):
              note = noteElement.text
              break
  
          # location
          instanceLocation = self.locationFromElement(glyphElement)
  
          # masters
          glyphSources = None
          for masterElement in glyphElement.findall('.masters/master'):
              fontSourceName = masterElement.attrib.get('source')
              fontSource, fontLocation = self.sources.get(fontSourceName)
              if fontSource is None:
                  raise MutatorError("Unknown glyph master: %s"%masterElement)
              sourceLocation = self.locationFromElement(masterElement)
              if sourceLocation is None:
                  # if we don't read a location, use the instance location
                  sourceLocation = fontLocation
              masterGlyphName = masterElement.attrib.get('glyphname')
              if masterGlyphName is None:
                  # if we don't read a glyphname, use the one we have
                  masterGlyphName = glyphName
              d = dict(   font=fontSource,
                          location=sourceLocation,
                          glyphName=masterGlyphName)
              if glyphSources is None:
                  glyphSources = []
              glyphSources.append(d)
          # calculate the glyph
          instanceObject.addGlyph(glyphName, unicodes, instanceLocation, glyphSources, note=note)