code: def com_google_fonts_check_whitespace_glyphnames(ttFont):
    
    from fontbakery.utils import get_glyph_name
  
    def getGlyphEncodings(font, names):
      result = set()
      for subtable in font['cmap'].tables:
        if subtable.isUnicode():
          for codepoint, name in subtable.cmap.items():
            if name in names:
              result.add(codepoint)
      return result
  
    if ttFont['post'].formatType == 3.0:
      yield SKIP, "Font has version 3 post table."
    else:
      failed = False
      space_enc = getGlyphEncodings(ttFont, ["uni0020", "space"])
      nbsp_enc = getGlyphEncodings(
          ttFont, ["uni00A0", "nonbreakingspace", "nbspace", "nbsp"])
      space = get_glyph_name(ttFont, 0x0020)
      if 0x0020 not in space_enc:
        failed = True
        yield FAIL, Message("bad20", ("Glyph 0x0020 is called \"{}\":"
                                      " Change to \"space\""
                                      " or \"uni0020\"").format(space))
  
      nbsp = get_glyph_name(ttFont, 0x00A0)
      if 0x00A0 not in nbsp_enc:
        if 0x00A0 in space_enc:
          # This is OK.
          # Some fonts use the same glyph for both space and nbsp.
          pass
        else:
          failed = True
          yield FAIL, Message("badA0", ("Glyph 0x00A0 is called \"{}\":"
                                        " Change to \"nbsp\""
                                        " or \"uni00A0\"").format(nbsp))
  
      if failed is False:
        yield PASS, "Font has **proper** whitespace glyph names."
docs: Font has **proper** whitespace glyph names?