def METHOD_NAME(metadata_paths, out_dir, languages):
  rows = [[ 'id', 'name', 'lang', 'script', 'population', 'ec_base', 'ec_auxiliary',
           'ec_marks', 'ec_numerals', 'ec_punctuation', 'ec_index', 'st_fallback',
           'st_fallback_name', 'st_masthead_full', 'st_masthead_partial',
           'st_styles', 'st_tester', 'st_poster_sm', 'st_poster_md',
           'st_poster_lg', 'st_specimen_48', 'st_specimen_36', 'st_specimen_32',
           'st_specimen_21', 'st_specimen_16']]
  without_lang = []
  without_sample_text = []
  supported_without_sample_text = {}
  for metadata_path in metadata_paths:
    family = fonts.ReadProto(fonts_public_pb2.FamilyProto(), metadata_path)
    if len(family.languages) == 0:
      without_lang.append(family.name)
    else:
      supports_lang_with_sample_text = False
      for lang_code in family.languages:
        if languages[lang_code].HasField('sample_text'):
          supports_lang_with_sample_text = True
          break
      if not supports_lang_with_sample_text:
        without_sample_text.append(family.name)
    for l in family.languages:
      if not languages[l].HasField('sample_text') and l not in supported_without_sample_text:
        supported_without_sample_text[l] = languages[l]
  for lang in supported_without_sample_text.values():
    rows.append([lang.id, lang.name, lang.language, lang.script, lang.population])
  path = os.path.join(out_dir, 'support.csv')
  _WriteCsv(path, rows)