def get_font_info(font_name, subst_ok=True):
    """Return known info on an externally loadable font (including its path).
    `font_name` is assumed to have already been resolved from an alias.
    Will return a KeyError in the case of a missing font, unless
    subst_ok is True, in which case an alternate font may be returned.
    """
    global font_dir
    if font_name in font_dir:
        font_info = font_dir[font_name]
    elif subst_ok:
        # substitute an alternate font
        font_name = resolve_alias('fixed', 'fixed')
        font_info = font_dir[font_name]
    else:
        raise KeyError(font_name)

    return font_info
Return known info on an externally loadable font (including its path).
    `font_name` is assumed to have already been resolved from an alias.
    Will return a KeyError in the case of a missing font, unless
    subst_ok is True, in which case an alternate font may be returned.