code: def com_adobe_fonts_check_family_max_4_fonts_per_family_name(ttFonts):
    
    from collections import Counter
    from fontbakery.utils import get_name_entry_strings
  
    failed = False
    family_names = list()
    for ttFont in ttFonts:
      names_list = get_name_entry_strings(ttFont, NameID.FONT_FAMILY_NAME)
      # names_list will likely contain multiple entries, e.g. multiple copies
      # of the same name in the same language for different platforms, but
      # also different names in different languages, we use set() below
      # to remove the duplicates and only store the unique family name(s)
      # used for a given font
      names_set = set(names_list)
      family_names.extend(names_set)
    counter = Counter(family_names)
    for family_name, count in counter.items():
      if count > 4:
        failed = True
        yield FAIL, ("Family '{}' has {} fonts (should be 4 or fewer)."
                     ).format(family_name, count)
    if not failed:
      yield PASS, ("There were no more than 4 fonts per family name.")
docs: Verify that each group of fonts with the same nameID 1
    has maximum of 4 fonts