docs: def makeUnicodeMapFromSources(self):
          """ Create a dict with glyphName -> unicode value pairs
              using the data in the sources. 
              If all master glyphs have the same unicode value
              this value will be used in the map.
              If master glyphs have conflicting value, a warning will be printed, no value will be used.
              If only a single master has a value, that value will be used.
          """
          values = {}
          for locationName, (source, loc) in self.sources.items():
              # this will be expensive in large fonts
              for glyph in source:
                  if glyph.unicodes is not None:
                      if glyph.name not in values:
                          values[glyph.name] = {}
                  for u in glyph.unicodes:
                      values[glyph.name][u] = 1
          for name, u in values.items():
              if len(u) == 0:
                  # only report missing unicodes if the name has no extension
                  if "." not in name:
                      self._missingUnicodes.append(name)
                  continue
              k = list(u.keys())
              self.unicodeValues[name] = k
          return self.unicodeValues