def METHOD_NAME(path):
    name = splitext(basename(path))[0]
    family = re.match(r'(.*?)(Latin)?-', name).group(1)
    weight = re.search(r'\-(.*?)(Italic)?$', name).group(1)
    italic = bool(re.search(r'Italic$', name))
    for cmap in TTFont(path)['cmap'].tables:
        if cmap.isUnicode():
            codepoints = [k for k in cmap.cmap]
            break
    return dict(
        ps_name = name.replace("Latin", ""),
        family = re.sub(r'(?<=.)([A-Z])', r' \1', family),
        subset = 'Latin' in name,
        weight = WEIGHTS[weight],
        italic = italic,
        style = "italic" if italic else "normal",
        codepoints = codepoints,
        url = f'/fonts/{basename(path)}'
    )