$font_face = '';
        $iconfonts = self::get_all_iconfonts();
        foreach ($iconfonts as $font_family => $config) {
            $font_url = trailingslashit($config['font_url']) . $font_family;
            $font_ver = isset($config['version']) ? strstr($config['version'], '?') : '';
            // Check for charmap before creating font-face inline styles.
            $charmap = path_join($config['font_dir'], $config['charmap']);
            if ($charmap && is_readable($charmap)) {
                $font_face .= self::create_font_face($font_family, $font_url, $font_ver);
            }
        }
        if ($font_face) {
            wp_add_inline_style(is_admin() ? 'axiscomposer-admin' : 'axiscomposer-general', $font_face);
        }
    }
    /**
     * Create iconfont font-face styles.
     * @param  string $font_family
     * @param  string $font_url
     * @param  string $font_ver
     * @return string
     */
    private static function create_font_face($font_family, $font_url, $font_ver)
    {
        $ampersand = empty($font_ver) ? '' : str_replace('?', '&', $font_ver);
        $font_face = "\n\t\t@font-face {\n\t\t    font-family: '{$font_family}';\n\t\t    src:url('{$font_url}.eot{$font_ver}');\n\t\t    src:url('{$font_url}.eot#iefix{$ampersand}') format('embedded-opentype'),\n\t\t        url('{$font_url}.woff{$font_ver}') format('woff'),\n\t\t        url('{$font_url}.ttf{$font_ver}') format('truetype'),\n\t\t        url('{$font_url}.svg{$font_ver}#{$font_family}') format('svg');\n\t\t    font-weight: normal;\n\t\t    font-style: normal;\n\t\t}\n\t\tbody .axiscomposer-font-{$font_family},\n\t\tbody .axiscomposer-font-{$font_family} span,\n\t\tbody [data-iconfont='{$font_family}']:before {\n\t\t    font-family: '{$font_family}';\n\t\t}\n\t\t";
        return $font_face;
    }
}
AC_Iconfont::init();