code: def com_google_fonts_check_canonical_filename(font):
    
    from fontTools.ttLib import TTFont
    from fontbakery.profiles.shared_conditions import is_variable_font
    from fontbakery.constants import (STATIC_STYLE_NAMES,
                                      VARFONT_SUFFIXES)
    if canonical_stylename(font):
      yield PASS, f"{font} is named canonically."
    else:
      if os.path.exists(font) and is_variable_font(TTFont(font)):
        if suffix(font) in STATIC_STYLE_NAMES:
          yield FAIL, (f'This is a variable font, but it is using'
                        ' a naming scheme typical of a static font.')
        yield FAIL, ('Please change the font filename to use one'
                     ' of the following valid suffixes for variable fonts:'
                    f' {", ".join(VARFONT_SUFFIXES)}')
      else:
        style_names = '", "'.join(STATIC_STYLE_NAMES)
        yield FAIL, (f'Style name used in "{font}" is not canonical.'
                      ' You should rebuild the font using'
                      ' any of the following'
                     f' style names: "{style_names}".')
docs: Checking file is named canonically.
  
    A font's filename must be composed in the following manner:
    <familyname>-<stylename>.ttf
  
    e.g. Nunito-Regular.ttf,
         Oswald-BoldItalic.ttf
  
    Variable fonts must use the "-VF" suffix:
  
    e.g. Roboto-VF.ttf,
         Barlow-VF.ttf,
         Example-Roman-VF.ttf,
         Familyname-Italic-VF.ttf