def gen_fa_mask(icon_name='fas fa-grin', size=512, icon_dir='.temp', pro_icon_path=None, pro_css_path=None): """ Generates a Font Awesome icon mask from the given FA prefix + name. """ # FA prefixes which map to a font file. font_files = { 'fas': 'fa-solid-900.ttf', 'far': 'fa-regular-400.ttf', 'fab': 'fa-brands-400.ttf' } icon_prefix = icon_name.split(' ')[0] icon_name_raw = icon_name.split(' ')[1] css_path = pro_css_path or os.path.join(STATIC_PATH, 'fontawesome.min.css') ttf_path = pro_icon_path or os.path.join(STATIC_PATH, font_files[icon_prefix]) icon = IconFont(css_file=css_path, ttf_file=ttf_path) # If a length and width are provided, make icon the smaller of the two if isinstance(size, tuple): size = min(size) icon.export_icon(icon=icon_name_raw[len(icon.common_prefix):], size=size, filename="icon.png", export_dir=icon_dir)
def gen_fa_mask(icon_name='fas fa-grin', size=512, icon_dir='.temp'): """ Generates a Font Awesome icon mask from the given FA prefix + name. """ # FA prefixes which map to a font file. font_files = { 'fas': 'fa-solid-900.ttf', 'far': 'fa-regular-400.ttf', 'fab': 'fa-brands-400.ttf' } icon_prefix = icon_name.split(' ')[0] icon_name_raw = icon_name.split(' ')[1] icon = IconFont(css_file=os.path.join(STATIC_PATH, 'fontawesome.min.css'), ttf_file=os.path.join(STATIC_PATH, font_files[icon_prefix])) icon.export_icon(icon=icon_name_raw[len(icon.common_prefix):], size=size, filename="icon.png", export_dir=icon_dir)
def __init__(self): """Initialize the class.""" self.css_file = pkg_resources.resource_filename( __package__, 'data/fontawesome.css') self.ttf_files = [ pkg_resources.resource_filename(__package__, 'data/{}'.format(x)) for x in ('fa-regular-400.ttf', 'fa-solid-900.ttf')] self.icon_sets = [ IconFont(self.css_file, ttf) for ttf in self.ttf_files] self.icons = dict() for i, icon_set in enumerate(self.icon_sets): self.icons.update( {k: (i, icon_set) for k in icon_set.css_icons.keys()}) self.tmpdir = tempfile.TemporaryDirectory()
def gen_fa_mask( icon_name: str = "fas fa-grin", size: int = 512, icon_dir: str = ".temp", pro_icon_path: str = None, pro_css_path: str = None, filename: str='icon.png' ): """ Generates a Font Awesome icon mask from the given FA prefix + name. """ # FA prefixes which map to a font file. font_files = { "fas": "fa-solid-900.ttf", "far": "fa-regular-400.ttf", "fab": "fa-brands-400.ttf", } icon_prefix = icon_name.split(" ")[0] icon_name_raw = icon_name.split(" ")[1] css_path = pro_css_path or os.path.join(STATIC_PATH, "fontawesome.min.css") ttf_path = pro_icon_path or os.path.join(STATIC_PATH, font_files[icon_prefix]) icon = IconFont(css_file=css_path, ttf_file=ttf_path) # If a length and width are provided, make icon the smaller of the two if isinstance(size, tuple): size = min(size) icon.export_icon( icon=icon_name_raw[len(icon.common_prefix) :], size=size, filename=filename, export_dir=icon_dir, )