Version Description
Download this release
Release Info
Developer | DannyCooper |
Plugin | Google Fonts for WordPress |
Version | 2.2.0 |
Comparing to | |
See all releases |
Code changes from version 2.1.9 to 2.2.0
- admin/class-ogf-upload-fonts-screen.php +255 -0
- admin/class-ogf-welcome-screen.php +124 -0
- admin/welcome.php +0 -81
- assets/js/customize-controls.js +8 -1
- assets/js/customize-preview.js +13 -1
- assets/js/uploadFonts.js +65 -0
- blocks/dist/blocks.build.js +1 -1
- blocks/init.php +9 -15
- blocks/src/google-fonts/edit.js +23 -5
- changelog.txt +5 -0
- class-olympus-google-fonts.php +7 -1
- includes/class-ogf-classic-editor.php +25 -5
- includes/class-ogf-fonts-taxonomy.php +205 -0
- includes/class-ogf-fonts.php +27 -14
- includes/class-ogf-welcome.php +1 -1
- includes/customizer/controls/class-ogf-customize-typography-control.php +2 -2
- includes/customizer/controls/class-ogf-customize-upsell-control.php +1 -1
- includes/customizer/output-css.php +61 -9
- includes/customizer/settings.php +1 -1
- includes/functions.php +22 -0
- includes/gutenberg/output-css.php +1 -1
- olympus-google-fonts.php +3 -3
- readme.txt +1 -1
admin/class-ogf-upload-fonts-screen.php
ADDED
@@ -0,0 +1,255 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Upload Fonts Admin UI
|
4 |
+
*
|
5 |
+
* @package olympus-google-fonts
|
6 |
+
*/
|
7 |
+
|
8 |
+
/**
|
9 |
+
* OGF_Upload_Fonts_Admin_Screen
|
10 |
+
*/
|
11 |
+
class OGF_Upload_Fonts_Admin_Screen {
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Instance of OGF_Upload_Fonts_Admin_Screen
|
15 |
+
*
|
16 |
+
* @var (Object) OGF_Upload_Fonts_Admin_Screen
|
17 |
+
*/
|
18 |
+
private static $instance = null;
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Parent Menu Slug
|
22 |
+
*
|
23 |
+
* @var (string) $parent_menu_slug
|
24 |
+
*/
|
25 |
+
protected $parent_menu_slug = 'fonts-plugin';
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Instance of OGF_Upload_Fonts_Admin_Screen.
|
29 |
+
*
|
30 |
+
* @return object Class object.
|
31 |
+
*/
|
32 |
+
public static function get_instance() {
|
33 |
+
if ( ! isset( self::$instance ) ) {
|
34 |
+
self::$instance = new self();
|
35 |
+
}
|
36 |
+
|
37 |
+
return self::$instance;
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Constructor.
|
42 |
+
*/
|
43 |
+
public function __construct() {
|
44 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue' ) );
|
45 |
+
|
46 |
+
add_action( 'admin_menu', array( $this, 'register_custom_fonts_menu' ), 101 );
|
47 |
+
add_action( 'admin_head', array( $this, 'customize_output' ) );
|
48 |
+
|
49 |
+
add_filter( 'manage_edit-' . OGF_Fonts_Taxonomy::$taxonomy_slug . '_columns', array( $this, 'manage_columns' ) );
|
50 |
+
|
51 |
+
add_action( OGF_Fonts_Taxonomy::$taxonomy_slug . '_add_form_fields', array( $this, 'add_new_taxonomy_data' ) );
|
52 |
+
add_action( OGF_Fonts_Taxonomy::$taxonomy_slug . '_edit_form_fields', array( $this, 'edit_taxonomy_data' ) );
|
53 |
+
|
54 |
+
add_action( 'edited_' . OGF_Fonts_Taxonomy::$taxonomy_slug, array( $this, 'save_metadata' ) );
|
55 |
+
add_action( 'create_' . OGF_Fonts_Taxonomy::$taxonomy_slug, array( $this, 'save_metadata' ) );
|
56 |
+
|
57 |
+
add_filter( 'upload_mimes', array( $this, 'add_to_allowed_mimes' ) );
|
58 |
+
add_filter( 'wp_check_filetype_and_ext', array( $this, 'update_mime_types' ), 10, 3 );
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Add options page
|
63 |
+
*/
|
64 |
+
public function enqueue() {
|
65 |
+
wp_enqueue_media();
|
66 |
+
wp_enqueue_script( 'olympus-google-fonts-upload', plugins_url( 'assets/js/uploadFonts.js', dirname( __FILE__ ) ), false, '1.0.0' );
|
67 |
+
}
|
68 |
+
|
69 |
+
/**
|
70 |
+
* Register custom font menu
|
71 |
+
*/
|
72 |
+
public function register_custom_fonts_menu() {
|
73 |
+
|
74 |
+
if ( ! defined( 'OGF_PRO' ) ) {
|
75 |
+
return;
|
76 |
+
}
|
77 |
+
|
78 |
+
$title = apply_filters( 'ogf_custom_fonts_menu_title', __( 'Upload Fonts', 'olympus-google-fonts' ) );
|
79 |
+
add_submenu_page(
|
80 |
+
$this->parent_menu_slug,
|
81 |
+
$title,
|
82 |
+
$title,
|
83 |
+
OGF_Fonts_Taxonomy::$capability,
|
84 |
+
'edit-tags.php?taxonomy=' . OGF_Fonts_Taxonomy::$taxonomy_slug
|
85 |
+
);
|
86 |
+
|
87 |
+
}
|
88 |
+
|
89 |
+
/**
|
90 |
+
* Modify taxonomy output.
|
91 |
+
*/
|
92 |
+
public function customize_output() {
|
93 |
+
global $parent_file, $submenu_file;
|
94 |
+
|
95 |
+
if ( 'edit-tags.php?taxonomy=' . OGF_Fonts_Taxonomy::$taxonomy_slug === $submenu_file ) {
|
96 |
+
$parent_file = $this->parent_menu_slug; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
|
97 |
+
}
|
98 |
+
if ( get_current_screen()->id != 'edit-' . OGF_Fonts_Taxonomy::$taxonomy_slug ) {
|
99 |
+
return;
|
100 |
+
}
|
101 |
+
|
102 |
+
?><style>#addtag div.form-field.term-slug-wrap, #edittag tr.form-field.term-slug-wrap { display: none; }
|
103 |
+
#addtag div.form-field.term-description-wrap, #edittag tr.form-field.term-description-wrap { display: none; }</style><script>jQuery( document ).ready( function( $ ) {
|
104 |
+
var $wrapper = $( '#addtag, #edittag' );
|
105 |
+
$wrapper.find( 'tr.form-field.term-name-wrap p, div.form-field.term-name-wrap > p' ).text( '<?php esc_html_e( 'The name of the font as it appears in the customizer options.', 'olympus-google-fonts' ); ?>' );
|
106 |
+
} );</script>
|
107 |
+
<?php
|
108 |
+
}
|
109 |
+
|
110 |
+
/**
|
111 |
+
* Manage Columns
|
112 |
+
*
|
113 |
+
* @param array $columns default columns.
|
114 |
+
* @return array $columns updated columns.
|
115 |
+
*/
|
116 |
+
public function manage_columns( $columns ) {
|
117 |
+
|
118 |
+
$screen = get_current_screen();
|
119 |
+
// If current screen is add new custom fonts screen.
|
120 |
+
if ( isset( $screen->base ) && 'edit-tags' == $screen->base ) {
|
121 |
+
|
122 |
+
$old_columns = $columns;
|
123 |
+
$columns = array(
|
124 |
+
'cb' => $old_columns['cb'],
|
125 |
+
'name' => $old_columns['name'],
|
126 |
+
);
|
127 |
+
|
128 |
+
}
|
129 |
+
return $columns;
|
130 |
+
}
|
131 |
+
|
132 |
+
/**
|
133 |
+
* Add new Taxonomy data
|
134 |
+
*/
|
135 |
+
public function add_new_taxonomy_data() {
|
136 |
+
$this->font_file_new_field( 'woff', __( 'WOFF Font File', 'olympus-google-fonts' ), '' );
|
137 |
+
$this->font_file_new_field( 'woff2', __( 'WOFF2 Font File', 'olympus-google-fonts' ), '' );
|
138 |
+
$this->font_file_new_field( 'otf', __( 'OpenType (.otf) Font File', 'olympus-google-fonts' ), '' );
|
139 |
+
$this->font_file_new_field( 'ttf', __( 'TrueType (.ttf) Font File', 'olympus-google-fonts' ), '' );
|
140 |
+
}
|
141 |
+
|
142 |
+
/**
|
143 |
+
* Edit Taxonomy data
|
144 |
+
*
|
145 |
+
* @param object $term taxonomy terms.
|
146 |
+
*/
|
147 |
+
public function edit_taxonomy_data( $term ) {
|
148 |
+
$data = OGF_Fonts_Taxonomy::get_font_links( $term->term_id );
|
149 |
+
$this->font_file_edit_field( 'woff', __( 'Font .woff', 'olympus-google-fonts' ), $data['woff'], __( 'Upload the font\'s .woff file or enter the URL.', 'olympus-google-fonts' ) );
|
150 |
+
$this->font_file_edit_field( 'woff2', __( 'Font .woff2', 'olympus-google-fonts' ), $data['woff2'], __( 'Upload the font\'s .woff2 file or enter the URL.', 'olympus-google-fonts' ) );
|
151 |
+
$this->font_file_edit_field( 'ttf', __( 'Font .ttf', 'olympus-google-fonts' ), $data['ttf'], __( 'Upload the font\'s .ttf file or enter the URL.', 'olympus-google-fonts' ) );
|
152 |
+
$this->font_file_edit_field( 'otf', __( 'Font .otf', 'olympus-google-fonts' ), $data['otf'], __( 'Upload the font\'s .otf file or enter the URL.', 'olympus-google-fonts' ) );
|
153 |
+
|
154 |
+
}
|
155 |
+
|
156 |
+
/**
|
157 |
+
* Add Taxonomy data field
|
158 |
+
*
|
159 |
+
* @param int $id current term id.
|
160 |
+
* @param string $title font type title.
|
161 |
+
* @param string $description title font type description.
|
162 |
+
* @param string $value title font type meta values.
|
163 |
+
*/
|
164 |
+
protected function font_file_new_field( $id, $title, $description, $value = '' ) {
|
165 |
+
?>
|
166 |
+
<div class="ogf-custom-fonts-file-wrap form-field term-<?php echo esc_attr( $id ); ?>-wrap" >
|
167 |
+
|
168 |
+
<label for="font-<?php echo esc_attr( $id ); ?>"><?php echo esc_html( $title ); ?></label>
|
169 |
+
<input type="text" id="font-<?php echo esc_attr( $id ); ?>" class="ogf-custom-fonts-link <?php echo esc_attr( $id ); ?>" name="<?php echo esc_attr( OGF_Fonts_Taxonomy::$taxonomy_slug ); ?>[<?php echo esc_attr( $id ); ?>]" value="<?php echo esc_attr( $value ); ?>" />
|
170 |
+
<a href="#" class="ogf-custom-fonts-upload button" data-upload-type="<?php echo esc_attr( $id ); ?>"><?php esc_html_e( 'Upload', 'olympus-google-fonts' ); ?></a>
|
171 |
+
<p><?php echo esc_html( $description ); ?></p>
|
172 |
+
</div>
|
173 |
+
<?php
|
174 |
+
}
|
175 |
+
|
176 |
+
/**
|
177 |
+
* Add Taxonomy data field
|
178 |
+
*
|
179 |
+
* @param int $id current term id.
|
180 |
+
* @param string $title font type title.
|
181 |
+
* @param string $value title font type meta values.
|
182 |
+
* @param string $description title font type description.
|
183 |
+
*/
|
184 |
+
protected function font_file_edit_field( $id, $title, $value = '', $description ) {
|
185 |
+
?>
|
186 |
+
<tr class="ogf-custom-fonts-file-wrap form-field term-<?php echo esc_attr( $id ); ?>-wrap ">
|
187 |
+
<th scope="row">
|
188 |
+
<label for="metadata-<?php echo esc_attr( $id ); ?>">
|
189 |
+
<?php echo esc_html( $title ); ?>
|
190 |
+
</label>
|
191 |
+
</th>
|
192 |
+
<td>
|
193 |
+
<input id="metadata-<?php echo esc_attr( $id ); ?>" type="text" class="ogf-custom-fonts-link <?php echo esc_attr( $id ); ?>" name="<?php echo esc_attr( OGF_Fonts_Taxonomy::$taxonomy_slug ); ?>[<?php echo esc_attr( $id ); ?>]" value="<?php echo esc_attr( $value ); ?>" />
|
194 |
+
<a href="#" class="ogf-custom-fonts-upload button" data-upload-type="<?php echo esc_attr( $id ); ?>"><?php esc_html_e( 'Upload', 'olympus-google-fonts' ); ?></a>
|
195 |
+
<p><?php echo esc_html( $description ); ?></p>
|
196 |
+
</td>
|
197 |
+
</tr>
|
198 |
+
<?php
|
199 |
+
}
|
200 |
+
|
201 |
+
/**
|
202 |
+
* Save Taxonomy meta data value
|
203 |
+
*
|
204 |
+
* @since 1.0.0
|
205 |
+
* @param int $term_id current term id.
|
206 |
+
*/
|
207 |
+
public function save_metadata( $term_id ) {
|
208 |
+
if ( isset( $_POST[ OGF_Fonts_Taxonomy::$taxonomy_slug ] ) ) {// phpcs:ignore WordPress.Security.NonceVerification.Missing
|
209 |
+
$value = array_map( 'esc_attr', $_POST[ OGF_Fonts_Taxonomy::$taxonomy_slug ] ); // phpcs:ignore WordPress.Security.NonceVerification.Missing
|
210 |
+
OGF_Fonts_Taxonomy::update_font_links( $value, $term_id );
|
211 |
+
}
|
212 |
+
}
|
213 |
+
|
214 |
+
/**
|
215 |
+
* Add WOFF and WOFF2 to the allowed mime types.
|
216 |
+
*
|
217 |
+
* @param array $mimes Current array of mime types.
|
218 |
+
* @return array $mimes Updated array of mime types.
|
219 |
+
*/
|
220 |
+
public function add_to_allowed_mimes( $mimes ) {
|
221 |
+
$mimes['woff'] = 'application/x-font-woff';
|
222 |
+
$mimes['woff2'] = 'application/x-font-woff2';
|
223 |
+
$mimes['ttf'] = 'application/x-font-ttf';
|
224 |
+
$mimes['otf'] = 'font/otf';
|
225 |
+
|
226 |
+
return $mimes;
|
227 |
+
}
|
228 |
+
|
229 |
+
/**
|
230 |
+
* Correct the mome types and extension for the font types.
|
231 |
+
*
|
232 |
+
* @param array $defaults File data array containing 'ext', 'type', and
|
233 |
+
* 'proper_filename' keys.
|
234 |
+
* @param string $file Full path to the file.
|
235 |
+
* @param string $filename The name of the file (may differ from $file due to
|
236 |
+
* $file being in a tmp directory).
|
237 |
+
* @return Array File data array containing 'ext', 'type', and
|
238 |
+
*/
|
239 |
+
public function update_mime_types( $defaults, $file, $filename ) {
|
240 |
+
if ( 'ttf' === pathinfo( $filename, PATHINFO_EXTENSION ) ) {
|
241 |
+
$defaults['type'] = 'application/x-font-ttf';
|
242 |
+
$defaults['ext'] = 'ttf';
|
243 |
+
}
|
244 |
+
|
245 |
+
if ( 'otf' === pathinfo( $filename, PATHINFO_EXTENSION ) ) {
|
246 |
+
$defaults['type'] = 'application/x-font-otf';
|
247 |
+
$defaults['ext'] = 'otf';
|
248 |
+
}
|
249 |
+
|
250 |
+
return $defaults;
|
251 |
+
}
|
252 |
+
|
253 |
+
}
|
254 |
+
|
255 |
+
OGF_Upload_Fonts_Admin_Screen::get_instance();
|
admin/class-ogf-welcome-screen.php
ADDED
@@ -0,0 +1,124 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Olympus Google Fonts Admin Pages.
|
4 |
+
*
|
5 |
+
* @package olympus-google-fonts
|
6 |
+
*/
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Create the admin pages.
|
10 |
+
*/
|
11 |
+
class OGF_Admin_Welcome_Screen {
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Start up
|
15 |
+
*/
|
16 |
+
public function __construct() {
|
17 |
+
add_action( 'admin_menu', array( $this, 'add_plugin_page' ) );
|
18 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue' ) );
|
19 |
+
}
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Add options page
|
23 |
+
*/
|
24 |
+
public function add_plugin_page() {
|
25 |
+
|
26 |
+
add_menu_page(
|
27 |
+
__( 'Fonts Plugin', 'olympus-google-fonts' ),
|
28 |
+
'Fonts Plugin',
|
29 |
+
'manage_options',
|
30 |
+
'fonts-plugin',
|
31 |
+
array( $this, 'render_welcome_page' ),
|
32 |
+
'dashicons-editor-textcolor',
|
33 |
+
61
|
34 |
+
);
|
35 |
+
|
36 |
+
add_submenu_page(
|
37 |
+
'fonts-plugin',
|
38 |
+
__( 'Customize Fonts', 'olympus-google-fonts' ),
|
39 |
+
__( 'Customize Fonts', 'olympus-google-fonts' ),
|
40 |
+
'manage_options',
|
41 |
+
esc_url( admin_url( '/customize.php?autofocus[panel]=ogf_google_fonts' ) )
|
42 |
+
);
|
43 |
+
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Add options page
|
48 |
+
*/
|
49 |
+
public function enqueue() {
|
50 |
+
wp_enqueue_style( 'olympus-google-fonts-welcome', plugins_url( 'admin/style.css', dirname( __FILE__ ) ), false, '1.0.0' );
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Options page callback
|
55 |
+
*/
|
56 |
+
public function render_upload_page() {
|
57 |
+
?>
|
58 |
+
<div class="eb-wrap">
|
59 |
+
<div class="eb-content">
|
60 |
+
<div class="eb-content__header">
|
61 |
+
<h1>Your Quickstart Guide</h1>
|
62 |
+
</div>
|
63 |
+
<div class="eb-content__inner">
|
64 |
+
<img class="ebook-cover" src="<?php echo esc_url( plugins_url( 'admin/fonts-plugin-quickstart-guide.png', dirname( __FILE__ ) ) ); ?>">
|
65 |
+
<p>To help you get the most out of the Google Fonts plugin we’ve put together a free quickstart guide.</p>
|
66 |
+
<p>In this beautifully-formatted, easy-to-read PDF you will learn:
|
67 |
+
<ul>
|
68 |
+
<li>How to <strong>easily</strong> customize your typography.</li>
|
69 |
+
<li>How to host fonts <strong>locally</strong> for speed, GDPR & DSGVO.</li>
|
70 |
+
<li>How to use Google Fonts without <strong>slowing down</strong> your website.</li>
|
71 |
+
</ul>
|
72 |
+
<p>Download your free copy today.</p>
|
73 |
+
<!-- Begin Mailchimp Signup Form -->
|
74 |
+
<form action="https://fontsplugin.us9.list-manage.com/subscribe/post?u=1ed15f4383eb532a1a1034fb9&id=2ed49283a0" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
|
75 |
+
<input type="email" value="<?php echo sanitize_email( $email ); ?>" placeholder="Your email address..." name="EMAIL" class="required email" id="mce-EMAIL">
|
76 |
+
<div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_1ed15f4383eb532a1a1034fb9_2ed49283a0" tabindex="-1" value=""></div>
|
77 |
+
<input type="submit" value="Send My Guide!" name="subscribe" id="mc-embedded-subscribe" class="button">
|
78 |
+
</form>
|
79 |
+
<!--End mc_embed_signup-->
|
80 |
+
</div>
|
81 |
+
</div>
|
82 |
+
</div>
|
83 |
+
<?php
|
84 |
+
}
|
85 |
+
|
86 |
+
/**
|
87 |
+
* Options page callback
|
88 |
+
*/
|
89 |
+
public function render_welcome_page() {
|
90 |
+
$current_user = wp_get_current_user();
|
91 |
+
$email = ( string ) $current_user->user_email;
|
92 |
+
?>
|
93 |
+
<div class="eb-wrap">
|
94 |
+
<div class="eb-content">
|
95 |
+
<div class="eb-content__header">
|
96 |
+
<h1>Your Quickstart Guide</h1>
|
97 |
+
</div>
|
98 |
+
<div class="eb-content__inner">
|
99 |
+
<img class="ebook-cover" src="<?php echo esc_url( plugins_url( 'admin/fonts-plugin-quickstart-guide.png', dirname( __FILE__ ) ) ); ?>">
|
100 |
+
<p>To help you get the most out of the Google Fonts plugin we’ve put together a free quickstart guide.</p>
|
101 |
+
<p>In this beautifully-formatted, easy-to-read PDF you will learn:
|
102 |
+
<ul>
|
103 |
+
<li>How to <strong>easily</strong> customize your typography.</li>
|
104 |
+
<li>How to host fonts <strong>locally</strong> for speed, GDPR & DSGVO.</li>
|
105 |
+
<li>How to use Google Fonts without <strong>slowing down</strong> your website.</li>
|
106 |
+
</ul>
|
107 |
+
<p>Download your free copy today.</p>
|
108 |
+
<!-- Begin Mailchimp Signup Form -->
|
109 |
+
<form action="https://fontsplugin.us9.list-manage.com/subscribe/post?u=1ed15f4383eb532a1a1034fb9&id=2ed49283a0" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
|
110 |
+
<input type="email" value="<?php echo sanitize_email( $email ); ?>" placeholder="Your email address..." name="EMAIL" class="required email" id="mce-EMAIL">
|
111 |
+
<div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_1ed15f4383eb532a1a1034fb9_2ed49283a0" tabindex="-1" value=""></div>
|
112 |
+
<input type="submit" value="Send My Guide!" name="subscribe" id="mc-embedded-subscribe" class="button">
|
113 |
+
</form>
|
114 |
+
<!--End mc_embed_signup-->
|
115 |
+
</div>
|
116 |
+
</div>
|
117 |
+
</div>
|
118 |
+
<?php
|
119 |
+
}
|
120 |
+
}
|
121 |
+
|
122 |
+
if ( is_admin() ) {
|
123 |
+
$my_settings_page = new OGF_Admin_Welcome_Screen();
|
124 |
+
}
|
admin/welcome.php
DELETED
@@ -1,81 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Olympus Google Fonts Welcome Page.
|
4 |
-
*
|
5 |
-
* @package olympus-google-fonts
|
6 |
-
*/
|
7 |
-
|
8 |
-
/**
|
9 |
-
* Create the editor blocks welcome page.
|
10 |
-
*/
|
11 |
-
class Olympus_Google_Fonts_Welcome {
|
12 |
-
|
13 |
-
/**
|
14 |
-
* Start up
|
15 |
-
*/
|
16 |
-
public function __construct() {
|
17 |
-
add_action( 'admin_menu', array( $this, 'add_plugin_page' ) );
|
18 |
-
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue' ) );
|
19 |
-
}
|
20 |
-
|
21 |
-
/**
|
22 |
-
* Add options page
|
23 |
-
*/
|
24 |
-
public function add_plugin_page() {
|
25 |
-
// This page will be under "Settings".
|
26 |
-
add_submenu_page(
|
27 |
-
'themes.php',
|
28 |
-
esc_attr__( 'Google Fonts', 'olympus-google-fonts' ),
|
29 |
-
esc_attr__( 'Google Fonts', 'olympus-google-fonts' ),
|
30 |
-
'manage_options',
|
31 |
-
'olympus-google-fonts',
|
32 |
-
array( $this, 'create_admin_page' )
|
33 |
-
);
|
34 |
-
}
|
35 |
-
|
36 |
-
/**
|
37 |
-
* Add options page
|
38 |
-
*/
|
39 |
-
public function enqueue() {
|
40 |
-
wp_enqueue_style( 'olympus-google-fonts-welcome', plugins_url( 'admin/style.css', dirname( __FILE__ ) ), false, '1.0.0' );
|
41 |
-
}
|
42 |
-
|
43 |
-
/**
|
44 |
-
* Options page callback
|
45 |
-
*/
|
46 |
-
public function create_admin_page() {
|
47 |
-
$current_user = wp_get_current_user();
|
48 |
-
$email = (string) $current_user->user_email;
|
49 |
-
?>
|
50 |
-
<div class="eb-wrap">
|
51 |
-
<div class="eb-content">
|
52 |
-
<div class="eb-content__header">
|
53 |
-
<h1>Your Quickstart Guide</h1>
|
54 |
-
</div>
|
55 |
-
<div class="eb-content__inner">
|
56 |
-
<img class="ebook-cover" src="<?php echo plugins_url( 'admin/fonts-plugin-quickstart-guide.png', dirname( __FILE__ ) ); ?>">
|
57 |
-
<p>To help you get the most out of the Google Fonts plugin we’ve put together a free quickstart guide.</p>
|
58 |
-
<p>In this beautifully-formatted, easy-to-read PDF you will learn:
|
59 |
-
<ul>
|
60 |
-
<li>How to <strong>easily</strong> customize your typography.</li>
|
61 |
-
<li>How to host fonts <strong>locally</strong> for speed, GDPR & DSGVO.</li>
|
62 |
-
<li>How to use Google Fonts without <strong>slowing down</strong> your website.</li>
|
63 |
-
</ul>
|
64 |
-
<p>Download your free copy today.</p>
|
65 |
-
<!-- Begin Mailchimp Signup Form -->
|
66 |
-
<form action="https://fontsplugin.us9.list-manage.com/subscribe/post?u=1ed15f4383eb532a1a1034fb9&id=2ed49283a0" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
|
67 |
-
<input type="email" value="<?php echo $email; ?>" placeholder="Your email address..." name="EMAIL" class="required email" id="mce-EMAIL">
|
68 |
-
<div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_1ed15f4383eb532a1a1034fb9_2ed49283a0" tabindex="-1" value=""></div>
|
69 |
-
<input type="submit" value="Send My Guide!" name="subscribe" id="mc-embedded-subscribe" class="button">
|
70 |
-
</form>
|
71 |
-
<!--End mc_embed_signup-->
|
72 |
-
</div>
|
73 |
-
</div>
|
74 |
-
</div>
|
75 |
-
<?php
|
76 |
-
}
|
77 |
-
}
|
78 |
-
|
79 |
-
if ( is_admin() ) {
|
80 |
-
$my_settings_page = new Olympus_Google_Fonts_Welcome();
|
81 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/customize-controls.js
CHANGED
@@ -26,6 +26,13 @@
|
|
26 |
return false;
|
27 |
}
|
28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
// Load the font-weights for the newly selected font.
|
30 |
control.container.on(
|
31 |
'change',
|
@@ -35,7 +42,7 @@
|
|
35 |
control.settings.family.set( value );
|
36 |
const weightsSelect = jQuery( '.typography-font-weight select' );
|
37 |
|
38 |
-
if ( value === 'default' || isSystemFont( value ) ) {
|
39 |
|
40 |
const defaultWeights = {
|
41 |
0: "- Default -",
|
26 |
return false;
|
27 |
}
|
28 |
|
29 |
+
function isCustomFont( fontID ) {
|
30 |
+
if ( fontID.indexOf( 'cf-' ) !== -1 ) {
|
31 |
+
return true;
|
32 |
+
}
|
33 |
+
return false;
|
34 |
+
}
|
35 |
+
|
36 |
// Load the font-weights for the newly selected font.
|
37 |
control.container.on(
|
38 |
'change',
|
42 |
control.settings.family.set( value );
|
43 |
const weightsSelect = jQuery( '.typography-font-weight select' );
|
44 |
|
45 |
+
if ( value === 'default' || isSystemFont( value ) || isCustomFont( value ) ) {
|
46 |
|
47 |
const defaultWeights = {
|
48 |
0: "- Default -",
|
assets/js/customize-preview.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
/* global ogf_elements, ogf_system_fonts */
|
2 |
jQuery( document ).ready(
|
3 |
function() {
|
4 |
// Retrieve the Google Fonts url from the Customizer and append it to head.
|
@@ -19,6 +19,11 @@ jQuery( document ).ready(
|
|
19 |
const fontID = value.replace( 'sf-', '' );
|
20 |
v.style.setProperty( 'font-family', ogf_system_fonts[ fontID ].stack, 'important' );
|
21 |
} );
|
|
|
|
|
|
|
|
|
|
|
22 |
} else {
|
23 |
jQuery( selector ).each( function( i, v ) {
|
24 |
v.style.setProperty( 'font-family', '"' + value.split( '-' ).join( ' ' ) + '"', 'important' );
|
@@ -33,6 +38,13 @@ jQuery( document ).ready(
|
|
33 |
return false;
|
34 |
}
|
35 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
// Loop through the elements and bind the controls.
|
37 |
jQuery.map( ogf_elements, function( val, id ) {
|
38 |
wp.customize(
|
1 |
+
/* global ogf_elements, ogf_system_fonts, ogf_custom_fonts */
|
2 |
jQuery( document ).ready(
|
3 |
function() {
|
4 |
// Retrieve the Google Fonts url from the Customizer and append it to head.
|
19 |
const fontID = value.replace( 'sf-', '' );
|
20 |
v.style.setProperty( 'font-family', ogf_system_fonts[ fontID ].stack, 'important' );
|
21 |
} );
|
22 |
+
} else if ( isCustomFont( value ) ) {
|
23 |
+
jQuery( selector ).each( function( i, v ) {
|
24 |
+
const fontID = value.replace( 'cf-', '' );
|
25 |
+
v.style.setProperty( 'font-family', ogf_custom_fonts[ fontID ].stack, 'important' );
|
26 |
+
} );
|
27 |
} else {
|
28 |
jQuery( selector ).each( function( i, v ) {
|
29 |
v.style.setProperty( 'font-family', '"' + value.split( '-' ).join( ' ' ) + '"', 'important' );
|
38 |
return false;
|
39 |
}
|
40 |
|
41 |
+
function isCustomFont( fontID ) {
|
42 |
+
if ( fontID.indexOf( 'cf-' ) !== -1 ) {
|
43 |
+
return true;
|
44 |
+
}
|
45 |
+
return false;
|
46 |
+
}
|
47 |
+
|
48 |
// Loop through the elements and bind the controls.
|
49 |
jQuery.map( ogf_elements, function( val, id ) {
|
50 |
wp.customize(
|
assets/js/uploadFonts.js
ADDED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
(function($){
|
2 |
+
|
3 |
+
/**
|
4 |
+
* OgfUploadFonts
|
5 |
+
*/
|
6 |
+
OgfUploadFonts = {
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Initializes OgfUploadFonts.
|
10 |
+
*
|
11 |
+
* @since 1.0
|
12 |
+
* @method init
|
13 |
+
*/
|
14 |
+
init: function()
|
15 |
+
{
|
16 |
+
// Init.
|
17 |
+
this._fileUploads();
|
18 |
+
},
|
19 |
+
/**
|
20 |
+
* Font File Uploads
|
21 |
+
*
|
22 |
+
* @access private
|
23 |
+
* @method _fileUploads
|
24 |
+
*/
|
25 |
+
_fileUploads: function()
|
26 |
+
{
|
27 |
+
var file_frame;
|
28 |
+
window.inputWrapper = '';
|
29 |
+
$( document.body ).on('click', '.ogf-custom-fonts-upload', function(event) {
|
30 |
+
event.preventDefault();
|
31 |
+
var button = $(this),
|
32 |
+
button_type = button.data('upload-type');
|
33 |
+
window.inputWrapper = $(this).closest('.ogf-custom-fonts-file-wrap');
|
34 |
+
|
35 |
+
// If the media frame already exists, reopen it.
|
36 |
+
if ( file_frame ) {
|
37 |
+
file_frame.open();
|
38 |
+
return;
|
39 |
+
}
|
40 |
+
|
41 |
+
// Create a new media frame
|
42 |
+
file_frame = wp.media.frames.file_frame = wp.media({
|
43 |
+
multiple: false // Set to true to allow multiple files to be selected
|
44 |
+
});
|
45 |
+
|
46 |
+
// When an image is selected in the media frame...
|
47 |
+
file_frame.on( 'select', function() {
|
48 |
+
|
49 |
+
// Get media attachment details from the frame state
|
50 |
+
var attachment = file_frame.state().get('selection').first().toJSON();
|
51 |
+
window.inputWrapper.find( '.ogf-custom-fonts-link' ).val(attachment.url);
|
52 |
+
});
|
53 |
+
// Finally, open the modal
|
54 |
+
file_frame.open();
|
55 |
+
});
|
56 |
+
var file_frame;
|
57 |
+
window.inputWrapper = '';
|
58 |
+
},
|
59 |
+
}
|
60 |
+
|
61 |
+
$(function(){
|
62 |
+
OgfUploadFonts.init();
|
63 |
+
});
|
64 |
+
|
65 |
+
})(jQuery);
|
blocks/dist/blocks.build.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(i){function a(l){if(t[l])return t[l].exports;var e=t[l]={i:l,l:!1,exports:{}};return i[l].call(e.exports,e,e.exports,a),e.l=!0,e.exports}var t={};a.m=i,a.c=t,a.d=function(i,t,l){a.o(i,t)||Object.defineProperty(i,t,{configurable:!1,enumerable:!0,get:l})},a.n=function(i){var t=i&&i.__esModule?function(){return i.default}:function(){return i};return a.d(t,"a",t),t},a.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},a.p="",a(a.s=0)}([function(i,a,t){"use strict";Object.defineProperty(a,"__esModule",{value:!0});t(1)},function(i,a,t){"use strict";var l=t(2),e=t(5),__=wp.i18n.__;(0,wp.blocks.registerBlockType)("olympus-google-fonts/google-fonts",{title:__("Google Fonts","olympus-google-fonts"),category:"common",icon:wp.element.createElement("svg",{baseProfile:"tiny",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},wp.element.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}),wp.element.createElement("path",{d:"M9.93 13.5h4.14L12 7.98zM20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-4.05 16.5l-1.14-3H9.17l-1.12 3H5.96l5.11-13h1.86l5.11 13h-2.09z"})),keywords:[__("Fonts","olympus-google-fonts"),__("Heading","olympus-google-fonts")],transforms:e.a,edit:l.a,save:function(){return null}})},function(i,a,t){"use strict";function l(i,a){if(!(i instanceof a))throw new TypeError("Cannot call a class as a function")}function e(i,a){if(!i)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?i:a}function f(i,a){if("function"!==typeof a&&null!==a)throw new TypeError("Super expression must either be null or a function, not "+typeof a);i.prototype=Object.create(a&&a.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),a&&(Object.setPrototypeOf?Object.setPrototypeOf(i,a):i.__proto__=a)}var v=t(3),c=t.n(v),n=t(4),o=t.n(n),r="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(i){return typeof i}:function(i){return i&&"function"===typeof Symbol&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},s=function(){function i(i,a){for(var t=0;t<a.length;t++){var l=a[t];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(i,l.key,l)}}return function(a,t,l){return t&&i(a.prototype,t),l&&i(a,l),a}}(),__=wp.i18n.__,u=wp.element,d=u.Component,S=u.Fragment,m=wp.components,h=m.SelectControl,p=m.RangeControl,g=m.PanelBody,b=wp.editor,y=b.RichText,C=b.InspectorControls,k=b.BlockControls,M=b.AlignmentToolbar,O=b.PanelColorSettings,w=function(i){function a(){return l(this,a),e(this,(a.__proto__||Object.getPrototypeOf(a)).apply(this,arguments))}return f(a,i),s(a,[{key:"componentDidUpdate",value:function(i){this.props.attributes.fontID!==i.attributes.fontID&&(this.props.attributes.v="0")}},{key:"getFontsForSelect",value:function(){var i=o.a.items.map(function(i){var a=i.label;return{value:i.id,label:a}}),a=c.a.items.map(function(i){var a=i.f;return{value:a.replace(/\s+/g,"+"),label:a}});return i.concat(a)}},{key:"searchFonts",value:function(i,a){for(var t=0;t<a.length;t++)if(a[t].id===i)return a[t]}},{key:"isSystemFont",value:function(i){var a=this.searchFonts(i,o.a.items);return"object"===("undefined"===typeof a?"undefined":r(a))}},{key:"isItalic",value:function(i){return!i.includes("0i")}},{key:"getVariantsForSelect",value:function(i){if(i){var a={0:__("- Default -","olympus-google-fonts"),100:__("Thin","olympus-google-fonts"),200:__("Extra Light","olympus-google-fonts"),300:__("Light","olympus-google-fonts"),400:__("Normal","olympus-google-fonts"),500:__("Medium","olympus-google-fonts"),600:__("Semi Bold","olympus-google-fonts"),700:__("Bold","olympus-google-fonts"),800:__("Extra Bold","olympus-google-fonts"),900:__("Ultra Bold","olympus-google-fonts")};return-1===i.v.indexOf("0")?i.v.unshift("0"):console.log("This item already exists"),i.v.filter(this.isItalic).map(function(i){return{value:i,label:a[i]}})}}},{key:"getFontObject",value:function(i){if(i)for(var a=0;a<c.a.items.length;a++)if(c.a.items[a].f===i)return c.a.items[a]}},{key:"addGoogleFontToHead",value:function(i,a){if(i&&a&&!this.isSystemFont()){var t=document.head,l=document.createElement("link");l.type="text/css",l.rel="stylesheet",l.href="https://fonts.googleapis.com/css?family="+i.replace(/\s+/g,"+")+":"+a.v.join(","),t.appendChild(l)}}},{key:"render",value:function(){var i=this.props,a=i.attributes,t=i.setAttributes,l=a.fontID,e=a.content,f=a.align,v=a.variant,c=a.fontSize,n=a.lineHeight,o=a.color,r=a.blockType,s=this.getFontsForSelect();s.unshift({label:"- Default -",value:"0"});var u=[{value:"0",label:"- Default -"},{value:"400",label:"Regular"},{value:"700",label:"Bold"}];if(!this.isSystemFont(l)){var d=this.getFontObject(l.replace(/\+/g," "));u=this.getVariantsForSelect(d),this.addGoogleFontToHead(l,d)}var m=wp.element.createElement(C,null,wp.element.createElement(g,{title:__("Font Settings","olympus-google-fonts")},wp.element.createElement(h,{label:__("Block Type","olympus-google-fonts"),type:"string",value:r,options:[{label:"Paragraph",value:"p"},{label:"H1",value:"h1"},{label:"H2",value:"h2"},{label:"H3",value:"h3"},{label:"H4",value:"h4"},{label:"H5",value:"h5"},{label:"H6",value:"h6"},{label:"Span",value:"span"}],onChange:function(i){return t({blockType:i})}}),wp.element.createElement(h,{label:__("Font","olympus-google-fonts"),type:"string",value:l,options:s,onChange:function(i){return t({fontID:i})}}),wp.element.createElement(h,{label:__("Font Variant","olympus-google-fonts"),type:"string",value:v,options:u,onChange:function(i){return t({variant:i})}}),wp.element.createElement(p,{label:__("Font Size","olympus-google-fonts"),value:c,onChange:function(i){return t({fontSize:i})},allowReset:!0,min:"10",max:"50"}),wp.element.createElement(p,{label:__("Line Height","olympus-google-fonts"),value:n,onChange:function(i){return t({lineHeight:i})},allowReset:!0,min:"1",max:"3",step:"0.1"}),wp.element.createElement(O,{title:__("Color Settings","olympus-google-fonts"),colorSettings:[{value:a.color,onChange:function(i){return t({color:i})},label:__("Text Color","olympus-google-fonts")}]})));return wp.element.createElement(S,null,m,wp.element.createElement(k,null,wp.element.createElement(M,{value:f,onChange:function(i){return t({align:i})}})),wp.element.createElement(y,{tagName:r||"p",value:e,onChange:function(i){return t({content:i})},style:{fontSize:c?c+"px":void 0,textAlign:f,fontFamily:l.replace(/\+/g," "),fontWeight:v,lineHeight:n,color:o},placeholder:__("Add some content...","olympus-google-fonts"),formattingControls:["italic","link"]}))}}]),a}(d);a.a=w},function(i,a){i.exports={kind:"webfonts#webfontList",items:[{f:"ABeeZee",v:["400","400italic"]},{f:"Abel",v:["400"]},{f:"Abhaya Libre",v:["400","500","600","700","800"]},{f:"Abril Fatface",v:["400"]},{f:"Aclonica",v:["400"]},{f:"Acme",v:["400"]},{f:"Actor",v:["400"]},{f:"Adamina",v:["400"]},{f:"Advent Pro",v:["100","200","300","400","500","600","700"]},{f:"Aguafina Script",v:["400"]},{f:"Akronim",v:["400"]},{f:"Aladin",v:["400"]},{f:"Alata",v:["400"]},{f:"Alatsi",v:["400"]},{f:"Aldrich",v:["400"]},{f:"Alef",v:["400","700"]},{f:"Alegreya",v:["400","400italic","500","500italic","700","700italic","800","800italic","900","900italic"]},{f:"Alegreya SC",v:["400","400italic","500","500italic","700","700italic","800","800italic","900","900italic"]},{f:"Alegreya Sans",v:["100","100italic","300","300italic","400","400italic","500","500italic","700","700italic","800","800italic","900","900italic"]},{f:"Alegreya Sans SC",v:["100","100italic","300","300italic","400","400italic","500","500italic","700","700italic","800","800italic","900","900italic"]},{f:"Aleo",v:["300","300italic","400","400italic","700","700italic"]},{f:"Alex Brush",v:["400"]},{f:"Alfa Slab One",v:["400"]},{f:"Alice",v:["400"]},{f:"Alike",v:["400"]},{f:"Alike Angular",v:["400"]},{f:"Allan",v:["400","700"]},{f:"Allerta",v:["400"]},{f:"Allerta Stencil",v:["400"]},{f:"Allura",v:["400"]},{f:"Almarai",v:["300","400","700","800"]},{f:"Almendra",v:["400","400italic","700","700italic"]},{f:"Almendra Display",v:["400"]},{f:"Almendra SC",v:["400"]},{f:"Amarante",v:["400"]},{f:"Amaranth",v:["400","400italic","700","700italic"]},{f:"Amatic SC",v:["400","700"]},{f:"Amethysta",v:["400"]},{f:"Amiko",v:["400","600","700"]},{f:"Amiri",v:["400","400italic","700","700italic"]},{f:"Amita",v:["400","700"]},{f:"Anaheim",v:["400"]},{f:"Andada",v:["400"]},{f:"Andika",v:["400"]},{f:"Angkor",v:["400"]},{f:"Annie Use Your Telescope",v:["400"]},{f:"Anonymous Pro",v:["400","400italic","700","700italic"]},{f:"Antic",v:["400"]},{f:"Antic Didone",v:["400"]},{f:"Antic Slab",v:["400"]},{f:"Anton",v:["400"]},{f:"Arapey",v:["400","400italic"]},{f:"Arbutus",v:["400"]},{f:"Arbutus Slab",v:["400"]},{f:"Architects Daughter",v:["400"]},{f:"Archivo",v:["400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Archivo Black",v:["400"]},{f:"Archivo Narrow",v:["400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Aref Ruqaa",v:["400","700"]},{f:"Arima Madurai",v:["100","200","300","400","500","700","800","900"]},{f:"Arimo",v:["400","400italic","700","700italic"]},{f:"Arizonia",v:["400"]},{f:"Armata",v:["400"]},{f:"Arsenal",v:["400","400italic","700","700italic"]},{f:"Artifika",v:["400"]},{f:"Arvo",v:["400","400italic","700","700italic"]},{f:"Arya",v:["400","700"]},{f:"Asap",v:["400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Asap Condensed",v:["400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Asar",v:["400"]},{f:"Asset",v:["400"]},{f:"Assistant",v:["200","300","400","600","700","800"]},{f:"Astloch",v:["400","700"]},{f:"Asul",v:["400","700"]},{f:"Athiti",v:["200","300","400","500","600","700"]},{f:"Atma",v:["300","400","500","600","700"]},{f:"Atomic Age",v:["400"]},{f:"Aubrey",v:["400"]},{f:"Audiowide",v:["400"]},{f:"Autour One",v:["400"]},{f:"Average",v:["400"]},{f:"Average Sans",v:["400"]},{f:"Averia Gruesa Libre",v:["400"]},{f:"Averia Libre",v:["300","300italic","400","400italic","700","700italic"]},{f:"Averia Sans Libre",v:["300","300italic","400","400italic","700","700italic"]},{f:"Averia Serif Libre",v:["300","300italic","400","400italic","700","700italic"]},{f:"B612",v:["400","400italic","700","700italic"]},{f:"B612 Mono",v:["400","400italic","700","700italic"]},{f:"Bad Script",v:["400"]},{f:"Bahiana",v:["400"]},{f:"Bahianita",v:["400"]},{f:"Bai Jamjuree",v:["200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Baloo 2",v:["400","500","600","700","800"]},{f:"Baloo Bhai 2",v:["400","500","600","700","800"]},{f:"Baloo Bhaina 2",v:["400","500","600","700","800"]},{f:"Baloo Chettan 2",v:["400","500","600","700","800"]},{f:"Baloo Da 2",v:["400","500","600","700","800"]},{f:"Baloo Paaji 2",v:["400","500","600","700","800"]},{f:"Baloo Tamma 2",v:["400","500","600","700","800"]},{f:"Baloo Tammudu 2",v:["400","500","600","700","800"]},{f:"Baloo Thambi 2",v:["400","500","600","700","800"]},{f:"Balsamiq Sans",v:["400","400italic","700","700italic"]},{f:"Balthazar",v:["400"]},{f:"Bangers",v:["400"]},{f:"Barlow",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Barlow Condensed",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Barlow Semi Condensed",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Barriecito",v:["400"]},{f:"Barrio",v:["400"]},{f:"Basic",v:["400"]},{f:"Baskervville",v:["400","400italic"]},{f:"Battambang",v:["400","700"]},{f:"Baumans",v:["400"]},{f:"Bayon",v:["400"]},{f:"Be Vietnam",v:["100","100italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic"]},{f:"Bebas Neue",v:["400"]},{f:"Belgrano",v:["400"]},{f:"Bellefair",v:["400"]},{f:"Belleza",v:["400"]},{f:"Bellota",v:["300","300italic","400","400italic","700","700italic"]},{f:"Bellota Text",v:["300","300italic","400","400italic","700","700italic"]},{f:"BenchNine",v:["300","400","700"]},{f:"Bentham",v:["400"]},{f:"Berkshire Swash",v:["400"]},{f:"Beth Ellen",v:["400"]},{f:"Bevan",v:["400"]},{f:"Big Shoulders Display",v:["100","300","400","500","600","700","800","900"]},{f:"Big Shoulders Text",v:["100","300","400","500","600","700","800","900"]},{f:"Bigelow Rules",v:["400"]},{f:"Bigshot One",v:["400"]},{f:"Bilbo",v:["400"]},{f:"Bilbo Swash Caps",v:["400"]},{f:"BioRhyme",v:["200","300","400","700","800"]},{f:"BioRhyme Expanded",v:["200","300","400","700","800"]},{f:"Biryani",v:["200","300","400","600","700","800","900"]},{f:"Bitter",v:["400","400italic","700"]},{f:"Black And White Picture",v:["400"]},{f:"Black Han Sans",v:["400"]},{f:"Black Ops One",v:["400"]},{f:"Blinker",v:["100","200","300","400","600","700","800","900"]},{f:"Bokor",v:["400"]},{f:"Bonbon",v:["400"]},{f:"Boogaloo",v:["400"]},{f:"Bowlby One",v:["400"]},{f:"Bowlby One SC",v:["400"]},{f:"Brawler",v:["400"]},{f:"Bree Serif",v:["400"]},{f:"Bubblegum Sans",v:["400"]},{f:"Bubbler One",v:["400"]},{f:"Buda",v:["300"]},{f:"Buenard",v:["400","700"]},{f:"Bungee",v:["400"]},{f:"Bungee Hairline",v:["400"]},{f:"Bungee Inline",v:["400"]},{f:"Bungee Outline",v:["400"]},{f:"Bungee Shade",v:["400"]},{f:"Butcherman",v:["400"]},{f:"Butterfly Kids",v:["400"]},{f:"Cabin",v:["400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Cabin Condensed",v:["400","500","600","700"]},{f:"Cabin Sketch",v:["400","700"]},{f:"Caesar Dressing",v:["400"]},{f:"Cagliostro",v:["400"]},{f:"Cairo",v:["200","300","400","600","700","900"]},{f:"Caladea",v:["400","400italic","700","700italic"]},{f:"Calistoga",v:["400"]},{f:"Calligraffitti",v:["400"]},{f:"Cambay",v:["400","400italic","700","700italic"]},{f:"Cambo",v:["400"]},{f:"Candal",v:["400"]},{f:"Cantarell",v:["400","400italic","700","700italic"]},{f:"Cantata One",v:["400"]},{f:"Cantora One",v:["400"]},{f:"Capriola",v:["400"]},{f:"Cardo",v:["400","400italic","700"]},{f:"Carme",v:["400"]},{f:"Carrois Gothic",v:["400"]},{f:"Carrois Gothic SC",v:["400"]},{f:"Carter One",v:["400"]},{f:"Catamaran",v:["100","200","300","400","500","600","700","800","900"]},{f:"Caudex",v:["400","400italic","700","700italic"]},{f:"Caveat",v:["400","700"]},{f:"Caveat Brush",v:["400"]},{f:"Cedarville Cursive",v:["400"]},{f:"Ceviche One",v:["400"]},{f:"Chakra Petch",v:["300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Changa",v:["200","300","400","500","600","700","800"]},{f:"Changa One",v:["400","400italic"]},{f:"Chango",v:["400"]},{f:"Charm",v:["400","700"]},{f:"Charmonman",v:["400","700"]},{f:"Chathura",v:["100","300","400","700","800"]},{f:"Chau Philomene One",v:["400","400italic"]},{f:"Chela One",v:["400"]},{f:"Chelsea Market",v:["400"]},{f:"Chenla",v:["400"]},{f:"Cherry Cream Soda",v:["400"]},{f:"Cherry Swash",v:["400","700"]},{f:"Chewy",v:["400"]},{f:"Chicle",v:["400"]},{f:"Chilanka",v:["400"]},{f:"Chivo",v:["300","300italic","400","400italic","700","700italic","900","900italic"]},{f:"Chonburi",v:["400"]},{f:"Cinzel",v:["400","700","900"]},{f:"Cinzel Decorative",v:["400","700","900"]},{f:"Clicker Script",v:["400"]},{f:"Coda",v:["400","800"]},{f:"Coda Caption",v:["800"]},{f:"Codystar",v:["300","400"]},{f:"Coiny",v:["400"]},{f:"Combo",v:["400"]},{f:"Comfortaa",v:["300","400","500","600","700"]},{f:"Comic Neue",v:["300","300italic","400","400italic","700","700italic"]},{f:"Coming Soon",v:["400"]},{f:"Concert One",v:["400"]},{f:"Condiment",v:["400"]},{f:"Content",v:["400","700"]},{f:"Contrail One",v:["400"]},{f:"Convergence",v:["400"]},{f:"Cookie",v:["400"]},{f:"Copse",v:["400"]},{f:"Corben",v:["400","700"]},{f:"Cormorant",v:["300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Cormorant Garamond",v:["300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Cormorant Infant",v:["300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Cormorant SC",v:["300","400","500","600","700"]},{f:"Cormorant Unicase",v:["300","400","500","600","700"]},{f:"Cormorant Upright",v:["300","400","500","600","700"]},{f:"Courgette",v:["400"]},{f:"Courier Prime",v:["400","400italic","700","700italic"]},{f:"Cousine",v:["400","400italic","700","700italic"]},{f:"Coustard",v:["400","900"]},{f:"Covered By Your Grace",v:["400"]},{f:"Crafty Girls",v:["400"]},{f:"Creepster",v:["400"]},{f:"Crete Round",v:["400","400italic"]},{f:"Crimson Pro",v:["200","300","400","500","600","700","800","900","200italic","300italic","400italic","500italic","600italic","700italic","800italic","900italic"]},{f:"Crimson Text",v:["400","400italic","600","600italic","700","700italic"]},{f:"Croissant One",v:["400"]},{f:"Crushed",v:["400"]},{f:"Cuprum",v:["400","400italic","700","700italic"]},{f:"Cute Font",v:["400"]},{f:"Cutive",v:["400"]},{f:"Cutive Mono",v:["400"]},{f:"DM Mono",v:["300","300italic","400","400italic","500","500italic"]},{f:"DM Sans",v:["400","400italic","500","500italic","700","700italic"]},{f:"DM Serif Display",v:["400","400italic"]},{f:"DM Serif Text",v:["400","400italic"]},{f:"Damion",v:["400"]},{f:"Dancing Script",v:["400","500","600","700"]},{f:"Dangrek",v:["400"]},{f:"Darker Grotesque",v:["300","400","500","600","700","800","900"]},{f:"David Libre",v:["400","500","700"]},{f:"Dawning of a New Day",v:["400"]},{f:"Days One",v:["400"]},{f:"Dekko",v:["400"]},{f:"Delius",v:["400"]},{f:"Delius Swash Caps",v:["400"]},{f:"Delius Unicase",v:["400","700"]},{f:"Della Respira",v:["400"]},{f:"Denk One",v:["400"]},{f:"Devonshire",v:["400"]},{f:"Dhurjati",v:["400"]},{f:"Didact Gothic",v:["400"]},{f:"Diplomata",v:["400"]},{f:"Diplomata SC",v:["400"]},{f:"Do Hyeon",v:["400"]},{f:"Dokdo",v:["400"]},{f:"Domine",v:["400","700"]},{f:"Donegal One",v:["400"]},{f:"Doppio One",v:["400"]},{f:"Dorsa",v:["400"]},{f:"Dosis",v:["200","300","400","500","600","700","800"]},{f:"Dr Sugiyama",v:["400"]},{f:"Duru Sans",v:["400"]},{f:"Dynalight",v:["400"]},{f:"EB Garamond",v:["400","500","600","700","800","400italic","500italic","600italic","700italic","800italic"]},{f:"Eagle Lake",v:["400"]},{f:"East Sea Dokdo",v:["400"]},{f:"Eater",v:["400"]},{f:"Economica",v:["400","400italic","700","700italic"]},{f:"Eczar",v:["400","500","600","700","800"]},{f:"El Messiri",v:["400","500","600","700"]},{f:"Electrolize",v:["400"]},{f:"Elsie",v:["400","900"]},{f:"Elsie Swash Caps",v:["400","900"]},{f:"Emblema One",v:["400"]},{f:"Emilys Candy",v:["400"]},{f:"Encode Sans",v:["100","200","300","400","500","600","700","800","900"]},{f:"Encode Sans Condensed",v:["100","200","300","400","500","600","700","800","900"]},{f:"Encode Sans Expanded",v:["100","200","300","400","500","600","700","800","900"]},{f:"Encode Sans Semi Condensed",v:["100","200","300","400","500","600","700","800","900"]},{f:"Encode Sans Semi Expanded",v:["100","200","300","400","500","600","700","800","900"]},{f:"Engagement",v:["400"]},{f:"Englebert",v:["400"]},{f:"Enriqueta",v:["400","500","600","700"]},{f:"Epilogue",v:["100","200","300","400","500","600","700","800","900","100italic","200italic","300italic","400italic","500italic","600italic","700italic","800italic","900italic"]},{f:"Erica One",v:["400"]},{f:"Esteban",v:["400"]},{f:"Euphoria Script",v:["400"]},{f:"Ewert",v:["400"]},{f:"Exo",v:["100","200","300","400","500","600","700","800","900","100italic","200italic","300italic","400italic","500italic","600italic","700italic","800italic","900italic"]},{f:"Exo 2",v:["100","200","300","400","500","600","700","800","900","100italic","200italic","300italic","400italic","500italic","600italic","700italic","800italic","900italic"]},{f:"Expletus Sans",v:["400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Fahkwang",v:["200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Fanwood Text",v:["400","400italic"]},{f:"Farro",v:["300","400","500","700"]},{f:"Farsan",v:["400"]},{f:"Fascinate",v:["400"]},{f:"Fascinate Inline",v:["400"]},{f:"Faster One",v:["400"]},{f:"Fasthand",v:["400"]},{f:"Fauna One",v:["400"]},{f:"Faustina",v:["400","500","600","700","400italic","500italic","600italic","700italic"]},{f:"Federant",v:["400"]},{f:"Federo",v:["400"]},{f:"Felipa",v:["400"]},{f:"Fenix",v:["400"]},{f:"Finger Paint",v:["400"]},{f:"Fira Code",v:["300","400","500","600","700"]},{f:"Fira Mono",v:["400","500","700"]},{f:"Fira Sans",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Fira Sans Condensed",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Fira Sans Extra Condensed",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Fjalla One",v:["400"]},{f:"Fjord One",v:["400"]},{f:"Flamenco",v:["300","400"]},{f:"Flavors",v:["400"]},{f:"Fondamento",v:["400","400italic"]},{f:"Fontdiner Swanky",v:["400"]},{f:"Forum",v:["400"]},{f:"Francois One",v:["400"]},{f:"Frank Ruhl Libre",v:["300","400","500","700","900"]},{f:"Freckle Face",v:["400"]},{f:"Fredericka the Great",v:["400"]},{f:"Fredoka One",v:["400"]},{f:"Freehand",v:["400"]},{f:"Fresca",v:["400"]},{f:"Frijole",v:["400"]},{f:"Fruktur",v:["400"]},{f:"Fugaz One",v:["400"]},{f:"GFS Didot",v:["400"]},{f:"GFS Neohellenic",v:["400","400italic","700","700italic"]},{f:"Gabriela",v:["400"]},{f:"Gaegu",v:["300","400","700"]},{f:"Gafata",v:["400"]},{f:"Galada",v:["400"]},{f:"Galdeano",v:["400"]},{f:"Galindo",v:["400"]},{f:"Gamja Flower",v:["400"]},{f:"Gayathri",v:["100","400","700"]},{f:"Gelasio",v:["400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Gentium Basic",v:["400","400italic","700","700italic"]},{f:"Gentium Book Basic",v:["400","400italic","700","700italic"]},{f:"Geo",v:["400","400italic"]},{f:"Geostar",v:["400"]},{f:"Geostar Fill",v:["400"]},{f:"Germania One",v:["400"]},{f:"Gidugu",v:["400"]},{f:"Gilda Display",v:["400"]},{f:"Girassol",v:["400"]},{f:"Give You Glory",v:["400"]},{f:"Glass Antiqua",v:["400"]},{f:"Glegoo",v:["400","700"]},{f:"Gloria Hallelujah",v:["400"]},{f:"Goblin One",v:["400"]},{f:"Gochi Hand",v:["400"]},{f:"Gorditas",v:["400","700"]},{f:"Gothic A1",v:["100","200","300","400","500","600","700","800","900"]},{f:"Gotu",v:["400"]},{f:"Goudy Bookletter 1911",v:["400"]},{f:"Graduate",v:["400"]},{f:"Grand Hotel",v:["400"]},{f:"Gravitas One",v:["400"]},{f:"Great Vibes",v:["400"]},{f:"Grenze",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Grenze Gotisch",v:["100","200","300","400","500","600","700","800","900"]},{f:"Griffy",v:["400"]},{f:"Gruppo",v:["400"]},{f:"Gudea",v:["400","400italic","700"]},{f:"Gugi",v:["400"]},{f:"Gupter",v:["400","500","700"]},{f:"Gurajada",v:["400"]},{f:"Habibi",v:["400"]},{f:"Halant",v:["300","400","500","600","700"]},{f:"Hammersmith One",v:["400"]},{f:"Hanalei",v:["400"]},{f:"Hanalei Fill",v:["400"]},{f:"Handlee",v:["400"]},{f:"Hanuman",v:["400","700"]},{f:"Happy Monkey",v:["400"]},{f:"Harmattan",v:["400","700"]},{f:"Headland One",v:["400"]},{f:"Heebo",v:["100","200","300","400","500","600","700","800","900"]},{f:"Henny Penny",v:["400"]},{f:"Hepta Slab",v:["100","200","300","400","500","600","700","800","900"]},{f:"Herr Von Muellerhoff",v:["400"]},{f:"Hi Melody",v:["400"]},{f:"Hind",v:["300","400","500","600","700"]},{f:"Hind Guntur",v:["300","400","500","600","700"]},{f:"Hind Madurai",v:["300","400","500","600","700"]},{f:"Hind Siliguri",v:["300","400","500","600","700"]},{f:"Hind Vadodara",v:["300","400","500","600","700"]},{f:"Holtwood One SC",v:["400"]},{f:"Homemade Apple",v:["400"]},{f:"Homenaje",v:["400"]},{f:"IBM Plex Mono",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"IBM Plex Sans",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"IBM Plex Sans Condensed",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"IBM Plex Serif",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"IM Fell DW Pica",v:["400","400italic"]},{f:"IM Fell DW Pica SC",v:["400"]},{f:"IM Fell Double Pica",v:["400","400italic"]},{f:"IM Fell Double Pica SC",v:["400"]},{f:"IM Fell English",v:["400","400italic"]},{f:"IM Fell English SC",v:["400"]},{f:"IM Fell French Canon",v:["400","400italic"]},{f:"IM Fell French Canon SC",v:["400"]},{f:"IM Fell Great Primer",v:["400","400italic"]},{f:"IM Fell Great Primer SC",v:["400"]},{f:"Ibarra Real Nova",v:["400","400italic","600","600italic","700","700italic"]},{f:"Iceberg",v:["400"]},{f:"Iceland",v:["400"]},{f:"Imprima",v:["400"]},{f:"Inconsolata",v:["200","300","400","500","600","700","800","900"]},{f:"Inder",v:["400"]},{f:"Indie Flower",v:["400"]},{f:"Inika",v:["400","700"]},{f:"Inknut Antiqua",v:["300","400","500","600","700","800","900"]},{f:"Inria Sans",v:["300","300italic","400","400italic","700","700italic"]},{f:"Inria Serif",v:["300","300italic","400","400italic","700","700italic"]},{f:"Inter",v:["100","200","300","400","500","600","700","800","900"]},{f:"Irish Grover",v:["400"]},{f:"Istok Web",v:["400","400italic","700","700italic"]},{f:"Italiana",v:["400"]},{f:"Italianno",v:["400"]},{f:"Itim",v:["400"]},{f:"Jacques Francois",v:["400"]},{f:"Jacques Francois Shadow",v:["400"]},{f:"Jaldi",v:["400","700"]},{f:"Jim Nightshade",v:["400"]},{f:"Jockey One",v:["400"]},{f:"Jolly Lodger",v:["400"]},{f:"Jomhuria",v:["400"]},{f:"Jomolhari",v:["400"]},{f:"Josefin Sans",v:["100","200","300","400","500","600","700","100italic","200italic","300italic","400italic","500italic","600italic","700italic"]},{f:"Josefin Slab",v:["100","100italic","300","300italic","400","400italic","600","600italic","700","700italic"]},{f:"Jost",v:["100","200","300","400","500","600","700","800","900","100italic","200italic","300italic","400italic","500italic","600italic","700italic","800italic","900italic"]},{f:"Joti One",v:["400"]},{f:"Jua",v:["400"]},{f:"Judson",v:["400","400italic","700"]},{f:"Julee",v:["400"]},{f:"Julius Sans One",v:["400"]},{f:"Junge",v:["400"]},{f:"Jura",v:["300","400","500","600","700"]},{f:"Just Another Hand",v:["400"]},{f:"Just Me Again Down Here",v:["400"]},{f:"K2D",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic"]},{f:"Kadwa",v:["400","700"]},{f:"Kalam",v:["300","400","700"]},{f:"Kameron",v:["400","700"]},{f:"Kanit",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Kantumruy",v:["300","400","700"]},{f:"Karla",v:["400","400italic","700","700italic"]},{f:"Karma",v:["300","400","500","600","700"]},{f:"Katibeh",v:["400"]},{f:"Kaushan Script",v:["400"]},{f:"Kavivanar",v:["400"]},{f:"Kavoon",v:["400"]},{f:"Kdam Thmor",v:["400"]},{f:"Keania One",v:["400"]},{f:"Kelly Slab",v:["400"]},{f:"Kenia",v:["400"]},{f:"Khand",v:["300","400","500","600","700"]},{f:"Khmer",v:["400"]},{f:"Khula",v:["300","400","600","700","800"]},{f:"Kirang Haerang",v:["400"]},{f:"Kite One",v:["400"]},{f:"Knewave",v:["400"]},{f:"KoHo",v:["200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Kodchasan",v:["200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Kosugi",v:["400"]},{f:"Kosugi Maru",v:["400"]},{f:"Kotta One",v:["400"]},{f:"Koulen",v:["400"]},{f:"Kranky",v:["400"]},{f:"Kreon",v:["300","400","500","600","700"]},{f:"Kristi",v:["400"]},{f:"Krona One",v:["400"]},{f:"Krub",v:["200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Kulim Park",v:["200","200italic","300","300italic","400","400italic","600","600italic","700","700italic"]},{f:"Kumar One",v:["400"]},{f:"Kumar One Outline",v:["400"]},{f:"Kurale",v:["400"]},{f:"La Belle Aurore",v:["400"]},{f:"Lacquer",v:["400"]},{f:"Laila",v:["300","400","500","600","700"]},{f:"Lakki Reddy",v:["400"]},{f:"Lalezar",v:["400"]},{f:"Lancelot",v:["400"]},{f:"Lateef",v:["400"]},{f:"Lato",v:["100","100italic","300","300italic","400","400italic","700","700italic","900","900italic"]},{f:"League Script",v:["400"]},{f:"Leckerli One",v:["400"]},{f:"Ledger",v:["400"]},{f:"Lekton",v:["400","400italic","700"]},{f:"Lemon",v:["400"]},{f:"Lemonada",v:["300","400","500","600","700"]},{f:"Lexend Deca",v:["400"]},{f:"Lexend Exa",v:["400"]},{f:"Lexend Giga",v:["400"]},{f:"Lexend Mega",v:["400"]},{f:"Lexend Peta",v:["400"]},{f:"Lexend Tera",v:["400"]},{f:"Lexend Zetta",v:["400"]},{f:"Libre Barcode 128",v:["400"]},{f:"Libre Barcode 128 Text",v:["400"]},{f:"Libre Barcode 39",v:["400"]},{f:"Libre Barcode 39 Extended",v:["400"]},{f:"Libre Barcode 39 Extended Text",v:["400"]},{f:"Libre Barcode 39 Text",v:["400"]},{f:"Libre Baskerville",v:["400","400italic","700"]},{f:"Libre Caslon Display",v:["400"]},{f:"Libre Caslon Text",v:["400","400italic","700"]},{f:"Libre Franklin",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Life Savers",v:["400","700","800"]},{f:"Lilita One",v:["400"]},{f:"Lily Script One",v:["400"]},{f:"Limelight",v:["400"]},{f:"Linden Hill",v:["400","400italic"]},{f:"Literata",v:["400","500","600","700","400italic","500italic","600italic","700italic"]},{f:"Liu Jian Mao Cao",v:["400"]},{f:"Livvic",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","900","900italic"]},{f:"Lobster",v:["400"]},{f:"Lobster Two",v:["400","400italic","700","700italic"]},{f:"Londrina Outline",v:["400"]},{f:"Londrina Shadow",v:["400"]},{f:"Londrina Sketch",v:["400"]},{f:"Londrina Solid",v:["100","300","400","900"]},{f:"Long Cang",v:["400"]},{f:"Lora",v:["400","500","600","700","400italic","500italic","600italic","700italic"]},{f:"Love Ya Like A Sister",v:["400"]},{f:"Loved by the King",v:["400"]},{f:"Lovers Quarrel",v:["400"]},{f:"Luckiest Guy",v:["400"]},{f:"Lusitana",v:["400","700"]},{f:"Lustria",v:["400"]},{f:"M PLUS 1p",v:["100","300","400","500","700","800","900"]},{f:"M PLUS Rounded 1c",v:["100","300","400","500","700","800","900"]},{f:"Ma Shan Zheng",v:["400"]},{f:"Macondo",v:["400"]},{f:"Macondo Swash Caps",v:["400"]},{f:"Mada",v:["200","300","400","500","600","700","900"]},{f:"Magra",v:["400","700"]},{f:"Maiden Orange",v:["400"]},{f:"Maitree",v:["200","300","400","500","600","700"]},{f:"Major Mono Display",v:["400"]},{f:"Mako",v:["400"]},{f:"Mali",v:["200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Mallanna",v:["400"]},{f:"Mandali",v:["400"]},{f:"Manjari",v:["100","400","700"]},{f:"Manrope",v:["200","300","400","500","600","700","800"]},{f:"Mansalva",v:["400"]},{f:"Manuale",v:["400","500","600","700","400italic","500italic","600italic","700italic"]},{f:"Marcellus",v:["400"]},{f:"Marcellus SC",v:["400"]},{f:"Marck Script",v:["400"]},{f:"Margarine",v:["400"]},{f:"Markazi Text",v:["400","500","600","700"]},{f:"Marko One",v:["400"]},{f:"Marmelad",v:["400"]},{f:"Martel",v:["200","300","400","600","700","800","900"]},{f:"Martel Sans",v:["200","300","400","600","700","800","900"]},{f:"Marvel",v:["400","400italic","700","700italic"]},{f:"Mate",v:["400","400italic"]},{f:"Mate SC",v:["400"]},{f:"Maven Pro",v:["400","500","600","700","800","900"]},{f:"McLaren",v:["400"]},{f:"Meddon",v:["400"]},{f:"MedievalSharp",v:["400"]},{f:"Medula One",v:["400"]},{f:"Meera Inimai",v:["400"]},{f:"Megrim",v:["400"]},{f:"Meie Script",v:["400"]},{f:"Merienda",v:["400","700"]},{f:"Merienda One",v:["400"]},{f:"Merriweather",v:["300","300italic","400","400italic","700","700italic","900","900italic"]},{f:"Merriweather Sans",v:["300","300italic","400","400italic","700","700italic","800","800italic"]},{f:"Metal",v:["400"]},{f:"Metal Mania",v:["400"]},{f:"Metamorphous",v:["400"]},{f:"Metrophobic",v:["400"]},{f:"Michroma",v:["400"]},{f:"Milonga",v:["400"]},{f:"Miltonian",v:["400"]},{f:"Miltonian Tattoo",v:["400"]},{f:"Mina",v:["400","700"]},{f:"Miniver",v:["400"]},{f:"Miriam Libre",v:["400","700"]},{f:"Mirza",v:["400","500","600","700"]},{f:"Miss Fajardose",v:["400"]},{f:"Mitr",v:["200","300","400","500","600","700"]},{f:"Modak",v:["400"]},{f:"Modern Antiqua",v:["400"]},{f:"Mogra",v:["400"]},{f:"Molengo",v:["400"]},{f:"Molle",v:["400italic"]},{f:"Monda",v:["400","700"]},{f:"Monofett",v:["400"]},{f:"Monoton",v:["400"]},{f:"Monsieur La Doulaise",v:["400"]},{f:"Montaga",v:["400"]},{f:"Montez",v:["400"]},{f:"Montserrat",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Montserrat Alternates",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Montserrat Subrayada",v:["400","700"]},{f:"Moul",v:["400"]},{f:"Moulpali",v:["400"]},{f:"Mountains of Christmas",v:["400","700"]},{f:"Mouse Memoirs",v:["400"]},{f:"Mr Bedfort",v:["400"]},{f:"Mr Dafoe",v:["400"]},{f:"Mr De Haviland",v:["400"]},{f:"Mrs Saint Delafield",v:["400"]},{f:"Mrs Sheppards",v:["400"]},{f:"Mukta",v:["200","300","400","500","600","700","800"]},{f:"Mukta Mahee",v:["200","300","400","500","600","700","800"]},{f:"Mukta Malar",v:["200","300","400","500","600","700","800"]},{f:"Mukta Vaani",v:["200","300","400","500","600","700","800"]},{f:"Mulish",v:["200","300","400","500","600","700","800","900","200italic","300italic","400italic","500italic","600italic","700italic","800italic","900italic"]},{f:"MuseoModerno",v:["100","200","300","400","500","600","700","800","900"]},{f:"Mystery Quest",v:["400"]},{f:"NTR",v:["400"]},{f:"Nanum Brush Script",v:["400"]},{f:"Nanum Gothic",v:["400","700","800"]},{f:"Nanum Gothic Coding",v:["400","700"]},{f:"Nanum Myeongjo",v:["400","700","800"]},{f:"Nanum Pen Script",v:["400"]},{f:"Neucha",v:["400"]},{f:"Neuton",v:["200","300","400","400italic","700","800"]},{f:"New Rocker",v:["400"]},{f:"News Cycle",v:["400","700"]},{f:"Niconne",v:["400"]},{f:"Niramit",v:["200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Nixie One",v:["400"]},{f:"Nobile",v:["400","400italic","500","500italic","700","700italic"]},{f:"Nokora",v:["400","700"]},{f:"Norican",v:["400"]},{f:"Nosifer",v:["400"]},{f:"Notable",v:["400"]},{f:"Nothing You Could Do",v:["400"]},{f:"Noticia Text",v:["400","400italic","700","700italic"]},{f:"Noto Sans",v:["400","400italic","700","700italic"]},{f:"Noto Sans HK",v:["100","300","400","500","700","900"]},{f:"Noto Sans JP",v:["100","300","400","500","700","900"]},{f:"Noto Sans KR",v:["100","300","400","500","700","900"]},{f:"Noto Sans SC",v:["100","300","400","500","700","900"]},{f:"Noto Sans TC",v:["100","300","400","500","700","900"]},{f:"Noto Serif",v:["400","400italic","700","700italic"]},{f:"Noto Serif JP",v:["200","300","400","500","600","700","900"]},{f:"Noto Serif KR",v:["200","300","400","500","600","700","900"]},{f:"Noto Serif SC",v:["200","300","400","500","600","700","900"]},{f:"Noto Serif TC",v:["200","300","400","500","600","700","900"]},{f:"Nova Cut",v:["400"]},{f:"Nova Flat",v:["400"]},{f:"Nova Mono",v:["400"]},{f:"Nova Oval",v:["400"]},{f:"Nova Round",v:["400"]},{f:"Nova Script",v:["400"]},{f:"Nova Slim",v:["400"]},{f:"Nova Square",v:["400"]},{f:"Numans",v:["400"]},{f:"Nunito",v:["200","200italic","300","300italic","400","400italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Nunito Sans",v:["200","200italic","300","300italic","400","400italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Odibee Sans",v:["400"]},{f:"Odor Mean Chey",v:["400"]},{f:"Offside",v:["400"]},{f:"Old Standard TT",v:["400","400italic","700"]},{f:"Oldenburg",v:["400"]},{f:"Oleo Script",v:["400","700"]},{f:"Oleo Script Swash Caps",v:["400","700"]},{f:"Open Sans",v:["300","300italic","400","400italic","600","600italic","700","700italic","800","800italic"]},{f:"Open Sans Condensed",v:["300","300italic","700"]},{f:"Oranienbaum",v:["400"]},{f:"Orbitron",v:["400","500","600","700","800","900"]},{f:"Oregano",v:["400","400italic"]},{f:"Orienta",v:["400"]},{f:"Original Surfer",v:["400"]},{f:"Oswald",v:["200","300","400","500","600","700"]},{f:"Over the Rainbow",v:["400"]},{f:"Overlock",v:["400","400italic","700","700italic","900","900italic"]},{f:"Overlock SC",v:["400"]},{f:"Overpass",v:["100","100italic","200","200italic","300","300italic","400","400italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Overpass Mono",v:["300","400","600","700"]},{f:"Ovo",v:["400"]},{f:"Oxanium",v:["200","300","400","500","600","700","800"]},{f:"Oxygen",v:["300","400","700"]},{f:"Oxygen Mono",v:["400"]},{f:"PT Mono",v:["400"]},{f:"PT Sans",v:["400","400italic","700","700italic"]},{f:"PT Sans Caption",v:["400","700"]},{f:"PT Sans Narrow",v:["400","700"]},{f:"PT Serif",v:["400","400italic","700","700italic"]},{f:"PT Serif Caption",v:["400","400italic"]},{f:"Pacifico",v:["400"]},{f:"Padauk",v:["400","700"]},{f:"Palanquin",v:["100","200","300","400","500","600","700"]},{f:"Palanquin Dark",v:["400","500","600","700"]},{f:"Pangolin",v:["400"]},{f:"Paprika",v:["400"]},{f:"Parisienne",v:["400"]},{f:"Passero One",v:["400"]},{f:"Passion One",v:["400","700","900"]},{f:"Pathway Gothic One",v:["400"]},{f:"Patrick Hand",v:["400"]},{f:"Patrick Hand SC",v:["400"]},{f:"Pattaya",v:["400"]},{f:"Patua One",v:["400"]},{f:"Pavanam",v:["400"]},{f:"Paytone One",v:["400"]},{f:"Peddana",v:["400"]},{f:"Peralta",v:["400"]},{f:"Permanent Marker",v:["400"]},{f:"Petit Formal Script",v:["400"]},{f:"Petrona",v:["400"]},{f:"Philosopher",v:["400","400italic","700","700italic"]},{f:"Piedra",v:["400"]},{f:"Pinyon Script",v:["400"]},{f:"Pirata One",v:["400"]},{f:"Plaster",v:["400"]},{f:"Play",v:["400","700"]},{f:"Playball",v:["400"]},{f:"Playfair Display",v:["400","500","600","700","800","900","400italic","500italic","600italic","700italic","800italic","900italic"]},{f:"Playfair Display SC",v:["400","400italic","700","700italic","900","900italic"]},{f:"Podkova",v:["400","500","600","700","800"]},{f:"Poiret One",v:["400"]},{f:"Poller One",v:["400"]},{f:"Poly",v:["400","400italic"]},{f:"Pompiere",v:["400"]},{f:"Pontano Sans",v:["400"]},{f:"Poor Story",v:["400"]},{f:"Poppins",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Port Lligat Sans",v:["400"]},{f:"Port Lligat Slab",v:["400"]},{f:"Pragati Narrow",v:["400","700"]},{f:"Prata",v:["400"]},{f:"Preahvihear",v:["400"]},{f:"Press Start 2P",v:["400"]},{f:"Pridi",v:["200","300","400","500","600","700"]},{f:"Princess Sofia",v:["400"]},{f:"Prociono",v:["400"]},{f:"Prompt",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Prosto One",v:["400"]},{f:"Proza Libre",v:["400","400italic","500","500italic","600","600italic","700","700italic","800","800italic"]},{f:"Public Sans",v:["100","200","300","400","500","600","700","800","900","100italic","200italic","300italic","400italic","500italic","600italic","700italic","800italic","900italic"]},{f:"Puritan",v:["400","400italic","700","700italic"]},{f:"Purple Purse",v:["400"]},{f:"Quando",v:["400"]},{f:"Quantico",v:["400","400italic","700","700italic"]},{f:"Quattrocento",v:["400","700"]},{f:"Quattrocento Sans",v:["400","400italic","700","700italic"]},{f:"Questrial",v:["400"]},{f:"Quicksand",v:["300","400","500","600","700"]},{f:"Quintessential",v:["400"]},{f:"Qwigley",v:["400"]},{f:"Racing Sans One",v:["400"]},{f:"Radley",v:["400","400italic"]},{f:"Rajdhani",v:["300","400","500","600","700"]},{f:"Rakkas",v:["400"]},{f:"Raleway",v:["100","200","300","400","500","600","700","800","900","100italic","200italic","300italic","400italic","500italic","600italic","700italic","800italic","900italic"]},{f:"Raleway Dots",v:["400"]},{f:"Ramabhadra",v:["400"]},{f:"Ramaraja",v:["400"]},{f:"Rambla",v:["400","400italic","700","700italic"]},{f:"Rammetto One",v:["400"]},{f:"Ranchers",v:["400"]},{f:"Rancho",v:["400"]},{f:"Ranga",v:["400","700"]},{f:"Rasa",v:["300","400","500","600","700"]},{f:"Rationale",v:["400"]},{f:"Ravi Prakash",v:["400"]},{f:"Recursive",v:["300","400","500","600","700","800","900"]},{f:"Red Hat Display",v:["400","400italic","500","500italic","700","700italic","900","900italic"]},{f:"Red Hat Text",v:["400","400italic","500","500italic","700","700italic"]},{f:"Red Rose",v:["300","400","700"]},{f:"Redressed",v:["400"]},{f:"Reem Kufi",v:["400"]},{f:"Reenie Beanie",v:["400"]},{f:"Revalia",v:["400"]},{f:"Rhodium Libre",v:["400"]},{f:"Ribeye",v:["400"]},{f:"Ribeye Marrow",v:["400"]},{f:"Righteous",v:["400"]},{f:"Risque",v:["400"]},{f:"Roboto",v:["100","100italic","300","300italic","400","400italic","500","500italic","700","700italic","900","900italic"]},{f:"Roboto Condensed",v:["300","300italic","400","400italic","700","700italic"]},{f:"Roboto Mono",v:["100","200","300","400","500","600","700","100italic","200italic","300italic","400italic","500italic","600italic","700italic"]},{f:"Roboto Slab",v:["100","200","300","400","500","600","700","800","900"]},{f:"Rochester",v:["400"]},{f:"Rock Salt",v:["400"]},{f:"Rokkitt",v:["100","200","300","400","500","600","700","800","900"]},{f:"Romanesco",v:["400"]},{f:"Ropa Sans",v:["400","400italic"]},{f:"Rosario",v:["300","400","500","600","700","300italic","400italic","500italic","600italic","700italic"]},{f:"Rosarivo",v:["400","400italic"]},{f:"Rouge Script",v:["400"]},{f:"Rowdies",v:["300","400","700"]},{f:"Rozha One",v:["400"]},{f:"Rubik",v:["300","300italic","400","400italic","500","500italic","700","700italic","900","900italic"]},{f:"Rubik Mono One",v:["400"]},{f:"Ruda",v:["400","500","600","700","800","900"]},{f:"Rufina",v:["400","700"]},{f:"Ruge Boogie",v:["400"]},{f:"Ruluko",v:["400"]},{f:"Rum Raisin",v:["400"]},{f:"Ruslan Display",v:["400"]},{f:"Russo One",v:["400"]},{f:"Ruthie",v:["400"]},{f:"Rye",v:["400"]},{f:"Sacramento",v:["400"]},{f:"Sahitya",v:["400","700"]},{f:"Sail",v:["400"]},{f:"Saira",v:["100","200","300","400","500","600","700","800","900"]},{f:"Saira Condensed",v:["100","200","300","400","500","600","700","800","900"]},{f:"Saira Extra Condensed",v:["100","200","300","400","500","600","700","800","900"]},{f:"Saira Semi Condensed",v:["100","200","300","400","500","600","700","800","900"]},{f:"Saira Stencil One",v:["400"]},{f:"Salsa",v:["400"]},{f:"Sanchez",v:["400","400italic"]},{f:"Sancreek",v:["400"]},{f:"Sansita",v:["400","400italic","700","700italic","800","800italic","900","900italic"]},{f:"Sarabun",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic"]},{f:"Sarala",v:["400","700"]},{f:"Sarina",v:["400"]},{f:"Sarpanch",v:["400","500","600","700","800","900"]},{f:"Satisfy",v:["400"]},{f:"Sawarabi Gothic",v:["400"]},{f:"Sawarabi Mincho",v:["400"]},{f:"Scada",v:["400","400italic","700","700italic"]},{f:"Scheherazade",v:["400","700"]},{f:"Schoolbell",v:["400"]},{f:"Scope One",v:["400"]},{f:"Seaweed Script",v:["400"]},{f:"Secular One",v:["400"]},{f:"Sedgwick Ave",v:["400"]},{f:"Sedgwick Ave Display",v:["400"]},{f:"Sen",v:["400","700","800"]},{f:"Sevillana",v:["400"]},{f:"Seymour One",v:["400"]},{f:"Shadows Into Light",v:["400"]},{f:"Shadows Into Light Two",v:["400"]},{f:"Shanti",v:["400"]},{f:"Share",v:["400","400italic","700","700italic"]},{f:"Share Tech",v:["400"]},{f:"Share Tech Mono",v:["400"]},{f:"Shojumaru",v:["400"]},{f:"Short Stack",v:["400"]},{f:"Shrikhand",v:["400"]},{f:"Siemreap",v:["400"]},{f:"Sigmar One",v:["400"]},{f:"Signika",v:["300","400","500","600","700"]},{f:"Signika Negative",v:["300","400","600","700"]},{f:"Simonetta",v:["400","400italic","900","900italic"]},{f:"Single Day",v:["400"]},{f:"Sintony",v:["400","700"]},{f:"Sirin Stencil",v:["400"]},{f:"Six Caps",v:["400"]},{f:"Skranji",v:["400","700"]},{f:"Slabo 13px",v:["400"]},{f:"Slabo 27px",v:["400"]},{f:"Slackey",v:["400"]},{f:"Smokum",v:["400"]},{f:"Smythe",v:["400"]},{f:"Sniglet",v:["400","800"]},{f:"Snippet",v:["400"]},{f:"Snowburst One",v:["400"]},{f:"Sofadi One",v:["400"]},{f:"Sofia",v:["400"]},{f:"Solway",v:["300","400","500","700","800"]},{f:"Song Myung",v:["400"]},{f:"Sonsie One",v:["400"]},{f:"Sora",v:["100","200","300","400","500","600","700","800"]},{f:"Sorts Mill Goudy",v:["400","400italic"]},{f:"Source Code Pro",v:["200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","900","900italic"]},{f:"Source Sans Pro",v:["200","200italic","300","300italic","400","400italic","600","600italic","700","700italic","900","900italic"]},{f:"Source Serif Pro",v:["200","200italic","300","300italic","400","400italic","600","600italic","700","700italic","900","900italic"]},{f:"Space Mono",v:["400","400italic","700","700italic"]},{f:"Spartan",v:["100","200","300","400","500","600","700","800","900"]},{f:"Special Elite",v:["400"]},{f:"Spectral",v:["200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic"]},{f:"Spectral SC",v:["200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic"]},{f:"Spicy Rice",v:["400"]},{f:"Spinnaker",v:["400"]},{f:"Spirax",v:["400"]},{f:"Squada One",v:["400"]},{f:"Sree Krushnadevaraya",v:["400"]},{f:"Sriracha",v:["400"]},{f:"Srisakdi",v:["400","700"]},{f:"Staatliches",v:["400"]},{f:"Stalemate",v:["400"]},{f:"Stalinist One",v:["400"]},{f:"Stardos Stencil",v:["400","700"]},{f:"Stint Ultra Condensed",v:["400"]},{f:"Stint Ultra Expanded",v:["400"]},{f:"Stoke",v:["300","400"]},{f:"Strait",v:["400"]},{f:"Stylish",v:["400"]},{f:"Sue Ellen Francisco",v:["400"]},{f:"Suez One",v:["400"]},{f:"Sulphur Point",v:["300","400","700"]},{f:"Sumana",v:["400","700"]},{f:"Sunflower",v:["300","500","700"]},{f:"Sunshiney",v:["400"]},{f:"Supermercado One",v:["400"]},{f:"Sura",v:["400","700"]},{f:"Suranna",v:["400"]},{f:"Suravaram",v:["400"]},{f:"Suwannaphum",v:["400"]},{f:"Swanky and Moo Moo",v:["400"]},{f:"Syncopate",v:["400","700"]},{f:"Tajawal",v:["200","300","400","500","700","800","900"]},{f:"Tangerine",v:["400","700"]},{f:"Taprom",v:["400"]},{f:"Tauri",v:["400"]},{f:"Taviraj",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Teko",v:["300","400","500","600","700"]},{f:"Telex",v:["400"]},{f:"Tenali Ramakrishna",v:["400"]},{f:"Tenor Sans",v:["400"]},{f:"Text Me One",v:["400"]},{f:"Thasadith",v:["400","400italic","700","700italic"]},{f:"The Girl Next Door",v:["400"]},{f:"Tienne",v:["400","700","900"]},{f:"Tillana",v:["400","500","600","700","800"]},{f:"Timmana",v:["400"]},{f:"Tinos",v:["400","400italic","700","700italic"]},{f:"Titan One",v:["400"]},{f:"Titillium Web",v:["200","200italic","300","300italic","400","400italic","600","600italic","700","700italic","900"]},{f:"Tomorrow",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Trade Winds",v:["400"]},{f:"Trirong",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Trocchi",v:["400"]},{f:"Trochut",v:["400","400italic","700"]},{f:"Trykker",v:["400"]},{f:"Tulpen One",v:["400"]},{f:"Turret Road",v:["200","300","400","500","700","800"]},{f:"Ubuntu",v:["300","300italic","400","400italic","500","500italic","700","700italic"]},{f:"Ubuntu Condensed",v:["400"]},{f:"Ubuntu Mono",v:["400","400italic","700","700italic"]},{f:"Ultra",v:["400"]},{f:"Uncial Antiqua",v:["400"]},{f:"Underdog",v:["400"]},{f:"Unica One",v:["400"]},{f:"UnifrakturCook",v:["700"]},{f:"UnifrakturMaguntia",v:["400"]},{f:"Unkempt",v:["400","700"]},{f:"Unlock",v:["400"]},{f:"Unna",v:["400","400italic","700","700italic"]},{f:"VT323",v:["400"]},{f:"Vampiro One",v:["400"]},{f:"Varela",v:["400"]},{f:"Varela Round",v:["400"]},{f:"Varta",v:["300","400","500","600","700"]},{f:"Vast Shadow",v:["400"]},{f:"Vesper Libre",v:["400","500","700","900"]},{f:"Viaoda Libre",v:["400"]},{f:"Vibes",v:["400"]},{f:"Vibur",v:["400"]},{f:"Vidaloka",v:["400"]},{f:"Viga",v:["400"]},{f:"Voces",v:["400"]},{f:"Volkhov",v:["400","400italic","700","700italic"]},{f:"Vollkorn",v:["400","500","600","700","800","900","400italic","500italic","600italic","700italic","800italic","900italic"]},{f:"Vollkorn SC",v:["400","600","700","900"]},{f:"Voltaire",v:["400"]},{f:"Waiting for the Sunrise",v:["400"]},{f:"Wallpoet",v:["400"]},{f:"Walter Turncoat",v:["400"]},{f:"Warnes",v:["400"]},{f:"Wellfleet",v:["400"]},{f:"Wendy One",v:["400"]},{f:"Wire One",v:["400"]},{f:"Work Sans",v:["100","200","300","400","500","600","700","800","900","100italic","200italic","300italic","400italic","500italic","600italic","700italic","800italic","900italic"]},{f:"Yanone Kaffeesatz",v:["200","300","400","500","600","700"]},{f:"Yantramanav",v:["100","300","400","500","700","900"]},{f:"Yatra One",v:["400"]},{f:"Yellowtail",v:["400"]},{f:"Yeon Sung",v:["400"]},{f:"Yeseva One",v:["400"]},{f:"Yesteryear",v:["400"]},{f:"Yrsa",v:["300","400","500","600","700"]},{f:"ZCOOL KuaiLe",v:["400"]},{f:"ZCOOL QingKe HuangYou",v:["400"]},{f:"ZCOOL XiaoWei",v:["400"]},{f:"Zeyada",v:["400"]},{f:"Zhi Mang Xing",v:["400"]},{f:"Zilla Slab",v:["300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Zilla Slab Highlight",v:["400","700"]}]}},function(i,a){i.exports={kind:"webfonts#webfontList",items:[{id:"arial",label:"Arial",stack:"Arial, Helvetica Neue, Helvetica, sans-serif"},{id:"calibri",label:"Calibri",stack:"Calibri, Candara, Segoe, Segoe UI, Optima, Arial, sans-serif;"},{id:"consolas",label:"Consolas",stack:"Consolas, monaco, monospace"},{id:"courier-new",label:"Courier New",stack:"Courier New, Courier, Lucida Sans Typewriter, Lucida Typewriter, monospace"},{id:"helvetica",label:"Helvetica Neue",stack:"Helvetica Neue, Helvetica, Arial, sans-serif"},{id:"georgia",label:"Georgia",stack:"Georgia, Times, Times New Roman, serif"},{id:"futura",label:"Futura",stack:"Futura, Trebuchet MS, Arial, sans-serif"},{id:"lucida-grande",label:"Lucida Grande",stack:"Lucida Grande, Lucida Sans Unicode, Lucida Sans, Geneva, Verdana, sans-serif"},{id:"tahoma",label:"Tahoma",stack:"Tahoma, Verdana, Segoe, sans-serif"},{id:"times-new-roman",label:"Times New Roman",stack:"TimesNewRoman, Times New Roman, Times, Baskerville, Georgia, serif"},{id:"trebuchet",label:"Trebuchet MS",stack:"Trebuchet MS, Lucida Grande, Lucida Sans Unicode, Lucida Sans, Tahoma, sans-serif"},{id:"palatino",label:"Palatino",stack:"Palatino, Palatino Linotype, Palatino LT STD, Book Antiqua, Georgia, serif"},{id:"verdana",label:"Verdana",stack:"Verdana, Geneva, sans-serif;"}]}},function(i,a,t){"use strict";var l=wp.blocks.createBlock,e={from:[{type:"block",blocks:["core/paragraph"],transform:function(i){var a=i.content;return l("olympus-google-fonts/google-fonts",{content:a})}},{type:"block",blocks:["core/heading"],transform:function(i){var a=i.content,t=i.level;return l("olympus-google-fonts/google-fonts",{content:a,blockType:"h"+t})}}],to:[{type:"block",blocks:["core/paragraph"],transform:function(i){var a=i.content;return l("core/paragraph",{content:a})}}]};a.a=e}]);
|
1 |
+
!function(i){function a(e){if(t[e])return t[e].exports;var l=t[e]={i:e,l:!1,exports:{}};return i[e].call(l.exports,l,l.exports,a),l.l=!0,l.exports}var t={};a.m=i,a.c=t,a.d=function(i,t,e){a.o(i,t)||Object.defineProperty(i,t,{configurable:!1,enumerable:!0,get:e})},a.n=function(i){var t=i&&i.__esModule?function(){return i.default}:function(){return i};return a.d(t,"a",t),t},a.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},a.p="",a(a.s=0)}([function(i,a,t){"use strict";Object.defineProperty(a,"__esModule",{value:!0});t(1)},function(i,a,t){"use strict";var e=t(2),l=t(5),__=wp.i18n.__;(0,wp.blocks.registerBlockType)("olympus-google-fonts/google-fonts",{title:__("Google Fonts","olympus-google-fonts"),category:"common",icon:wp.element.createElement("svg",{baseProfile:"tiny",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},wp.element.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}),wp.element.createElement("path",{d:"M9.93 13.5h4.14L12 7.98zM20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-4.05 16.5l-1.14-3H9.17l-1.12 3H5.96l5.11-13h1.86l5.11 13h-2.09z"})),keywords:[__("Fonts","olympus-google-fonts"),__("Heading","olympus-google-fonts")],transforms:l.a,edit:e.a,save:function(){return null}})},function(i,a,t){"use strict";function e(i,a){if(!(i instanceof a))throw new TypeError("Cannot call a class as a function")}function l(i,a){if(!i)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!==typeof a&&"function"!==typeof a?i:a}function f(i,a){if("function"!==typeof a&&null!==a)throw new TypeError("Super expression must either be null or a function, not "+typeof a);i.prototype=Object.create(a&&a.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),a&&(Object.setPrototypeOf?Object.setPrototypeOf(i,a):i.__proto__=a)}var c=t(3),v=t.n(c),n=t(4),o=t.n(n),r="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(i){return typeof i}:function(i){return i&&"function"===typeof Symbol&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},s=function(){function i(i,a){for(var t=0;t<a.length;t++){var e=a[t];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(i,e.key,e)}}return function(a,t,e){return t&&i(a.prototype,t),e&&i(a,e),a}}(),__=wp.i18n.__,u=wp.element,d=u.Component,m=u.Fragment,S=wp.components,h=S.SelectControl,p=S.RangeControl,g=S.PanelBody,b=wp.editor,y=b.RichText,C=b.InspectorControls,k=b.BlockControls,M=b.AlignmentToolbar,O=b.PanelColorSettings,w=function(i){function a(){return e(this,a),l(this,(a.__proto__||Object.getPrototypeOf(a)).apply(this,arguments))}return f(a,i),s(a,[{key:"componentDidUpdate",value:function(i){this.props.attributes.fontID!==i.attributes.fontID&&(this.props.attributes.v="0")}},{key:"getFontsForSelect",value:function(){var i=o.a.items.map(function(i){var a=i.label;return{value:i.id,label:a}}),a=v.a.items.map(function(i){var a=i.f;return{value:a.replace(/\s+/g,"+"),label:a}}),t=i.concat(a),e=Object.values(ogf_custom_fonts).map(function(i){return{value:i.id,label:i.label}});return t.concat(e)}},{key:"searchFonts",value:function(i,a){for(var t=0;t<a.length;t++)if(a[t].id===i)return a[t]}},{key:"isCustomFont",value:function(i){var a=this.searchFonts(i,Object.values(ogf_custom_fonts));return"object"===("undefined"===typeof a?"undefined":r(a))}},{key:"isSystemFont",value:function(i){var a=this.searchFonts(i,o.a.items);return"object"===("undefined"===typeof a?"undefined":r(a))}},{key:"isItalic",value:function(i){return!i.includes("0i")}},{key:"getVariantsForSelect",value:function(i){if(i){var a={0:__("- Default -","olympus-google-fonts"),100:__("Thin","olympus-google-fonts"),200:__("Extra Light","olympus-google-fonts"),300:__("Light","olympus-google-fonts"),400:__("Normal","olympus-google-fonts"),500:__("Medium","olympus-google-fonts"),600:__("Semi Bold","olympus-google-fonts"),700:__("Bold","olympus-google-fonts"),800:__("Extra Bold","olympus-google-fonts"),900:__("Ultra Bold","olympus-google-fonts")};return-1===i.v.indexOf("0")?i.v.unshift("0"):console.log("This item already exists"),i.v.filter(this.isItalic).map(function(i){return{value:i,label:a[i]}})}}},{key:"getFontObject",value:function(i){if(i)for(var a=0;a<v.a.items.length;a++)if(v.a.items[a].f===i)return v.a.items[a]}},{key:"addGoogleFontToHead",value:function(i,a){if(i&&a){var t=document.head,e=document.createElement("link");e.type="text/css",e.rel="stylesheet",e.href="https://fonts.googleapis.com/css?family="+i.replace(/\s+/g,"+")+":"+a.v.join(","),t.appendChild(e)}}},{key:"render",value:function(){var i=this.props,a=i.attributes,t=i.setAttributes,e=a.fontID,l=a.content,f=a.align,c=a.variant,v=a.fontSize,n=a.lineHeight,o=a.color,r=a.blockType,s=this.getFontsForSelect();s.unshift({label:"- Default -",value:"0"});var u=[{value:"0",label:"- Default -"},{value:"400",label:"Regular"},{value:"700",label:"Bold"}];if(!this.isSystemFont(e)&&!this.isCustomFont(e)){var d=this.getFontObject(e.replace(/\+/g," "));u=this.getVariantsForSelect(d),this.addGoogleFontToHead(e,d)}var S=wp.element.createElement(C,null,wp.element.createElement(g,{title:__("Font Settings","olympus-google-fonts")},wp.element.createElement(h,{label:__("Block Type","olympus-google-fonts"),type:"string",value:r,options:[{label:"Paragraph",value:"p"},{label:"H1",value:"h1"},{label:"H2",value:"h2"},{label:"H3",value:"h3"},{label:"H4",value:"h4"},{label:"H5",value:"h5"},{label:"H6",value:"h6"},{label:"Span",value:"span"}],onChange:function(i){return t({blockType:i})}}),wp.element.createElement(h,{label:__("Font","olympus-google-fonts"),type:"string",value:e,options:s,onChange:function(i){return t({fontID:i})}}),wp.element.createElement(h,{label:__("Font Variant","olympus-google-fonts"),type:"string",value:c,options:u,onChange:function(i){return t({variant:i})}}),wp.element.createElement(p,{label:__("Font Size","olympus-google-fonts"),value:v,onChange:function(i){return t({fontSize:i})},allowReset:!0,min:"10",max:"50"}),wp.element.createElement(p,{label:__("Line Height","olympus-google-fonts"),value:n,onChange:function(i){return t({lineHeight:i})},allowReset:!0,min:"1",max:"3",step:"0.1"}),wp.element.createElement(O,{title:__("Color Settings","olympus-google-fonts"),colorSettings:[{value:a.color,onChange:function(i){return t({color:i})},label:__("Text Color","olympus-google-fonts")}]})));return wp.element.createElement(m,null,S,wp.element.createElement(k,null,wp.element.createElement(M,{value:f,onChange:function(i){return t({align:i})}})),wp.element.createElement(y,{tagName:r||"p",value:l,onChange:function(i){return t({content:i})},style:{fontSize:v?v+"px":void 0,textAlign:f,fontFamily:e.replace(/\+/g," "),fontWeight:c,lineHeight:n,color:o},placeholder:__("Add some content...","olympus-google-fonts"),formattingControls:["italic","link"]}))}}]),a}(d);a.a=w},function(i,a){i.exports={kind:"webfonts#webfontList",items:[{f:"ABeeZee",v:["400","400italic"]},{f:"Abel",v:["400"]},{f:"Abhaya Libre",v:["400","500","600","700","800"]},{f:"Abril Fatface",v:["400"]},{f:"Aclonica",v:["400"]},{f:"Acme",v:["400"]},{f:"Actor",v:["400"]},{f:"Adamina",v:["400"]},{f:"Advent Pro",v:["100","200","300","400","500","600","700"]},{f:"Aguafina Script",v:["400"]},{f:"Akronim",v:["400"]},{f:"Aladin",v:["400"]},{f:"Alata",v:["400"]},{f:"Alatsi",v:["400"]},{f:"Aldrich",v:["400"]},{f:"Alef",v:["400","700"]},{f:"Alegreya",v:["400","400italic","500","500italic","700","700italic","800","800italic","900","900italic"]},{f:"Alegreya SC",v:["400","400italic","500","500italic","700","700italic","800","800italic","900","900italic"]},{f:"Alegreya Sans",v:["100","100italic","300","300italic","400","400italic","500","500italic","700","700italic","800","800italic","900","900italic"]},{f:"Alegreya Sans SC",v:["100","100italic","300","300italic","400","400italic","500","500italic","700","700italic","800","800italic","900","900italic"]},{f:"Aleo",v:["300","300italic","400","400italic","700","700italic"]},{f:"Alex Brush",v:["400"]},{f:"Alfa Slab One",v:["400"]},{f:"Alice",v:["400"]},{f:"Alike",v:["400"]},{f:"Alike Angular",v:["400"]},{f:"Allan",v:["400","700"]},{f:"Allerta",v:["400"]},{f:"Allerta Stencil",v:["400"]},{f:"Allura",v:["400"]},{f:"Almarai",v:["300","400","700","800"]},{f:"Almendra",v:["400","400italic","700","700italic"]},{f:"Almendra Display",v:["400"]},{f:"Almendra SC",v:["400"]},{f:"Amarante",v:["400"]},{f:"Amaranth",v:["400","400italic","700","700italic"]},{f:"Amatic SC",v:["400","700"]},{f:"Amethysta",v:["400"]},{f:"Amiko",v:["400","600","700"]},{f:"Amiri",v:["400","400italic","700","700italic"]},{f:"Amita",v:["400","700"]},{f:"Anaheim",v:["400"]},{f:"Andada",v:["400"]},{f:"Andika",v:["400"]},{f:"Angkor",v:["400"]},{f:"Annie Use Your Telescope",v:["400"]},{f:"Anonymous Pro",v:["400","400italic","700","700italic"]},{f:"Antic",v:["400"]},{f:"Antic Didone",v:["400"]},{f:"Antic Slab",v:["400"]},{f:"Anton",v:["400"]},{f:"Arapey",v:["400","400italic"]},{f:"Arbutus",v:["400"]},{f:"Arbutus Slab",v:["400"]},{f:"Architects Daughter",v:["400"]},{f:"Archivo",v:["400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Archivo Black",v:["400"]},{f:"Archivo Narrow",v:["400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Aref Ruqaa",v:["400","700"]},{f:"Arima Madurai",v:["100","200","300","400","500","700","800","900"]},{f:"Arimo",v:["400","400italic","700","700italic"]},{f:"Arizonia",v:["400"]},{f:"Armata",v:["400"]},{f:"Arsenal",v:["400","400italic","700","700italic"]},{f:"Artifika",v:["400"]},{f:"Arvo",v:["400","400italic","700","700italic"]},{f:"Arya",v:["400","700"]},{f:"Asap",v:["400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Asap Condensed",v:["400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Asar",v:["400"]},{f:"Asset",v:["400"]},{f:"Assistant",v:["200","300","400","600","700","800"]},{f:"Astloch",v:["400","700"]},{f:"Asul",v:["400","700"]},{f:"Athiti",v:["200","300","400","500","600","700"]},{f:"Atma",v:["300","400","500","600","700"]},{f:"Atomic Age",v:["400"]},{f:"Aubrey",v:["400"]},{f:"Audiowide",v:["400"]},{f:"Autour One",v:["400"]},{f:"Average",v:["400"]},{f:"Average Sans",v:["400"]},{f:"Averia Gruesa Libre",v:["400"]},{f:"Averia Libre",v:["300","300italic","400","400italic","700","700italic"]},{f:"Averia Sans Libre",v:["300","300italic","400","400italic","700","700italic"]},{f:"Averia Serif Libre",v:["300","300italic","400","400italic","700","700italic"]},{f:"B612",v:["400","400italic","700","700italic"]},{f:"B612 Mono",v:["400","400italic","700","700italic"]},{f:"Bad Script",v:["400"]},{f:"Bahiana",v:["400"]},{f:"Bahianita",v:["400"]},{f:"Bai Jamjuree",v:["200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Baloo 2",v:["400","500","600","700","800"]},{f:"Baloo Bhai 2",v:["400","500","600","700","800"]},{f:"Baloo Bhaina 2",v:["400","500","600","700","800"]},{f:"Baloo Chettan 2",v:["400","500","600","700","800"]},{f:"Baloo Da 2",v:["400","500","600","700","800"]},{f:"Baloo Paaji 2",v:["400","500","600","700","800"]},{f:"Baloo Tamma 2",v:["400","500","600","700","800"]},{f:"Baloo Tammudu 2",v:["400","500","600","700","800"]},{f:"Baloo Thambi 2",v:["400","500","600","700","800"]},{f:"Balsamiq Sans",v:["400","400italic","700","700italic"]},{f:"Balthazar",v:["400"]},{f:"Bangers",v:["400"]},{f:"Barlow",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Barlow Condensed",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Barlow Semi Condensed",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Barriecito",v:["400"]},{f:"Barrio",v:["400"]},{f:"Basic",v:["400"]},{f:"Baskervville",v:["400","400italic"]},{f:"Battambang",v:["400","700"]},{f:"Baumans",v:["400"]},{f:"Bayon",v:["400"]},{f:"Be Vietnam",v:["100","100italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic"]},{f:"Bebas Neue",v:["400"]},{f:"Belgrano",v:["400"]},{f:"Bellefair",v:["400"]},{f:"Belleza",v:["400"]},{f:"Bellota",v:["300","300italic","400","400italic","700","700italic"]},{f:"Bellota Text",v:["300","300italic","400","400italic","700","700italic"]},{f:"BenchNine",v:["300","400","700"]},{f:"Bentham",v:["400"]},{f:"Berkshire Swash",v:["400"]},{f:"Beth Ellen",v:["400"]},{f:"Bevan",v:["400"]},{f:"Big Shoulders Display",v:["100","300","400","500","600","700","800","900"]},{f:"Big Shoulders Text",v:["100","300","400","500","600","700","800","900"]},{f:"Bigelow Rules",v:["400"]},{f:"Bigshot One",v:["400"]},{f:"Bilbo",v:["400"]},{f:"Bilbo Swash Caps",v:["400"]},{f:"BioRhyme",v:["200","300","400","700","800"]},{f:"BioRhyme Expanded",v:["200","300","400","700","800"]},{f:"Biryani",v:["200","300","400","600","700","800","900"]},{f:"Bitter",v:["400","400italic","700"]},{f:"Black And White Picture",v:["400"]},{f:"Black Han Sans",v:["400"]},{f:"Black Ops One",v:["400"]},{f:"Blinker",v:["100","200","300","400","600","700","800","900"]},{f:"Bokor",v:["400"]},{f:"Bonbon",v:["400"]},{f:"Boogaloo",v:["400"]},{f:"Bowlby One",v:["400"]},{f:"Bowlby One SC",v:["400"]},{f:"Brawler",v:["400"]},{f:"Bree Serif",v:["400"]},{f:"Bubblegum Sans",v:["400"]},{f:"Bubbler One",v:["400"]},{f:"Buda",v:["300"]},{f:"Buenard",v:["400","700"]},{f:"Bungee",v:["400"]},{f:"Bungee Hairline",v:["400"]},{f:"Bungee Inline",v:["400"]},{f:"Bungee Outline",v:["400"]},{f:"Bungee Shade",v:["400"]},{f:"Butcherman",v:["400"]},{f:"Butterfly Kids",v:["400"]},{f:"Cabin",v:["400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Cabin Condensed",v:["400","500","600","700"]},{f:"Cabin Sketch",v:["400","700"]},{f:"Caesar Dressing",v:["400"]},{f:"Cagliostro",v:["400"]},{f:"Cairo",v:["200","300","400","600","700","900"]},{f:"Caladea",v:["400","400italic","700","700italic"]},{f:"Calistoga",v:["400"]},{f:"Calligraffitti",v:["400"]},{f:"Cambay",v:["400","400italic","700","700italic"]},{f:"Cambo",v:["400"]},{f:"Candal",v:["400"]},{f:"Cantarell",v:["400","400italic","700","700italic"]},{f:"Cantata One",v:["400"]},{f:"Cantora One",v:["400"]},{f:"Capriola",v:["400"]},{f:"Cardo",v:["400","400italic","700"]},{f:"Carme",v:["400"]},{f:"Carrois Gothic",v:["400"]},{f:"Carrois Gothic SC",v:["400"]},{f:"Carter One",v:["400"]},{f:"Catamaran",v:["100","200","300","400","500","600","700","800","900"]},{f:"Caudex",v:["400","400italic","700","700italic"]},{f:"Caveat",v:["400","700"]},{f:"Caveat Brush",v:["400"]},{f:"Cedarville Cursive",v:["400"]},{f:"Ceviche One",v:["400"]},{f:"Chakra Petch",v:["300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Changa",v:["200","300","400","500","600","700","800"]},{f:"Changa One",v:["400","400italic"]},{f:"Chango",v:["400"]},{f:"Charm",v:["400","700"]},{f:"Charmonman",v:["400","700"]},{f:"Chathura",v:["100","300","400","700","800"]},{f:"Chau Philomene One",v:["400","400italic"]},{f:"Chela One",v:["400"]},{f:"Chelsea Market",v:["400"]},{f:"Chenla",v:["400"]},{f:"Cherry Cream Soda",v:["400"]},{f:"Cherry Swash",v:["400","700"]},{f:"Chewy",v:["400"]},{f:"Chicle",v:["400"]},{f:"Chilanka",v:["400"]},{f:"Chivo",v:["300","300italic","400","400italic","700","700italic","900","900italic"]},{f:"Chonburi",v:["400"]},{f:"Cinzel",v:["400","700","900"]},{f:"Cinzel Decorative",v:["400","700","900"]},{f:"Clicker Script",v:["400"]},{f:"Coda",v:["400","800"]},{f:"Coda Caption",v:["800"]},{f:"Codystar",v:["300","400"]},{f:"Coiny",v:["400"]},{f:"Combo",v:["400"]},{f:"Comfortaa",v:["300","400","500","600","700"]},{f:"Comic Neue",v:["300","300italic","400","400italic","700","700italic"]},{f:"Coming Soon",v:["400"]},{f:"Concert One",v:["400"]},{f:"Condiment",v:["400"]},{f:"Content",v:["400","700"]},{f:"Contrail One",v:["400"]},{f:"Convergence",v:["400"]},{f:"Cookie",v:["400"]},{f:"Copse",v:["400"]},{f:"Corben",v:["400","700"]},{f:"Cormorant",v:["300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Cormorant Garamond",v:["300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Cormorant Infant",v:["300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Cormorant SC",v:["300","400","500","600","700"]},{f:"Cormorant Unicase",v:["300","400","500","600","700"]},{f:"Cormorant Upright",v:["300","400","500","600","700"]},{f:"Courgette",v:["400"]},{f:"Courier Prime",v:["400","400italic","700","700italic"]},{f:"Cousine",v:["400","400italic","700","700italic"]},{f:"Coustard",v:["400","900"]},{f:"Covered By Your Grace",v:["400"]},{f:"Crafty Girls",v:["400"]},{f:"Creepster",v:["400"]},{f:"Crete Round",v:["400","400italic"]},{f:"Crimson Pro",v:["200","300","400","500","600","700","800","900","200italic","300italic","400italic","500italic","600italic","700italic","800italic","900italic"]},{f:"Crimson Text",v:["400","400italic","600","600italic","700","700italic"]},{f:"Croissant One",v:["400"]},{f:"Crushed",v:["400"]},{f:"Cuprum",v:["400","400italic","700","700italic"]},{f:"Cute Font",v:["400"]},{f:"Cutive",v:["400"]},{f:"Cutive Mono",v:["400"]},{f:"DM Mono",v:["300","300italic","400","400italic","500","500italic"]},{f:"DM Sans",v:["400","400italic","500","500italic","700","700italic"]},{f:"DM Serif Display",v:["400","400italic"]},{f:"DM Serif Text",v:["400","400italic"]},{f:"Damion",v:["400"]},{f:"Dancing Script",v:["400","500","600","700"]},{f:"Dangrek",v:["400"]},{f:"Darker Grotesque",v:["300","400","500","600","700","800","900"]},{f:"David Libre",v:["400","500","700"]},{f:"Dawning of a New Day",v:["400"]},{f:"Days One",v:["400"]},{f:"Dekko",v:["400"]},{f:"Delius",v:["400"]},{f:"Delius Swash Caps",v:["400"]},{f:"Delius Unicase",v:["400","700"]},{f:"Della Respira",v:["400"]},{f:"Denk One",v:["400"]},{f:"Devonshire",v:["400"]},{f:"Dhurjati",v:["400"]},{f:"Didact Gothic",v:["400"]},{f:"Diplomata",v:["400"]},{f:"Diplomata SC",v:["400"]},{f:"Do Hyeon",v:["400"]},{f:"Dokdo",v:["400"]},{f:"Domine",v:["400","700"]},{f:"Donegal One",v:["400"]},{f:"Doppio One",v:["400"]},{f:"Dorsa",v:["400"]},{f:"Dosis",v:["200","300","400","500","600","700","800"]},{f:"Dr Sugiyama",v:["400"]},{f:"Duru Sans",v:["400"]},{f:"Dynalight",v:["400"]},{f:"EB Garamond",v:["400","500","600","700","800","400italic","500italic","600italic","700italic","800italic"]},{f:"Eagle Lake",v:["400"]},{f:"East Sea Dokdo",v:["400"]},{f:"Eater",v:["400"]},{f:"Economica",v:["400","400italic","700","700italic"]},{f:"Eczar",v:["400","500","600","700","800"]},{f:"El Messiri",v:["400","500","600","700"]},{f:"Electrolize",v:["400"]},{f:"Elsie",v:["400","900"]},{f:"Elsie Swash Caps",v:["400","900"]},{f:"Emblema One",v:["400"]},{f:"Emilys Candy",v:["400"]},{f:"Encode Sans",v:["100","200","300","400","500","600","700","800","900"]},{f:"Encode Sans Condensed",v:["100","200","300","400","500","600","700","800","900"]},{f:"Encode Sans Expanded",v:["100","200","300","400","500","600","700","800","900"]},{f:"Encode Sans Semi Condensed",v:["100","200","300","400","500","600","700","800","900"]},{f:"Encode Sans Semi Expanded",v:["100","200","300","400","500","600","700","800","900"]},{f:"Engagement",v:["400"]},{f:"Englebert",v:["400"]},{f:"Enriqueta",v:["400","500","600","700"]},{f:"Epilogue",v:["100","200","300","400","500","600","700","800","900","100italic","200italic","300italic","400italic","500italic","600italic","700italic","800italic","900italic"]},{f:"Erica One",v:["400"]},{f:"Esteban",v:["400"]},{f:"Euphoria Script",v:["400"]},{f:"Ewert",v:["400"]},{f:"Exo",v:["100","200","300","400","500","600","700","800","900","100italic","200italic","300italic","400italic","500italic","600italic","700italic","800italic","900italic"]},{f:"Exo 2",v:["100","200","300","400","500","600","700","800","900","100italic","200italic","300italic","400italic","500italic","600italic","700italic","800italic","900italic"]},{f:"Expletus Sans",v:["400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Fahkwang",v:["200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Fanwood Text",v:["400","400italic"]},{f:"Farro",v:["300","400","500","700"]},{f:"Farsan",v:["400"]},{f:"Fascinate",v:["400"]},{f:"Fascinate Inline",v:["400"]},{f:"Faster One",v:["400"]},{f:"Fasthand",v:["400"]},{f:"Fauna One",v:["400"]},{f:"Faustina",v:["400","500","600","700","400italic","500italic","600italic","700italic"]},{f:"Federant",v:["400"]},{f:"Federo",v:["400"]},{f:"Felipa",v:["400"]},{f:"Fenix",v:["400"]},{f:"Finger Paint",v:["400"]},{f:"Fira Code",v:["300","400","500","600","700"]},{f:"Fira Mono",v:["400","500","700"]},{f:"Fira Sans",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Fira Sans Condensed",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Fira Sans Extra Condensed",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Fjalla One",v:["400"]},{f:"Fjord One",v:["400"]},{f:"Flamenco",v:["300","400"]},{f:"Flavors",v:["400"]},{f:"Fondamento",v:["400","400italic"]},{f:"Fontdiner Swanky",v:["400"]},{f:"Forum",v:["400"]},{f:"Francois One",v:["400"]},{f:"Frank Ruhl Libre",v:["300","400","500","700","900"]},{f:"Freckle Face",v:["400"]},{f:"Fredericka the Great",v:["400"]},{f:"Fredoka One",v:["400"]},{f:"Freehand",v:["400"]},{f:"Fresca",v:["400"]},{f:"Frijole",v:["400"]},{f:"Fruktur",v:["400"]},{f:"Fugaz One",v:["400"]},{f:"GFS Didot",v:["400"]},{f:"GFS Neohellenic",v:["400","400italic","700","700italic"]},{f:"Gabriela",v:["400"]},{f:"Gaegu",v:["300","400","700"]},{f:"Gafata",v:["400"]},{f:"Galada",v:["400"]},{f:"Galdeano",v:["400"]},{f:"Galindo",v:["400"]},{f:"Gamja Flower",v:["400"]},{f:"Gayathri",v:["100","400","700"]},{f:"Gelasio",v:["400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Gentium Basic",v:["400","400italic","700","700italic"]},{f:"Gentium Book Basic",v:["400","400italic","700","700italic"]},{f:"Geo",v:["400","400italic"]},{f:"Geostar",v:["400"]},{f:"Geostar Fill",v:["400"]},{f:"Germania One",v:["400"]},{f:"Gidugu",v:["400"]},{f:"Gilda Display",v:["400"]},{f:"Girassol",v:["400"]},{f:"Give You Glory",v:["400"]},{f:"Glass Antiqua",v:["400"]},{f:"Glegoo",v:["400","700"]},{f:"Gloria Hallelujah",v:["400"]},{f:"Goblin One",v:["400"]},{f:"Gochi Hand",v:["400"]},{f:"Gorditas",v:["400","700"]},{f:"Gothic A1",v:["100","200","300","400","500","600","700","800","900"]},{f:"Gotu",v:["400"]},{f:"Goudy Bookletter 1911",v:["400"]},{f:"Graduate",v:["400"]},{f:"Grand Hotel",v:["400"]},{f:"Gravitas One",v:["400"]},{f:"Great Vibes",v:["400"]},{f:"Grenze",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Grenze Gotisch",v:["100","200","300","400","500","600","700","800","900"]},{f:"Griffy",v:["400"]},{f:"Gruppo",v:["400"]},{f:"Gudea",v:["400","400italic","700"]},{f:"Gugi",v:["400"]},{f:"Gupter",v:["400","500","700"]},{f:"Gurajada",v:["400"]},{f:"Habibi",v:["400"]},{f:"Halant",v:["300","400","500","600","700"]},{f:"Hammersmith One",v:["400"]},{f:"Hanalei",v:["400"]},{f:"Hanalei Fill",v:["400"]},{f:"Handlee",v:["400"]},{f:"Hanuman",v:["400","700"]},{f:"Happy Monkey",v:["400"]},{f:"Harmattan",v:["400","700"]},{f:"Headland One",v:["400"]},{f:"Heebo",v:["100","200","300","400","500","600","700","800","900"]},{f:"Henny Penny",v:["400"]},{f:"Hepta Slab",v:["100","200","300","400","500","600","700","800","900"]},{f:"Herr Von Muellerhoff",v:["400"]},{f:"Hi Melody",v:["400"]},{f:"Hind",v:["300","400","500","600","700"]},{f:"Hind Guntur",v:["300","400","500","600","700"]},{f:"Hind Madurai",v:["300","400","500","600","700"]},{f:"Hind Siliguri",v:["300","400","500","600","700"]},{f:"Hind Vadodara",v:["300","400","500","600","700"]},{f:"Holtwood One SC",v:["400"]},{f:"Homemade Apple",v:["400"]},{f:"Homenaje",v:["400"]},{f:"IBM Plex Mono",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"IBM Plex Sans",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"IBM Plex Sans Condensed",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"IBM Plex Serif",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"IM Fell DW Pica",v:["400","400italic"]},{f:"IM Fell DW Pica SC",v:["400"]},{f:"IM Fell Double Pica",v:["400","400italic"]},{f:"IM Fell Double Pica SC",v:["400"]},{f:"IM Fell English",v:["400","400italic"]},{f:"IM Fell English SC",v:["400"]},{f:"IM Fell French Canon",v:["400","400italic"]},{f:"IM Fell French Canon SC",v:["400"]},{f:"IM Fell Great Primer",v:["400","400italic"]},{f:"IM Fell Great Primer SC",v:["400"]},{f:"Ibarra Real Nova",v:["400","400italic","600","600italic","700","700italic"]},{f:"Iceberg",v:["400"]},{f:"Iceland",v:["400"]},{f:"Imprima",v:["400"]},{f:"Inconsolata",v:["200","300","400","500","600","700","800","900"]},{f:"Inder",v:["400"]},{f:"Indie Flower",v:["400"]},{f:"Inika",v:["400","700"]},{f:"Inknut Antiqua",v:["300","400","500","600","700","800","900"]},{f:"Inria Sans",v:["300","300italic","400","400italic","700","700italic"]},{f:"Inria Serif",v:["300","300italic","400","400italic","700","700italic"]},{f:"Inter",v:["100","200","300","400","500","600","700","800","900"]},{f:"Irish Grover",v:["400"]},{f:"Istok Web",v:["400","400italic","700","700italic"]},{f:"Italiana",v:["400"]},{f:"Italianno",v:["400"]},{f:"Itim",v:["400"]},{f:"Jacques Francois",v:["400"]},{f:"Jacques Francois Shadow",v:["400"]},{f:"Jaldi",v:["400","700"]},{f:"Jim Nightshade",v:["400"]},{f:"Jockey One",v:["400"]},{f:"Jolly Lodger",v:["400"]},{f:"Jomhuria",v:["400"]},{f:"Jomolhari",v:["400"]},{f:"Josefin Sans",v:["100","200","300","400","500","600","700","100italic","200italic","300italic","400italic","500italic","600italic","700italic"]},{f:"Josefin Slab",v:["100","100italic","300","300italic","400","400italic","600","600italic","700","700italic"]},{f:"Jost",v:["100","200","300","400","500","600","700","800","900","100italic","200italic","300italic","400italic","500italic","600italic","700italic","800italic","900italic"]},{f:"Joti One",v:["400"]},{f:"Jua",v:["400"]},{f:"Judson",v:["400","400italic","700"]},{f:"Julee",v:["400"]},{f:"Julius Sans One",v:["400"]},{f:"Junge",v:["400"]},{f:"Jura",v:["300","400","500","600","700"]},{f:"Just Another Hand",v:["400"]},{f:"Just Me Again Down Here",v:["400"]},{f:"K2D",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic"]},{f:"Kadwa",v:["400","700"]},{f:"Kalam",v:["300","400","700"]},{f:"Kameron",v:["400","700"]},{f:"Kanit",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Kantumruy",v:["300","400","700"]},{f:"Karla",v:["400","400italic","700","700italic"]},{f:"Karma",v:["300","400","500","600","700"]},{f:"Katibeh",v:["400"]},{f:"Kaushan Script",v:["400"]},{f:"Kavivanar",v:["400"]},{f:"Kavoon",v:["400"]},{f:"Kdam Thmor",v:["400"]},{f:"Keania One",v:["400"]},{f:"Kelly Slab",v:["400"]},{f:"Kenia",v:["400"]},{f:"Khand",v:["300","400","500","600","700"]},{f:"Khmer",v:["400"]},{f:"Khula",v:["300","400","600","700","800"]},{f:"Kirang Haerang",v:["400"]},{f:"Kite One",v:["400"]},{f:"Knewave",v:["400"]},{f:"KoHo",v:["200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Kodchasan",v:["200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Kosugi",v:["400"]},{f:"Kosugi Maru",v:["400"]},{f:"Kotta One",v:["400"]},{f:"Koulen",v:["400"]},{f:"Kranky",v:["400"]},{f:"Kreon",v:["300","400","500","600","700"]},{f:"Kristi",v:["400"]},{f:"Krona One",v:["400"]},{f:"Krub",v:["200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Kulim Park",v:["200","200italic","300","300italic","400","400italic","600","600italic","700","700italic"]},{f:"Kumar One",v:["400"]},{f:"Kumar One Outline",v:["400"]},{f:"Kurale",v:["400"]},{f:"La Belle Aurore",v:["400"]},{f:"Lacquer",v:["400"]},{f:"Laila",v:["300","400","500","600","700"]},{f:"Lakki Reddy",v:["400"]},{f:"Lalezar",v:["400"]},{f:"Lancelot",v:["400"]},{f:"Lateef",v:["400"]},{f:"Lato",v:["100","100italic","300","300italic","400","400italic","700","700italic","900","900italic"]},{f:"League Script",v:["400"]},{f:"Leckerli One",v:["400"]},{f:"Ledger",v:["400"]},{f:"Lekton",v:["400","400italic","700"]},{f:"Lemon",v:["400"]},{f:"Lemonada",v:["300","400","500","600","700"]},{f:"Lexend Deca",v:["400"]},{f:"Lexend Exa",v:["400"]},{f:"Lexend Giga",v:["400"]},{f:"Lexend Mega",v:["400"]},{f:"Lexend Peta",v:["400"]},{f:"Lexend Tera",v:["400"]},{f:"Lexend Zetta",v:["400"]},{f:"Libre Barcode 128",v:["400"]},{f:"Libre Barcode 128 Text",v:["400"]},{f:"Libre Barcode 39",v:["400"]},{f:"Libre Barcode 39 Extended",v:["400"]},{f:"Libre Barcode 39 Extended Text",v:["400"]},{f:"Libre Barcode 39 Text",v:["400"]},{f:"Libre Baskerville",v:["400","400italic","700"]},{f:"Libre Caslon Display",v:["400"]},{f:"Libre Caslon Text",v:["400","400italic","700"]},{f:"Libre Franklin",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Life Savers",v:["400","700","800"]},{f:"Lilita One",v:["400"]},{f:"Lily Script One",v:["400"]},{f:"Limelight",v:["400"]},{f:"Linden Hill",v:["400","400italic"]},{f:"Literata",v:["400","500","600","700","400italic","500italic","600italic","700italic"]},{f:"Liu Jian Mao Cao",v:["400"]},{f:"Livvic",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","900","900italic"]},{f:"Lobster",v:["400"]},{f:"Lobster Two",v:["400","400italic","700","700italic"]},{f:"Londrina Outline",v:["400"]},{f:"Londrina Shadow",v:["400"]},{f:"Londrina Sketch",v:["400"]},{f:"Londrina Solid",v:["100","300","400","900"]},{f:"Long Cang",v:["400"]},{f:"Lora",v:["400","500","600","700","400italic","500italic","600italic","700italic"]},{f:"Love Ya Like A Sister",v:["400"]},{f:"Loved by the King",v:["400"]},{f:"Lovers Quarrel",v:["400"]},{f:"Luckiest Guy",v:["400"]},{f:"Lusitana",v:["400","700"]},{f:"Lustria",v:["400"]},{f:"M PLUS 1p",v:["100","300","400","500","700","800","900"]},{f:"M PLUS Rounded 1c",v:["100","300","400","500","700","800","900"]},{f:"Ma Shan Zheng",v:["400"]},{f:"Macondo",v:["400"]},{f:"Macondo Swash Caps",v:["400"]},{f:"Mada",v:["200","300","400","500","600","700","900"]},{f:"Magra",v:["400","700"]},{f:"Maiden Orange",v:["400"]},{f:"Maitree",v:["200","300","400","500","600","700"]},{f:"Major Mono Display",v:["400"]},{f:"Mako",v:["400"]},{f:"Mali",v:["200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Mallanna",v:["400"]},{f:"Mandali",v:["400"]},{f:"Manjari",v:["100","400","700"]},{f:"Manrope",v:["200","300","400","500","600","700","800"]},{f:"Mansalva",v:["400"]},{f:"Manuale",v:["400","500","600","700","400italic","500italic","600italic","700italic"]},{f:"Marcellus",v:["400"]},{f:"Marcellus SC",v:["400"]},{f:"Marck Script",v:["400"]},{f:"Margarine",v:["400"]},{f:"Markazi Text",v:["400","500","600","700"]},{f:"Marko One",v:["400"]},{f:"Marmelad",v:["400"]},{f:"Martel",v:["200","300","400","600","700","800","900"]},{f:"Martel Sans",v:["200","300","400","600","700","800","900"]},{f:"Marvel",v:["400","400italic","700","700italic"]},{f:"Mate",v:["400","400italic"]},{f:"Mate SC",v:["400"]},{f:"Maven Pro",v:["400","500","600","700","800","900"]},{f:"McLaren",v:["400"]},{f:"Meddon",v:["400"]},{f:"MedievalSharp",v:["400"]},{f:"Medula One",v:["400"]},{f:"Meera Inimai",v:["400"]},{f:"Megrim",v:["400"]},{f:"Meie Script",v:["400"]},{f:"Merienda",v:["400","700"]},{f:"Merienda One",v:["400"]},{f:"Merriweather",v:["300","300italic","400","400italic","700","700italic","900","900italic"]},{f:"Merriweather Sans",v:["300","300italic","400","400italic","700","700italic","800","800italic"]},{f:"Metal",v:["400"]},{f:"Metal Mania",v:["400"]},{f:"Metamorphous",v:["400"]},{f:"Metrophobic",v:["400"]},{f:"Michroma",v:["400"]},{f:"Milonga",v:["400"]},{f:"Miltonian",v:["400"]},{f:"Miltonian Tattoo",v:["400"]},{f:"Mina",v:["400","700"]},{f:"Miniver",v:["400"]},{f:"Miriam Libre",v:["400","700"]},{f:"Mirza",v:["400","500","600","700"]},{f:"Miss Fajardose",v:["400"]},{f:"Mitr",v:["200","300","400","500","600","700"]},{f:"Modak",v:["400"]},{f:"Modern Antiqua",v:["400"]},{f:"Mogra",v:["400"]},{f:"Molengo",v:["400"]},{f:"Molle",v:["400italic"]},{f:"Monda",v:["400","700"]},{f:"Monofett",v:["400"]},{f:"Monoton",v:["400"]},{f:"Monsieur La Doulaise",v:["400"]},{f:"Montaga",v:["400"]},{f:"Montez",v:["400"]},{f:"Montserrat",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Montserrat Alternates",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Montserrat Subrayada",v:["400","700"]},{f:"Moul",v:["400"]},{f:"Moulpali",v:["400"]},{f:"Mountains of Christmas",v:["400","700"]},{f:"Mouse Memoirs",v:["400"]},{f:"Mr Bedfort",v:["400"]},{f:"Mr Dafoe",v:["400"]},{f:"Mr De Haviland",v:["400"]},{f:"Mrs Saint Delafield",v:["400"]},{f:"Mrs Sheppards",v:["400"]},{f:"Mukta",v:["200","300","400","500","600","700","800"]},{f:"Mukta Mahee",v:["200","300","400","500","600","700","800"]},{f:"Mukta Malar",v:["200","300","400","500","600","700","800"]},{f:"Mukta Vaani",v:["200","300","400","500","600","700","800"]},{f:"Mulish",v:["200","300","400","500","600","700","800","900","200italic","300italic","400italic","500italic","600italic","700italic","800italic","900italic"]},{f:"MuseoModerno",v:["100","200","300","400","500","600","700","800","900"]},{f:"Mystery Quest",v:["400"]},{f:"NTR",v:["400"]},{f:"Nanum Brush Script",v:["400"]},{f:"Nanum Gothic",v:["400","700","800"]},{f:"Nanum Gothic Coding",v:["400","700"]},{f:"Nanum Myeongjo",v:["400","700","800"]},{f:"Nanum Pen Script",v:["400"]},{f:"Neucha",v:["400"]},{f:"Neuton",v:["200","300","400","400italic","700","800"]},{f:"New Rocker",v:["400"]},{f:"News Cycle",v:["400","700"]},{f:"Niconne",v:["400"]},{f:"Niramit",v:["200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Nixie One",v:["400"]},{f:"Nobile",v:["400","400italic","500","500italic","700","700italic"]},{f:"Nokora",v:["400","700"]},{f:"Norican",v:["400"]},{f:"Nosifer",v:["400"]},{f:"Notable",v:["400"]},{f:"Nothing You Could Do",v:["400"]},{f:"Noticia Text",v:["400","400italic","700","700italic"]},{f:"Noto Sans",v:["400","400italic","700","700italic"]},{f:"Noto Sans HK",v:["100","300","400","500","700","900"]},{f:"Noto Sans JP",v:["100","300","400","500","700","900"]},{f:"Noto Sans KR",v:["100","300","400","500","700","900"]},{f:"Noto Sans SC",v:["100","300","400","500","700","900"]},{f:"Noto Sans TC",v:["100","300","400","500","700","900"]},{f:"Noto Serif",v:["400","400italic","700","700italic"]},{f:"Noto Serif JP",v:["200","300","400","500","600","700","900"]},{f:"Noto Serif KR",v:["200","300","400","500","600","700","900"]},{f:"Noto Serif SC",v:["200","300","400","500","600","700","900"]},{f:"Noto Serif TC",v:["200","300","400","500","600","700","900"]},{f:"Nova Cut",v:["400"]},{f:"Nova Flat",v:["400"]},{f:"Nova Mono",v:["400"]},{f:"Nova Oval",v:["400"]},{f:"Nova Round",v:["400"]},{f:"Nova Script",v:["400"]},{f:"Nova Slim",v:["400"]},{f:"Nova Square",v:["400"]},{f:"Numans",v:["400"]},{f:"Nunito",v:["200","200italic","300","300italic","400","400italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Nunito Sans",v:["200","200italic","300","300italic","400","400italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Odibee Sans",v:["400"]},{f:"Odor Mean Chey",v:["400"]},{f:"Offside",v:["400"]},{f:"Old Standard TT",v:["400","400italic","700"]},{f:"Oldenburg",v:["400"]},{f:"Oleo Script",v:["400","700"]},{f:"Oleo Script Swash Caps",v:["400","700"]},{f:"Open Sans",v:["300","300italic","400","400italic","600","600italic","700","700italic","800","800italic"]},{f:"Open Sans Condensed",v:["300","300italic","700"]},{f:"Oranienbaum",v:["400"]},{f:"Orbitron",v:["400","500","600","700","800","900"]},{f:"Oregano",v:["400","400italic"]},{f:"Orienta",v:["400"]},{f:"Original Surfer",v:["400"]},{f:"Oswald",v:["200","300","400","500","600","700"]},{f:"Over the Rainbow",v:["400"]},{f:"Overlock",v:["400","400italic","700","700italic","900","900italic"]},{f:"Overlock SC",v:["400"]},{f:"Overpass",v:["100","100italic","200","200italic","300","300italic","400","400italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Overpass Mono",v:["300","400","600","700"]},{f:"Ovo",v:["400"]},{f:"Oxanium",v:["200","300","400","500","600","700","800"]},{f:"Oxygen",v:["300","400","700"]},{f:"Oxygen Mono",v:["400"]},{f:"PT Mono",v:["400"]},{f:"PT Sans",v:["400","400italic","700","700italic"]},{f:"PT Sans Caption",v:["400","700"]},{f:"PT Sans Narrow",v:["400","700"]},{f:"PT Serif",v:["400","400italic","700","700italic"]},{f:"PT Serif Caption",v:["400","400italic"]},{f:"Pacifico",v:["400"]},{f:"Padauk",v:["400","700"]},{f:"Palanquin",v:["100","200","300","400","500","600","700"]},{f:"Palanquin Dark",v:["400","500","600","700"]},{f:"Pangolin",v:["400"]},{f:"Paprika",v:["400"]},{f:"Parisienne",v:["400"]},{f:"Passero One",v:["400"]},{f:"Passion One",v:["400","700","900"]},{f:"Pathway Gothic One",v:["400"]},{f:"Patrick Hand",v:["400"]},{f:"Patrick Hand SC",v:["400"]},{f:"Pattaya",v:["400"]},{f:"Patua One",v:["400"]},{f:"Pavanam",v:["400"]},{f:"Paytone One",v:["400"]},{f:"Peddana",v:["400"]},{f:"Peralta",v:["400"]},{f:"Permanent Marker",v:["400"]},{f:"Petit Formal Script",v:["400"]},{f:"Petrona",v:["400"]},{f:"Philosopher",v:["400","400italic","700","700italic"]},{f:"Piedra",v:["400"]},{f:"Pinyon Script",v:["400"]},{f:"Pirata One",v:["400"]},{f:"Plaster",v:["400"]},{f:"Play",v:["400","700"]},{f:"Playball",v:["400"]},{f:"Playfair Display",v:["400","500","600","700","800","900","400italic","500italic","600italic","700italic","800italic","900italic"]},{f:"Playfair Display SC",v:["400","400italic","700","700italic","900","900italic"]},{f:"Podkova",v:["400","500","600","700","800"]},{f:"Poiret One",v:["400"]},{f:"Poller One",v:["400"]},{f:"Poly",v:["400","400italic"]},{f:"Pompiere",v:["400"]},{f:"Pontano Sans",v:["400"]},{f:"Poor Story",v:["400"]},{f:"Poppins",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Port Lligat Sans",v:["400"]},{f:"Port Lligat Slab",v:["400"]},{f:"Pragati Narrow",v:["400","700"]},{f:"Prata",v:["400"]},{f:"Preahvihear",v:["400"]},{f:"Press Start 2P",v:["400"]},{f:"Pridi",v:["200","300","400","500","600","700"]},{f:"Princess Sofia",v:["400"]},{f:"Prociono",v:["400"]},{f:"Prompt",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Prosto One",v:["400"]},{f:"Proza Libre",v:["400","400italic","500","500italic","600","600italic","700","700italic","800","800italic"]},{f:"Public Sans",v:["100","200","300","400","500","600","700","800","900","100italic","200italic","300italic","400italic","500italic","600italic","700italic","800italic","900italic"]},{f:"Puritan",v:["400","400italic","700","700italic"]},{f:"Purple Purse",v:["400"]},{f:"Quando",v:["400"]},{f:"Quantico",v:["400","400italic","700","700italic"]},{f:"Quattrocento",v:["400","700"]},{f:"Quattrocento Sans",v:["400","400italic","700","700italic"]},{f:"Questrial",v:["400"]},{f:"Quicksand",v:["300","400","500","600","700"]},{f:"Quintessential",v:["400"]},{f:"Qwigley",v:["400"]},{f:"Racing Sans One",v:["400"]},{f:"Radley",v:["400","400italic"]},{f:"Rajdhani",v:["300","400","500","600","700"]},{f:"Rakkas",v:["400"]},{f:"Raleway",v:["100","200","300","400","500","600","700","800","900","100italic","200italic","300italic","400italic","500italic","600italic","700italic","800italic","900italic"]},{f:"Raleway Dots",v:["400"]},{f:"Ramabhadra",v:["400"]},{f:"Ramaraja",v:["400"]},{f:"Rambla",v:["400","400italic","700","700italic"]},{f:"Rammetto One",v:["400"]},{f:"Ranchers",v:["400"]},{f:"Rancho",v:["400"]},{f:"Ranga",v:["400","700"]},{f:"Rasa",v:["300","400","500","600","700"]},{f:"Rationale",v:["400"]},{f:"Ravi Prakash",v:["400"]},{f:"Recursive",v:["300","400","500","600","700","800","900"]},{f:"Red Hat Display",v:["400","400italic","500","500italic","700","700italic","900","900italic"]},{f:"Red Hat Text",v:["400","400italic","500","500italic","700","700italic"]},{f:"Red Rose",v:["300","400","700"]},{f:"Redressed",v:["400"]},{f:"Reem Kufi",v:["400"]},{f:"Reenie Beanie",v:["400"]},{f:"Revalia",v:["400"]},{f:"Rhodium Libre",v:["400"]},{f:"Ribeye",v:["400"]},{f:"Ribeye Marrow",v:["400"]},{f:"Righteous",v:["400"]},{f:"Risque",v:["400"]},{f:"Roboto",v:["100","100italic","300","300italic","400","400italic","500","500italic","700","700italic","900","900italic"]},{f:"Roboto Condensed",v:["300","300italic","400","400italic","700","700italic"]},{f:"Roboto Mono",v:["100","200","300","400","500","600","700","100italic","200italic","300italic","400italic","500italic","600italic","700italic"]},{f:"Roboto Slab",v:["100","200","300","400","500","600","700","800","900"]},{f:"Rochester",v:["400"]},{f:"Rock Salt",v:["400"]},{f:"Rokkitt",v:["100","200","300","400","500","600","700","800","900"]},{f:"Romanesco",v:["400"]},{f:"Ropa Sans",v:["400","400italic"]},{f:"Rosario",v:["300","400","500","600","700","300italic","400italic","500italic","600italic","700italic"]},{f:"Rosarivo",v:["400","400italic"]},{f:"Rouge Script",v:["400"]},{f:"Rowdies",v:["300","400","700"]},{f:"Rozha One",v:["400"]},{f:"Rubik",v:["300","300italic","400","400italic","500","500italic","700","700italic","900","900italic"]},{f:"Rubik Mono One",v:["400"]},{f:"Ruda",v:["400","500","600","700","800","900"]},{f:"Rufina",v:["400","700"]},{f:"Ruge Boogie",v:["400"]},{f:"Ruluko",v:["400"]},{f:"Rum Raisin",v:["400"]},{f:"Ruslan Display",v:["400"]},{f:"Russo One",v:["400"]},{f:"Ruthie",v:["400"]},{f:"Rye",v:["400"]},{f:"Sacramento",v:["400"]},{f:"Sahitya",v:["400","700"]},{f:"Sail",v:["400"]},{f:"Saira",v:["100","200","300","400","500","600","700","800","900"]},{f:"Saira Condensed",v:["100","200","300","400","500","600","700","800","900"]},{f:"Saira Extra Condensed",v:["100","200","300","400","500","600","700","800","900"]},{f:"Saira Semi Condensed",v:["100","200","300","400","500","600","700","800","900"]},{f:"Saira Stencil One",v:["400"]},{f:"Salsa",v:["400"]},{f:"Sanchez",v:["400","400italic"]},{f:"Sancreek",v:["400"]},{f:"Sansita",v:["400","400italic","700","700italic","800","800italic","900","900italic"]},{f:"Sarabun",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic"]},{f:"Sarala",v:["400","700"]},{f:"Sarina",v:["400"]},{f:"Sarpanch",v:["400","500","600","700","800","900"]},{f:"Satisfy",v:["400"]},{f:"Sawarabi Gothic",v:["400"]},{f:"Sawarabi Mincho",v:["400"]},{f:"Scada",v:["400","400italic","700","700italic"]},{f:"Scheherazade",v:["400","700"]},{f:"Schoolbell",v:["400"]},{f:"Scope One",v:["400"]},{f:"Seaweed Script",v:["400"]},{f:"Secular One",v:["400"]},{f:"Sedgwick Ave",v:["400"]},{f:"Sedgwick Ave Display",v:["400"]},{f:"Sen",v:["400","700","800"]},{f:"Sevillana",v:["400"]},{f:"Seymour One",v:["400"]},{f:"Shadows Into Light",v:["400"]},{f:"Shadows Into Light Two",v:["400"]},{f:"Shanti",v:["400"]},{f:"Share",v:["400","400italic","700","700italic"]},{f:"Share Tech",v:["400"]},{f:"Share Tech Mono",v:["400"]},{f:"Shojumaru",v:["400"]},{f:"Short Stack",v:["400"]},{f:"Shrikhand",v:["400"]},{f:"Siemreap",v:["400"]},{f:"Sigmar One",v:["400"]},{f:"Signika",v:["300","400","500","600","700"]},{f:"Signika Negative",v:["300","400","600","700"]},{f:"Simonetta",v:["400","400italic","900","900italic"]},{f:"Single Day",v:["400"]},{f:"Sintony",v:["400","700"]},{f:"Sirin Stencil",v:["400"]},{f:"Six Caps",v:["400"]},{f:"Skranji",v:["400","700"]},{f:"Slabo 13px",v:["400"]},{f:"Slabo 27px",v:["400"]},{f:"Slackey",v:["400"]},{f:"Smokum",v:["400"]},{f:"Smythe",v:["400"]},{f:"Sniglet",v:["400","800"]},{f:"Snippet",v:["400"]},{f:"Snowburst One",v:["400"]},{f:"Sofadi One",v:["400"]},{f:"Sofia",v:["400"]},{f:"Solway",v:["300","400","500","700","800"]},{f:"Song Myung",v:["400"]},{f:"Sonsie One",v:["400"]},{f:"Sora",v:["100","200","300","400","500","600","700","800"]},{f:"Sorts Mill Goudy",v:["400","400italic"]},{f:"Source Code Pro",v:["200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","900","900italic"]},{f:"Source Sans Pro",v:["200","200italic","300","300italic","400","400italic","600","600italic","700","700italic","900","900italic"]},{f:"Source Serif Pro",v:["200","200italic","300","300italic","400","400italic","600","600italic","700","700italic","900","900italic"]},{f:"Space Mono",v:["400","400italic","700","700italic"]},{f:"Spartan",v:["100","200","300","400","500","600","700","800","900"]},{f:"Special Elite",v:["400"]},{f:"Spectral",v:["200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic"]},{f:"Spectral SC",v:["200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic"]},{f:"Spicy Rice",v:["400"]},{f:"Spinnaker",v:["400"]},{f:"Spirax",v:["400"]},{f:"Squada One",v:["400"]},{f:"Sree Krushnadevaraya",v:["400"]},{f:"Sriracha",v:["400"]},{f:"Srisakdi",v:["400","700"]},{f:"Staatliches",v:["400"]},{f:"Stalemate",v:["400"]},{f:"Stalinist One",v:["400"]},{f:"Stardos Stencil",v:["400","700"]},{f:"Stint Ultra Condensed",v:["400"]},{f:"Stint Ultra Expanded",v:["400"]},{f:"Stoke",v:["300","400"]},{f:"Strait",v:["400"]},{f:"Stylish",v:["400"]},{f:"Sue Ellen Francisco",v:["400"]},{f:"Suez One",v:["400"]},{f:"Sulphur Point",v:["300","400","700"]},{f:"Sumana",v:["400","700"]},{f:"Sunflower",v:["300","500","700"]},{f:"Sunshiney",v:["400"]},{f:"Supermercado One",v:["400"]},{f:"Sura",v:["400","700"]},{f:"Suranna",v:["400"]},{f:"Suravaram",v:["400"]},{f:"Suwannaphum",v:["400"]},{f:"Swanky and Moo Moo",v:["400"]},{f:"Syncopate",v:["400","700"]},{f:"Tajawal",v:["200","300","400","500","700","800","900"]},{f:"Tangerine",v:["400","700"]},{f:"Taprom",v:["400"]},{f:"Tauri",v:["400"]},{f:"Taviraj",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Teko",v:["300","400","500","600","700"]},{f:"Telex",v:["400"]},{f:"Tenali Ramakrishna",v:["400"]},{f:"Tenor Sans",v:["400"]},{f:"Text Me One",v:["400"]},{f:"Thasadith",v:["400","400italic","700","700italic"]},{f:"The Girl Next Door",v:["400"]},{f:"Tienne",v:["400","700","900"]},{f:"Tillana",v:["400","500","600","700","800"]},{f:"Timmana",v:["400"]},{f:"Tinos",v:["400","400italic","700","700italic"]},{f:"Titan One",v:["400"]},{f:"Titillium Web",v:["200","200italic","300","300italic","400","400italic","600","600italic","700","700italic","900"]},{f:"Tomorrow",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Trade Winds",v:["400"]},{f:"Trirong",v:["100","100italic","200","200italic","300","300italic","400","400italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"]},{f:"Trocchi",v:["400"]},{f:"Trochut",v:["400","400italic","700"]},{f:"Trykker",v:["400"]},{f:"Tulpen One",v:["400"]},{f:"Turret Road",v:["200","300","400","500","700","800"]},{f:"Ubuntu",v:["300","300italic","400","400italic","500","500italic","700","700italic"]},{f:"Ubuntu Condensed",v:["400"]},{f:"Ubuntu Mono",v:["400","400italic","700","700italic"]},{f:"Ultra",v:["400"]},{f:"Uncial Antiqua",v:["400"]},{f:"Underdog",v:["400"]},{f:"Unica One",v:["400"]},{f:"UnifrakturCook",v:["700"]},{f:"UnifrakturMaguntia",v:["400"]},{f:"Unkempt",v:["400","700"]},{f:"Unlock",v:["400"]},{f:"Unna",v:["400","400italic","700","700italic"]},{f:"VT323",v:["400"]},{f:"Vampiro One",v:["400"]},{f:"Varela",v:["400"]},{f:"Varela Round",v:["400"]},{f:"Varta",v:["300","400","500","600","700"]},{f:"Vast Shadow",v:["400"]},{f:"Vesper Libre",v:["400","500","700","900"]},{f:"Viaoda Libre",v:["400"]},{f:"Vibes",v:["400"]},{f:"Vibur",v:["400"]},{f:"Vidaloka",v:["400"]},{f:"Viga",v:["400"]},{f:"Voces",v:["400"]},{f:"Volkhov",v:["400","400italic","700","700italic"]},{f:"Vollkorn",v:["400","500","600","700","800","900","400italic","500italic","600italic","700italic","800italic","900italic"]},{f:"Vollkorn SC",v:["400","600","700","900"]},{f:"Voltaire",v:["400"]},{f:"Waiting for the Sunrise",v:["400"]},{f:"Wallpoet",v:["400"]},{f:"Walter Turncoat",v:["400"]},{f:"Warnes",v:["400"]},{f:"Wellfleet",v:["400"]},{f:"Wendy One",v:["400"]},{f:"Wire One",v:["400"]},{f:"Work Sans",v:["100","200","300","400","500","600","700","800","900","100italic","200italic","300italic","400italic","500italic","600italic","700italic","800italic","900italic"]},{f:"Yanone Kaffeesatz",v:["200","300","400","500","600","700"]},{f:"Yantramanav",v:["100","300","400","500","700","900"]},{f:"Yatra One",v:["400"]},{f:"Yellowtail",v:["400"]},{f:"Yeon Sung",v:["400"]},{f:"Yeseva One",v:["400"]},{f:"Yesteryear",v:["400"]},{f:"Yrsa",v:["300","400","500","600","700"]},{f:"ZCOOL KuaiLe",v:["400"]},{f:"ZCOOL QingKe HuangYou",v:["400"]},{f:"ZCOOL XiaoWei",v:["400"]},{f:"Zeyada",v:["400"]},{f:"Zhi Mang Xing",v:["400"]},{f:"Zilla Slab",v:["300","300italic","400","400italic","500","500italic","600","600italic","700","700italic"]},{f:"Zilla Slab Highlight",v:["400","700"]}]}},function(i,a){i.exports={kind:"webfonts#webfontList",items:[{id:"arial",label:"Arial",stack:"Arial, Helvetica Neue, Helvetica, sans-serif"},{id:"calibri",label:"Calibri",stack:"Calibri, Candara, Segoe, Segoe UI, Optima, Arial, sans-serif;"},{id:"consolas",label:"Consolas",stack:"Consolas, monaco, monospace"},{id:"courier-new",label:"Courier New",stack:"Courier New, Courier, Lucida Sans Typewriter, Lucida Typewriter, monospace"},{id:"helvetica",label:"Helvetica Neue",stack:"Helvetica Neue, Helvetica, Arial, sans-serif"},{id:"georgia",label:"Georgia",stack:"Georgia, Times, Times New Roman, serif"},{id:"futura",label:"Futura",stack:"Futura, Trebuchet MS, Arial, sans-serif"},{id:"lucida-grande",label:"Lucida Grande",stack:"Lucida Grande, Lucida Sans Unicode, Lucida Sans, Geneva, Verdana, sans-serif"},{id:"tahoma",label:"Tahoma",stack:"Tahoma, Verdana, Segoe, sans-serif"},{id:"times-new-roman",label:"Times New Roman",stack:"TimesNewRoman, Times New Roman, Times, Baskerville, Georgia, serif"},{id:"trebuchet",label:"Trebuchet MS",stack:"Trebuchet MS, Lucida Grande, Lucida Sans Unicode, Lucida Sans, Tahoma, sans-serif"},{id:"palatino",label:"Palatino",stack:"Palatino, Palatino Linotype, Palatino LT STD, Book Antiqua, Georgia, serif"},{id:"verdana",label:"Verdana",stack:"Verdana, Geneva, sans-serif;"}]}},function(i,a,t){"use strict";var e=wp.blocks.createBlock,l={from:[{type:"block",blocks:["core/paragraph"],transform:function(i){var a=i.content;return e("olympus-google-fonts/google-fonts",{content:a})}},{type:"block",blocks:["core/heading"],transform:function(i){var a=i.content,t=i.level;return e("olympus-google-fonts/google-fonts",{content:a,blockType:"h"+t})}}],to:[{type:"block",blocks:["core/paragraph"],transform:function(i){var a=i.content;return e("core/paragraph",{content:a})}}]};a.a=l}]);
|
blocks/init.php
CHANGED
@@ -23,6 +23,7 @@ function olympus_google_fonts_block_js() {
|
|
23 |
OGF_VERSION,
|
24 |
false
|
25 |
);
|
|
|
26 |
}
|
27 |
|
28 |
add_action( 'enqueue_block_editor_assets', 'olympus_google_fonts_block_js' );
|
@@ -49,7 +50,7 @@ function olympus_google_fonts_register_block() {
|
|
49 |
),
|
50 |
'variant' => array(
|
51 |
'type' => 'string',
|
52 |
-
'default' => '
|
53 |
),
|
54 |
'fontSize' => array(
|
55 |
'type' => 'number',
|
@@ -93,24 +94,17 @@ function olympus_google_fonts_block_render( $attributes ) {
|
|
93 |
|
94 |
if ( $font_id ) {
|
95 |
|
96 |
-
|
|
|
97 |
|
98 |
-
if ( array_key_exists( $
|
99 |
-
|
100 |
-
$font_family = $system_fonts[ $font_id ]['stack'];
|
101 |
-
|
102 |
-
} else {
|
103 |
-
|
104 |
-
$font_family = esc_attr( str_replace( '+', ' ', $font_id ) );
|
105 |
-
$font_id = str_replace( '+', '-', strtolower( $font_id ) );
|
106 |
-
$fonts = ogf_fonts_array();
|
107 |
-
$variants = $fonts[ $font_id ]['v'];
|
108 |
-
unset( $variants[0] );
|
109 |
|
110 |
$variants_for_url = join( array_keys( $variants ), ',' );
|
111 |
|
112 |
-
wp_enqueue_style( 'google-font-' . $
|
113 |
|
|
|
114 |
}
|
115 |
|
116 |
$style = "font-family: {$font_family};";
|
@@ -136,7 +130,7 @@ function olympus_google_fonts_block_render( $attributes ) {
|
|
136 |
$style .= "color: {$color};";
|
137 |
}
|
138 |
|
139 |
-
$output .= '<' . $block_type . ' class="
|
140 |
$output .= $content;
|
141 |
$output .= '</' . $block_type . '>';
|
142 |
|
23 |
OGF_VERSION,
|
24 |
false
|
25 |
);
|
26 |
+
wp_localize_script( 'olympus-google-fonts-block-js', 'ogf_custom_fonts', ogf_custom_fonts() );
|
27 |
}
|
28 |
|
29 |
add_action( 'enqueue_block_editor_assets', 'olympus_google_fonts_block_js' );
|
50 |
),
|
51 |
'variant' => array(
|
52 |
'type' => 'string',
|
53 |
+
'default' => 'normal',
|
54 |
),
|
55 |
'fontSize' => array(
|
56 |
'type' => 'number',
|
94 |
|
95 |
if ( $font_id ) {
|
96 |
|
97 |
+
// standardize the format.
|
98 |
+
$font_id_standardized = str_replace( '+', '-', strtolower( $font_id ) );
|
99 |
|
100 |
+
if ( array_key_exists( $font_id_standardized, OGF_Fonts::$google_fonts ) ) {
|
101 |
+
$variants = OGF_Fonts::$google_fonts[ $font_id_standardized ]['v'];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
|
103 |
$variants_for_url = join( array_keys( $variants ), ',' );
|
104 |
|
105 |
+
wp_enqueue_style( 'google-font-' . $font_id_standardized, 'https://fonts.googleapis.com/css?family=' . $font_id . ':' . $variants_for_url . '&display=swap', array(), OGF_VERSION );
|
106 |
|
107 |
+
$font_family = esc_attr( str_replace( '+', ' ', $font_id ) );
|
108 |
}
|
109 |
|
110 |
$style = "font-family: {$font_family};";
|
130 |
$style .= "color: {$color};";
|
131 |
}
|
132 |
|
133 |
+
$output .= '<' . $block_type . ' class="fonts-plugin-block" style="' . $style . '">';
|
134 |
$output .= $content;
|
135 |
$output .= '</' . $block_type . '>';
|
136 |
|
blocks/src/google-fonts/edit.js
CHANGED
@@ -42,7 +42,17 @@ class GoogleFontsBlock extends Component {
|
|
42 |
};
|
43 |
} );
|
44 |
|
45 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
}
|
47 |
|
48 |
searchFonts( nameKey, myArray ){
|
@@ -53,15 +63,23 @@ class GoogleFontsBlock extends Component {
|
|
53 |
}
|
54 |
}
|
55 |
|
56 |
-
|
57 |
-
const searchResults = this.searchFonts( fontID,
|
58 |
|
59 |
if ( typeof searchResults === 'object' ) {
|
60 |
return true;
|
61 |
}
|
62 |
|
63 |
return false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
|
|
|
65 |
}
|
66 |
|
67 |
/**
|
@@ -138,7 +156,7 @@ class GoogleFontsBlock extends Component {
|
|
138 |
* @param {Object} fontObject The font object.
|
139 |
*/
|
140 |
addGoogleFontToHead( fontFamily, fontObject ) {
|
141 |
-
if ( ! fontFamily || ! fontObject
|
142 |
return;
|
143 |
}
|
144 |
|
@@ -174,7 +192,7 @@ class GoogleFontsBlock extends Component {
|
|
174 |
},
|
175 |
];
|
176 |
|
177 |
-
if ( ! this.isSystemFont( fontID ) ) {
|
178 |
const fontObject = this.getFontObject( fontID.replace( /\+/g, ' ' ) );
|
179 |
variantOptions = this.getVariantsForSelect( fontObject );
|
180 |
this.addGoogleFontToHead( fontID, fontObject );
|
42 |
};
|
43 |
} );
|
44 |
|
45 |
+
const combinedFonts = systemFonts.concat( googleFonts );
|
46 |
+
|
47 |
+
const customFonts = Object.values(ogf_custom_fonts).map( ( font ) => {
|
48 |
+
|
49 |
+
return {
|
50 |
+
value: font.id,
|
51 |
+
label: font.label,
|
52 |
+
};
|
53 |
+
} );
|
54 |
+
|
55 |
+
return combinedFonts.concat( customFonts );
|
56 |
}
|
57 |
|
58 |
searchFonts( nameKey, myArray ){
|
63 |
}
|
64 |
}
|
65 |
|
66 |
+
isCustomFont( fontID ) {
|
67 |
+
const searchResults = this.searchFonts( fontID, Object.values(ogf_custom_fonts) );
|
68 |
|
69 |
if ( typeof searchResults === 'object' ) {
|
70 |
return true;
|
71 |
}
|
72 |
|
73 |
return false;
|
74 |
+
}
|
75 |
+
|
76 |
+
isSystemFont( fontID ) {
|
77 |
+
const searchResults = this.searchFonts( fontID, systemFontsJson.items );
|
78 |
+
if ( typeof searchResults === 'object' ) {
|
79 |
+
return true;
|
80 |
+
}
|
81 |
|
82 |
+
return false;
|
83 |
}
|
84 |
|
85 |
/**
|
156 |
* @param {Object} fontObject The font object.
|
157 |
*/
|
158 |
addGoogleFontToHead( fontFamily, fontObject ) {
|
159 |
+
if ( ! fontFamily || ! fontObject ) {
|
160 |
return;
|
161 |
}
|
162 |
|
192 |
},
|
193 |
];
|
194 |
|
195 |
+
if ( ! this.isSystemFont( fontID ) && ! this.isCustomFont( fontID ) ) {
|
196 |
const fontObject = this.getFontObject( fontID.replace( /\+/g, ' ' ) );
|
197 |
variantOptions = this.getVariantsForSelect( fontObject );
|
198 |
this.addGoogleFontToHead( fontID, fontObject );
|
changelog.txt
CHANGED
@@ -1,3 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
1 |
= 2.1.9 =
|
2 |
|
3 |
* Fix minor javascript error
|
1 |
+
= 2.2.0 =
|
2 |
+
|
3 |
+
* Performance improvements
|
4 |
+
* Add easy access links in wp-admin
|
5 |
+
|
6 |
= 2.1.9 =
|
7 |
|
8 |
* Fix minor javascript error
|
class-olympus-google-fonts.php
CHANGED
@@ -39,6 +39,10 @@ class Olympus_Google_Fonts {
|
|
39 |
*/
|
40 |
public function includes() {
|
41 |
|
|
|
|
|
|
|
|
|
42 |
// Required files for building the Google Fonts URL.
|
43 |
include OGF_DIR_PATH . 'includes/functions.php';
|
44 |
include OGF_DIR_PATH . 'includes/class-ogf-fonts.php';
|
@@ -84,7 +88,7 @@ class Olympus_Google_Fonts {
|
|
84 |
|
85 |
$fonts = new OGF_Fonts();
|
86 |
|
87 |
-
if ( $fonts->
|
88 |
$url = $fonts->build_url();
|
89 |
wp_enqueue_style( 'olympus-google-fonts', $url, array(), OGF_VERSION );
|
90 |
|
@@ -123,6 +127,7 @@ class Olympus_Google_Fonts {
|
|
123 |
|
124 |
wp_localize_script( 'ogf-customize-controls', 'ogf_font_array', ogf_fonts_array() );
|
125 |
wp_localize_script( 'ogf-customize-controls', 'ogf_system_fonts', ogf_system_fonts() );
|
|
|
126 |
wp_localize_script( 'ogf-customize-controls', 'ogf_font_variants', ogf_font_variants() );
|
127 |
}
|
128 |
|
@@ -137,6 +142,7 @@ class Olympus_Google_Fonts {
|
|
137 |
|
138 |
wp_localize_script( 'ogf-customize-preview', 'ogf_elements', $elements );
|
139 |
wp_localize_script( 'ogf-customize-preview', 'ogf_system_fonts', ogf_system_fonts() );
|
|
|
140 |
|
141 |
}
|
142 |
|
39 |
*/
|
40 |
public function includes() {
|
41 |
|
42 |
+
// Custom uploads functionality.
|
43 |
+
require OGF_DIR_PATH . 'includes/class-ogf-fonts-taxonomy.php';
|
44 |
+
require OGF_DIR_PATH . 'admin/class-ogf-upload-fonts-screen.php';
|
45 |
+
|
46 |
// Required files for building the Google Fonts URL.
|
47 |
include OGF_DIR_PATH . 'includes/functions.php';
|
48 |
include OGF_DIR_PATH . 'includes/class-ogf-fonts.php';
|
88 |
|
89 |
$fonts = new OGF_Fonts();
|
90 |
|
91 |
+
if ( $fonts->has_google_fonts() ) {
|
92 |
$url = $fonts->build_url();
|
93 |
wp_enqueue_style( 'olympus-google-fonts', $url, array(), OGF_VERSION );
|
94 |
|
127 |
|
128 |
wp_localize_script( 'ogf-customize-controls', 'ogf_font_array', ogf_fonts_array() );
|
129 |
wp_localize_script( 'ogf-customize-controls', 'ogf_system_fonts', ogf_system_fonts() );
|
130 |
+
wp_localize_script( 'ogf-customize-controls', 'ogf_custom_fonts', ogf_custom_fonts() );
|
131 |
wp_localize_script( 'ogf-customize-controls', 'ogf_font_variants', ogf_font_variants() );
|
132 |
}
|
133 |
|
142 |
|
143 |
wp_localize_script( 'ogf-customize-preview', 'ogf_elements', $elements );
|
144 |
wp_localize_script( 'ogf-customize-preview', 'ogf_system_fonts', ogf_system_fonts() );
|
145 |
+
wp_localize_script( 'ogf-customize-preview', 'ogf_custom_fonts', ogf_custom_fonts() );
|
146 |
|
147 |
}
|
148 |
|
includes/class-ogf-classic-editor.php
CHANGED
@@ -32,10 +32,9 @@ if ( ! class_exists( 'OGF_Classic_Editor' ) ) :
|
|
32 |
* Class constructor.
|
33 |
*/
|
34 |
public function __construct() {
|
|
|
35 |
$this->ogf_fonts = new OGF_Fonts();
|
36 |
-
|
37 |
-
return;
|
38 |
-
}
|
39 |
add_filter( 'mce_buttons', array( $this, 'tinymce_add_buttons' ), 1 );
|
40 |
add_filter( 'tiny_mce_before_init', array( $this, 'tinymce_custom_options' ) );
|
41 |
add_filter( 'ogf_classic_font_formats', array( $this, 'tinymce_add_fonts' ) );
|
@@ -64,6 +63,20 @@ if ( ! class_exists( 'OGF_Classic_Editor' ) ) :
|
|
64 |
$base_type = get_theme_mod( 'ogf_body_font' );
|
65 |
$headings_type = get_theme_mod( 'ogf_headings_font' );
|
66 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
$opt['font_formats'] = apply_filters( 'ogf_classic_font_formats', 'Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;' );
|
68 |
|
69 |
if ( ! isset( $opt['content_style'] ) ) {
|
@@ -77,6 +90,7 @@ if ( ! class_exists( 'OGF_Classic_Editor' ) ) :
|
|
77 |
$opt['content_style'] .= '#tinymce h1, #tinymce h2, #tinymce h3, #tinymce h4, #tinymce h5, #tinymce h6 { font-family: ' . $headings_type . ' !important; }';
|
78 |
}
|
79 |
|
|
|
80 |
return $opt;
|
81 |
}
|
82 |
|
@@ -89,7 +103,13 @@ if ( ! class_exists( 'OGF_Classic_Editor' ) ) :
|
|
89 |
$new_default = '';
|
90 |
$choices = $this->ogf_fonts->choices;
|
91 |
foreach ( array_unique( $choices ) as $font ) {
|
92 |
-
if (
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
$new_default .= $this->ogf_fonts->get_font_name( $font ) . '=' . $this->ogf_fonts->get_font_name( $font ) . ';';
|
94 |
}
|
95 |
}
|
@@ -102,7 +122,7 @@ if ( ! class_exists( 'OGF_Classic_Editor' ) ) :
|
|
102 |
*/
|
103 |
public function google_fonts_enqueue() {
|
104 |
global $editor_styles;
|
105 |
-
if ( $this->ogf_fonts->
|
106 |
$editor_styles[] = $this->ogf_fonts->build_url();
|
107 |
}
|
108 |
}
|
32 |
* Class constructor.
|
33 |
*/
|
34 |
public function __construct() {
|
35 |
+
|
36 |
$this->ogf_fonts = new OGF_Fonts();
|
37 |
+
|
|
|
|
|
38 |
add_filter( 'mce_buttons', array( $this, 'tinymce_add_buttons' ), 1 );
|
39 |
add_filter( 'tiny_mce_before_init', array( $this, 'tinymce_custom_options' ) );
|
40 |
add_filter( 'ogf_classic_font_formats', array( $this, 'tinymce_add_fonts' ) );
|
63 |
$base_type = get_theme_mod( 'ogf_body_font' );
|
64 |
$headings_type = get_theme_mod( 'ogf_headings_font' );
|
65 |
|
66 |
+
if ( ogf_is_custom_font( $base_type ) ) {
|
67 |
+
$base_type = str_replace( 'cf-', '', $base_type );
|
68 |
+
}
|
69 |
+
if ( ogf_is_custom_font( $headings_type ) ) {
|
70 |
+
$headings_type = str_replace( 'cf-', '', $headings_type );
|
71 |
+
}
|
72 |
+
|
73 |
+
if ( ogf_is_system_font( $base_type ) ) {
|
74 |
+
$base_type = str_replace( 'cf-', '', $base_type );
|
75 |
+
}
|
76 |
+
if ( ogf_is_system_font( $headings_type ) ) {
|
77 |
+
$headings_type = str_replace( 'cf-', '', $headings_type );
|
78 |
+
}
|
79 |
+
|
80 |
$opt['font_formats'] = apply_filters( 'ogf_classic_font_formats', 'Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;' );
|
81 |
|
82 |
if ( ! isset( $opt['content_style'] ) ) {
|
90 |
$opt['content_style'] .= '#tinymce h1, #tinymce h2, #tinymce h3, #tinymce h4, #tinymce h5, #tinymce h6 { font-family: ' . $headings_type . ' !important; }';
|
91 |
}
|
92 |
|
93 |
+
$opt['content_style'] .= render_custom_font_css();
|
94 |
return $opt;
|
95 |
}
|
96 |
|
103 |
$new_default = '';
|
104 |
$choices = $this->ogf_fonts->choices;
|
105 |
foreach ( array_unique( $choices ) as $font ) {
|
106 |
+
if ( ogf_is_system_font( $font ) ) {
|
107 |
+
// do nothing.
|
108 |
+
} elseif ( ogf_is_custom_font( $font ) ) {
|
109 |
+
$fonts = ogf_custom_fonts();
|
110 |
+
$font = str_replace( 'cf-', '', $font );
|
111 |
+
$new_default .= $fonts[ $font ]['label'] . '=' . $fonts[ $font ]['stack'] . ';';
|
112 |
+
} else {
|
113 |
$new_default .= $this->ogf_fonts->get_font_name( $font ) . '=' . $this->ogf_fonts->get_font_name( $font ) . ';';
|
114 |
}
|
115 |
}
|
122 |
*/
|
123 |
public function google_fonts_enqueue() {
|
124 |
global $editor_styles;
|
125 |
+
if ( $this->ogf_fonts->has_google_fonts() ) {
|
126 |
$editor_styles[] = $this->ogf_fonts->build_url();
|
127 |
}
|
128 |
}
|
includes/class-ogf-fonts-taxonomy.php
ADDED
@@ -0,0 +1,205 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Custom Fonts Upload Taxonomy
|
4 |
+
*
|
5 |
+
* @package olympus-google-fonts
|
6 |
+
*/
|
7 |
+
|
8 |
+
/**
|
9 |
+
* OGF_Fonts_Taxonomy
|
10 |
+
*/
|
11 |
+
class OGF_Fonts_Taxonomy {
|
12 |
+
/**
|
13 |
+
* Instance of OGF_Fonts_Taxonomy
|
14 |
+
*
|
15 |
+
* @var (Object) OGF_Fonts_Taxonomy
|
16 |
+
*/
|
17 |
+
private static $instance = null;
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Fonts
|
21 |
+
*
|
22 |
+
* @var (string) $fonts
|
23 |
+
*/
|
24 |
+
public static $fonts = null;
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Capability required for this menu to be displayed
|
28 |
+
*
|
29 |
+
* @var (string) $capability
|
30 |
+
*/
|
31 |
+
public static $capability = 'edit_theme_options';
|
32 |
+
|
33 |
+
/**
|
34 |
+
* Register Taxonomy
|
35 |
+
*
|
36 |
+
* @var (string) $register_taxonomy
|
37 |
+
*/
|
38 |
+
public static $taxonomy_slug = 'ogf_custom_fonts';
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Instance of OGF_Fonts_Taxonomy.
|
42 |
+
*
|
43 |
+
* @return object Class object.
|
44 |
+
*/
|
45 |
+
public static function get_instance() {
|
46 |
+
if ( ! isset( self::$instance ) ) {
|
47 |
+
self::$instance = new self();
|
48 |
+
}
|
49 |
+
|
50 |
+
return self::$instance;
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Constructor.
|
55 |
+
*/
|
56 |
+
public function __construct() {
|
57 |
+
$this->register_fonts_taxonomy();
|
58 |
+
}
|
59 |
+
|
60 |
+
/**
|
61 |
+
* Register custom font taxonomy
|
62 |
+
*/
|
63 |
+
public function register_fonts_taxonomy() {
|
64 |
+
$labels = array(
|
65 |
+
'name' => __( 'Custom Fonts', 'olympus-google-fonts' ),
|
66 |
+
'singular_name' => __( 'Font', 'olympus-google-fonts' ),
|
67 |
+
'menu_name' => _x( 'Custom Fonts', 'Admin menu name', 'olympus-google-fonts' ),
|
68 |
+
'search_items' => __( 'Search Fonts', 'olympus-google-fonts' ),
|
69 |
+
'all_items' => __( 'All Fonts', 'olympus-google-fonts' ),
|
70 |
+
'parent_item' => __( 'Parent Font', 'olympus-google-fonts' ),
|
71 |
+
'parent_item_colon' => __( 'Parent Font:', 'olympus-google-fonts' ),
|
72 |
+
'edit_item' => __( 'Edit Font', 'olympus-google-fonts' ),
|
73 |
+
'update_item' => __( 'Update Font', 'olympus-google-fonts' ),
|
74 |
+
'add_new_item' => __( 'Add New Font', 'olympus-google-fonts' ),
|
75 |
+
'new_item_name' => __( 'New Font Name', 'olympus-google-fonts' ),
|
76 |
+
'not_found' => __( 'No fonts found', 'olympus-google-fonts' ),
|
77 |
+
);
|
78 |
+
|
79 |
+
$args = array(
|
80 |
+
'hierarchical' => false,
|
81 |
+
'labels' => $labels,
|
82 |
+
'public' => false,
|
83 |
+
'show_in_nav_menus' => false,
|
84 |
+
'show_ui' => true,
|
85 |
+
'capabilities' => array( self::$capability ),
|
86 |
+
'query_var' => false,
|
87 |
+
'rewrite' => false,
|
88 |
+
);
|
89 |
+
|
90 |
+
register_taxonomy(
|
91 |
+
self::$taxonomy_slug,
|
92 |
+
array(),
|
93 |
+
$args
|
94 |
+
);
|
95 |
+
}
|
96 |
+
|
97 |
+
/**
|
98 |
+
* Default fonts
|
99 |
+
*
|
100 |
+
* @param array $fonts fonts array of fonts.
|
101 |
+
*/
|
102 |
+
protected static function default_args( $fonts ) {
|
103 |
+
return wp_parse_args(
|
104 |
+
$fonts,
|
105 |
+
array(
|
106 |
+
'woff' => '',
|
107 |
+
'woff2' => '',
|
108 |
+
'ttf' => '',
|
109 |
+
'otf' => '',
|
110 |
+
)
|
111 |
+
);
|
112 |
+
}
|
113 |
+
|
114 |
+
/**
|
115 |
+
* Get fonts
|
116 |
+
*
|
117 |
+
* @return array $fonts fonts array of fonts.
|
118 |
+
*/
|
119 |
+
public static function get_fonts() {
|
120 |
+
|
121 |
+
if ( is_null( self::$fonts ) ) {
|
122 |
+
self::$fonts = array();
|
123 |
+
|
124 |
+
$terms = get_terms(
|
125 |
+
self::$taxonomy_slug,
|
126 |
+
array(
|
127 |
+
'hide_empty' => false,
|
128 |
+
)
|
129 |
+
);
|
130 |
+
|
131 |
+
if ( ! empty( $terms ) ) {
|
132 |
+
foreach ( $terms as $term ) {
|
133 |
+
self::$fonts[ $term->slug ]['id'] = $term->slug;
|
134 |
+
self::$fonts[ $term->slug ]['label'] = $term->name;
|
135 |
+
self::$fonts[ $term->slug ]['stack'] = $term->slug;
|
136 |
+
self::$fonts[ $term->slug ]['files'] = self::get_font_links( $term->term_id );
|
137 |
+
}
|
138 |
+
}
|
139 |
+
}
|
140 |
+
return self::$fonts;
|
141 |
+
}
|
142 |
+
|
143 |
+
/**
|
144 |
+
* Get font data from name
|
145 |
+
*
|
146 |
+
* @param string $name custom font name.
|
147 |
+
* @return array $font_links custom font data.
|
148 |
+
*/
|
149 |
+
public static function get_links_by_name( $name ) {
|
150 |
+
|
151 |
+
$terms = get_terms(
|
152 |
+
self::$taxonomy_slug,
|
153 |
+
array(
|
154 |
+
'hide_empty' => false,
|
155 |
+
)
|
156 |
+
);
|
157 |
+
|
158 |
+
$font_links = array();
|
159 |
+
|
160 |
+
if ( ! empty( $terms ) ) {
|
161 |
+
|
162 |
+
foreach ( $terms as $term ) {
|
163 |
+
if ( $term->name == $name ) {
|
164 |
+
$font_links[ $term->slug ] = self::get_font_links( $term->term_id );
|
165 |
+
}
|
166 |
+
}
|
167 |
+
}
|
168 |
+
|
169 |
+
return $font_links;
|
170 |
+
|
171 |
+
}
|
172 |
+
|
173 |
+
/**
|
174 |
+
* Get font links
|
175 |
+
*
|
176 |
+
* @param int $term_id custom font term id.
|
177 |
+
* @return array $links custom font data links.
|
178 |
+
*/
|
179 |
+
public static function get_font_links( $term_id ) {
|
180 |
+
$links = get_option( 'taxonomy_' . self::$taxonomy_slug . "_{$term_id}", array() );
|
181 |
+
return self::default_args( $links );
|
182 |
+
}
|
183 |
+
|
184 |
+
/**
|
185 |
+
* Update font data from name
|
186 |
+
*
|
187 |
+
* @param array $posted custom font data.
|
188 |
+
* @param int $term_id custom font term id.
|
189 |
+
*/
|
190 |
+
public static function update_font_links( $posted, $term_id ) {
|
191 |
+
|
192 |
+
$links = self::get_font_links( $term_id );
|
193 |
+
foreach ( array_keys( $links ) as $key ) {
|
194 |
+
if ( isset( $posted[ $key ] ) ) {
|
195 |
+
$links[ $key ] = $posted[ $key ];
|
196 |
+
} else {
|
197 |
+
$links[ $key ] = '';
|
198 |
+
}
|
199 |
+
}
|
200 |
+
update_option( 'taxonomy_' . self::$taxonomy_slug . "_{$term_id}", $links );
|
201 |
+
}
|
202 |
+
|
203 |
+
}
|
204 |
+
|
205 |
+
OGF_Fonts_Taxonomy::get_instance();
|
includes/class-ogf-fonts.php
CHANGED
@@ -17,7 +17,7 @@ class OGF_Fonts {
|
|
17 |
*
|
18 |
* @var array
|
19 |
*/
|
20 |
-
public $google_fonts = array();
|
21 |
|
22 |
/**
|
23 |
* The users font choices.
|
@@ -31,7 +31,7 @@ class OGF_Fonts {
|
|
31 |
*/
|
32 |
public function __construct() {
|
33 |
|
34 |
-
|
35 |
$this->get_choices();
|
36 |
|
37 |
}
|
@@ -85,7 +85,11 @@ class OGF_Fonts {
|
|
85 |
*/
|
86 |
public function get_font_weights( $font_id ) {
|
87 |
|
88 |
-
$weights =
|
|
|
|
|
|
|
|
|
89 |
|
90 |
unset( $weights['0'] );
|
91 |
|
@@ -104,21 +108,30 @@ class OGF_Fonts {
|
|
104 |
*/
|
105 |
public function get_font_name( $font_id ) {
|
106 |
|
107 |
-
return
|
108 |
|
109 |
}
|
110 |
|
111 |
/**
|
112 |
-
*
|
113 |
*/
|
114 |
public function has_custom_fonts() {
|
115 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
116 |
if ( empty( $this->choices ) ) {
|
117 |
return false;
|
118 |
}
|
119 |
|
120 |
foreach ( $this->choices as $choice ) {
|
121 |
-
if ( ! ogf_is_system_font( $choice ) ) {
|
122 |
return true;
|
123 |
}
|
124 |
}
|
@@ -167,23 +180,23 @@ class OGF_Fonts {
|
|
167 |
foreach ( $fonts as $font_id ) {
|
168 |
|
169 |
// Check the users choice is a real font.
|
170 |
-
if ( array_key_exists( $font_id,
|
171 |
|
172 |
-
$font_id_for_url = $this->get_font_id(
|
173 |
|
174 |
-
$weights = $this->filter_selected_weights( $font_id,
|
175 |
|
176 |
$families[] = $font_id_for_url . ':' . implode( ',', array_keys( $weights ) );
|
177 |
|
178 |
}
|
179 |
}
|
180 |
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
|
186 |
-
|
187 |
|
188 |
}
|
189 |
|
17 |
*
|
18 |
* @var array
|
19 |
*/
|
20 |
+
public static $google_fonts = array();
|
21 |
|
22 |
/**
|
23 |
* The users font choices.
|
31 |
*/
|
32 |
public function __construct() {
|
33 |
|
34 |
+
self::$google_fonts = ogf_fonts_array();
|
35 |
$this->get_choices();
|
36 |
|
37 |
}
|
85 |
*/
|
86 |
public function get_font_weights( $font_id ) {
|
87 |
|
88 |
+
$weights = self::$google_fonts[ $font_id ]['v'];
|
89 |
+
|
90 |
+
if ( ! is_array( $weights ) ) {
|
91 |
+
return array();
|
92 |
+
}
|
93 |
|
94 |
unset( $weights['0'] );
|
95 |
|
108 |
*/
|
109 |
public function get_font_name( $font_id ) {
|
110 |
|
111 |
+
return self::$google_fonts[ $font_id ]['f'];
|
112 |
|
113 |
}
|
114 |
|
115 |
/**
|
116 |
+
* DEPRECATED use has_google_fonts() instead.
|
117 |
*/
|
118 |
public function has_custom_fonts() {
|
119 |
|
120 |
+
return $this->has_google_fonts();
|
121 |
+
|
122 |
+
}
|
123 |
+
|
124 |
+
/**
|
125 |
+
* Helper to check if the user is using any Google fonts.
|
126 |
+
*/
|
127 |
+
public function has_google_fonts() {
|
128 |
+
|
129 |
if ( empty( $this->choices ) ) {
|
130 |
return false;
|
131 |
}
|
132 |
|
133 |
foreach ( $this->choices as $choice ) {
|
134 |
+
if ( ! ogf_is_system_font( $choice ) && ! ogf_is_custom_font( $choice ) ) {
|
135 |
return true;
|
136 |
}
|
137 |
}
|
180 |
foreach ( $fonts as $font_id ) {
|
181 |
|
182 |
// Check the users choice is a real font.
|
183 |
+
if ( array_key_exists( $font_id, self::$google_fonts ) ) {
|
184 |
|
185 |
+
$font_id_for_url = $this->get_font_id( self::$google_fonts[ $font_id ]['f'] );
|
186 |
|
187 |
+
$weights = $this->filter_selected_weights( $font_id, self::$google_fonts[ $font_id ]['v'] );
|
188 |
|
189 |
$families[] = $font_id_for_url . ':' . implode( ',', array_keys( $weights ) );
|
190 |
|
191 |
}
|
192 |
}
|
193 |
|
194 |
+
$query_args = array(
|
195 |
+
'family' => implode( '|', $families ),
|
196 |
+
'display' => 'swap',
|
197 |
+
);
|
198 |
|
199 |
+
return add_query_arg( $query_args, 'https://fonts.googleapis.com/css' );
|
200 |
|
201 |
}
|
202 |
|
includes/class-ogf-welcome.php
CHANGED
@@ -86,7 +86,7 @@ if ( ! class_exists( 'OGF_Welcome' ) ) :
|
|
86 |
}
|
87 |
?>
|
88 |
|
89 |
-
<div class="notice notice-<?php echo esc_attr( $this->type ); ?> is-dismissible notice-dismiss-dc"
|
90 |
<p>
|
91 |
<?php
|
92 |
echo $this->message; // WPCS: XSS ok.
|
86 |
}
|
87 |
?>
|
88 |
|
89 |
+
<div class="notice notice-<?php echo esc_attr( $this->type ); ?> is-dismissible notice-dismiss-dc" data-notice="<?php echo esc_attr( $this->slug ); ?>">
|
90 |
<p>
|
91 |
<?php
|
92 |
echo $this->message; // WPCS: XSS ok.
|
includes/customizer/controls/class-ogf-customize-typography-control.php
CHANGED
@@ -128,7 +128,7 @@ class OGF_Customize_Typography_Control extends WP_Customize_Control {
|
|
128 |
<option value="default">
|
129 |
<?php esc_html_e( 'Default Font', 'olympus-google-fonts' ); ?>
|
130 |
</option>
|
131 |
-
<# if (
|
132 |
<option disabled><?php esc_html_e( '- Custom Fonts -', 'olympus-google-fonts' ); ?></option>
|
133 |
<# _.each( ogf_custom_fonts, function( font_data, font_id ) { #>
|
134 |
<option value="cf-{{ font_id }}" <# if ( font_id === data.family.value ) { #> selected="selected" <# } #>>{{ font_data.label }}</option>
|
@@ -258,7 +258,7 @@ class OGF_Customize_Typography_Control extends WP_Customize_Control {
|
|
258 |
return $all_variants;
|
259 |
}
|
260 |
|
261 |
-
if ( ogf_is_system_font( $font ) ) {
|
262 |
return array(
|
263 |
'0' => esc_html__( '- Default -', 'olympus-google-fonts' ),
|
264 |
'400' => esc_html__( 'Normal', 'olympus-google-fonts' ),
|
128 |
<option value="default">
|
129 |
<?php esc_html_e( 'Default Font', 'olympus-google-fonts' ); ?>
|
130 |
</option>
|
131 |
+
<# if ( ! _.isEmpty( ogf_custom_fonts ) ) { #>
|
132 |
<option disabled><?php esc_html_e( '- Custom Fonts -', 'olympus-google-fonts' ); ?></option>
|
133 |
<# _.each( ogf_custom_fonts, function( font_data, font_id ) { #>
|
134 |
<option value="cf-{{ font_id }}" <# if ( font_id === data.family.value ) { #> selected="selected" <# } #>>{{ font_data.label }}</option>
|
258 |
return $all_variants;
|
259 |
}
|
260 |
|
261 |
+
if ( ogf_is_system_font( $font ) || ogf_is_custom_font( $font ) ) {
|
262 |
return array(
|
263 |
'0' => esc_html__( '- Default -', 'olympus-google-fonts' ),
|
264 |
'400' => esc_html__( 'Normal', 'olympus-google-fonts' ),
|
includes/customizer/controls/class-ogf-customize-upsell-control.php
CHANGED
@@ -37,7 +37,7 @@ class OGF_Customize_Upsell_Control extends WP_Customize_Control {
|
|
37 |
<li>✅ Unlock Font Size & Color</li>
|
38 |
<li>📦 Host Fonts Locally</li>
|
39 |
<li>⚡️ Optimized Font Loading</li>
|
40 |
-
<li>🧙 Custom
|
41 |
</ul>
|
42 |
<a class="upsell__button button button-primary" href="https://fontsplugin.com/pro-upgrade/?utm_source=plugin&utm_medium=customizer&utm_campaign=<?php echo esc_attr( $this->section ); ?>" target="_blank">Learn More</a>
|
43 |
</div>
|
37 |
<li>✅ Unlock Font Size & Color</li>
|
38 |
<li>📦 Host Fonts Locally</li>
|
39 |
<li>⚡️ Optimized Font Loading</li>
|
40 |
+
<li>🧙 Upload Custom Fonts</li>
|
41 |
</ul>
|
42 |
<a class="upsell__button button button-primary" href="https://fontsplugin.com/pro-upgrade/?utm_source=plugin&utm_medium=customizer&utm_campaign=<?php echo esc_attr( $this->section ); ?>" target="_blank">Learn More</a>
|
43 |
</div>
|
includes/customizer/output-css.php
CHANGED
@@ -17,6 +17,7 @@ function ogf_output_css() {
|
|
17 |
<?php
|
18 |
|
19 |
do_action( 'ogf_inline_styles' );
|
|
|
20 |
|
21 |
foreach ( ogf_get_elements() as $id => $values ) {
|
22 |
ogf_generate_css( $values['selectors'], $id );
|
@@ -24,6 +25,8 @@ function ogf_output_css() {
|
|
24 |
foreach ( ogf_get_custom_elements() as $id => $values ) {
|
25 |
ogf_generate_css( $values['selectors'], $id );
|
26 |
}
|
|
|
|
|
27 |
?>
|
28 |
</style>
|
29 |
<!-- Fonts Plugin CSS -->
|
@@ -33,6 +36,43 @@ function ogf_output_css() {
|
|
33 |
// Output custom CSS to live site.
|
34 |
add_action( 'wp_head', 'ogf_output_css', 1000 );
|
35 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
/**
|
37 |
* Helper function to build the CSS styles.
|
38 |
*
|
@@ -146,24 +186,36 @@ function ogf_generate_css( $selector, $option_name ) {
|
|
146 |
*/
|
147 |
function ogf_build_font_stack( $font_id ) {
|
148 |
|
149 |
-
$
|
150 |
|
151 |
-
|
152 |
|
153 |
-
$
|
154 |
|
155 |
-
|
156 |
|
157 |
-
|
|
|
|
|
|
|
158 |
|
159 |
-
|
160 |
|
161 |
-
|
162 |
|
163 |
-
|
|
|
|
|
|
|
164 |
|
165 |
-
|
166 |
|
|
|
|
|
|
|
|
|
|
|
|
|
167 |
}
|
168 |
|
169 |
}
|
17 |
<?php
|
18 |
|
19 |
do_action( 'ogf_inline_styles' );
|
20 |
+
echo render_custom_font_css();
|
21 |
|
22 |
foreach ( ogf_get_elements() as $id => $values ) {
|
23 |
ogf_generate_css( $values['selectors'], $id );
|
25 |
foreach ( ogf_get_custom_elements() as $id => $values ) {
|
26 |
ogf_generate_css( $values['selectors'], $id );
|
27 |
}
|
28 |
+
|
29 |
+
|
30 |
?>
|
31 |
</style>
|
32 |
<!-- Fonts Plugin CSS -->
|
36 |
// Output custom CSS to live site.
|
37 |
add_action( 'wp_head', 'ogf_output_css', 1000 );
|
38 |
|
39 |
+
/**
|
40 |
+
*
|
41 |
+
*/
|
42 |
+
function render_custom_font_css() {
|
43 |
+
$fonts = OGF_Fonts_Taxonomy::get_fonts();
|
44 |
+
|
45 |
+
$css = '';
|
46 |
+
|
47 |
+
foreach ( $fonts as $font => $data ) {
|
48 |
+
|
49 |
+
$files = $data['files'];
|
50 |
+
|
51 |
+
if ( $files['woff'] || $files['woff2'] || $files['ttf'] || $files['otf'] ) {
|
52 |
+
|
53 |
+
$arr = array();
|
54 |
+
$css .= '@font-face { font-family:' . esc_attr( $font ) . '; src:';
|
55 |
+
if ( $data['files']['woff'] ) {
|
56 |
+
$arr[] = 'url(' . esc_url( $data['files']['woff'] ) . ") format('woff')";
|
57 |
+
}
|
58 |
+
if ( $data['files']['woff2'] ) {
|
59 |
+
$arr[] = 'url(' . esc_url( $data['files']['woff2'] ) . ") format('woff2')";
|
60 |
+
}
|
61 |
+
if ( $data['files']['ttf'] ) {
|
62 |
+
$arr[] = 'url(' . esc_url( $data['files']['ttf'] ) . ") format('truetype')";
|
63 |
+
}
|
64 |
+
if ( $data['files']['otf'] ) {
|
65 |
+
$arr[] = 'url(' . esc_url( $data['files']['otf'] ) . ") format('opentype')";
|
66 |
+
}
|
67 |
+
$css .= join( ', ', $arr );
|
68 |
+
$css .= '; }';
|
69 |
+
}
|
70 |
+
}
|
71 |
+
|
72 |
+
return $css;
|
73 |
+
|
74 |
+
}
|
75 |
+
|
76 |
/**
|
77 |
* Helper function to build the CSS styles.
|
78 |
*
|
186 |
*/
|
187 |
function ogf_build_font_stack( $font_id ) {
|
188 |
|
189 |
+
if ( strpos( $font_id, 'sf-' ) !== false ) {
|
190 |
|
191 |
+
$system_fonts = ogf_system_fonts();
|
192 |
|
193 |
+
$font_id = str_replace( 'sf-', '', $font_id );
|
194 |
|
195 |
+
if ( array_key_exists( $font_id, $system_fonts ) ) {
|
196 |
|
197 |
+
return $system_fonts[ $font_id ]['stack'];
|
198 |
+
|
199 |
+
}
|
200 |
+
} elseif ( strpos( $font_id, 'cf-' ) !== false ) {
|
201 |
|
202 |
+
$custom_fonts = ogf_custom_fonts();
|
203 |
|
204 |
+
$font_id = str_replace( 'cf-', '', $font_id );
|
205 |
|
206 |
+
if ( array_key_exists( $font_id, $custom_fonts ) ) {
|
207 |
+
return $custom_fonts[ $font_id ]['stack'];
|
208 |
+
}
|
209 |
+
} else {
|
210 |
|
211 |
+
$google_fonts = ogf_fonts_array();
|
212 |
|
213 |
+
if ( array_key_exists( $font_id, $google_fonts ) ) {
|
214 |
+
|
215 |
+
$stack = '"' . $google_fonts[ $font_id ]['f'] . '"';
|
216 |
+
|
217 |
+
return $stack;
|
218 |
+
}
|
219 |
}
|
220 |
|
221 |
}
|
includes/customizer/settings.php
CHANGED
@@ -185,7 +185,7 @@ function ogf_customize_register( $wp_customize ) {
|
|
185 |
// Build the selective font loading controls.
|
186 |
foreach ( $choices as $font_id ) {
|
187 |
|
188 |
-
if ( ogf_is_system_font( $font_id ) ) {
|
189 |
return;
|
190 |
}
|
191 |
|
185 |
// Build the selective font loading controls.
|
186 |
foreach ( $choices as $font_id ) {
|
187 |
|
188 |
+
if ( ogf_is_system_font( $font_id ) || ogf_is_custom_font( $font_id ) ) {
|
189 |
return;
|
190 |
}
|
191 |
|
includes/functions.php
CHANGED
@@ -190,6 +190,16 @@ function ogf_fonts_array() {
|
|
190 |
return $fonts;
|
191 |
}
|
192 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
193 |
/**
|
194 |
* Return a array of system fonts.
|
195 |
*/
|
@@ -316,3 +326,15 @@ function ogf_is_system_font( $font_id ) {
|
|
316 |
}
|
317 |
return false;
|
318 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
return $fonts;
|
191 |
}
|
192 |
|
193 |
+
/**
|
194 |
+
* Return a array of custom fonts.
|
195 |
+
*/
|
196 |
+
function ogf_custom_fonts() {
|
197 |
+
|
198 |
+
return OGF_Fonts_Taxonomy::get_fonts();
|
199 |
+
|
200 |
+
}
|
201 |
+
|
202 |
+
|
203 |
/**
|
204 |
* Return a array of system fonts.
|
205 |
*/
|
326 |
}
|
327 |
return false;
|
328 |
}
|
329 |
+
|
330 |
+
/**
|
331 |
+
* Check if a font is a custom font (not Google Font).
|
332 |
+
*
|
333 |
+
* @param string $font_id The ID of the font to check.
|
334 |
+
*/
|
335 |
+
function ogf_is_custom_font( $font_id ) {
|
336 |
+
if ( strpos( $font_id, 'cf-' ) === 0 ) {
|
337 |
+
return true;
|
338 |
+
}
|
339 |
+
return false;
|
340 |
+
}
|
includes/gutenberg/output-css.php
CHANGED
@@ -14,7 +14,7 @@ function ogf_gutenberg_enqueue_fonts() {
|
|
14 |
|
15 |
$fonts = new OGF_Fonts();
|
16 |
|
17 |
-
if ( $fonts->
|
18 |
$url = $fonts->build_url();
|
19 |
wp_enqueue_style( 'olympus-google-fonts', $url, array(), OGF_VERSION );
|
20 |
|
14 |
|
15 |
$fonts = new OGF_Fonts();
|
16 |
|
17 |
+
if ( $fonts->has_google_fonts() ) {
|
18 |
$url = $fonts->build_url();
|
19 |
wp_enqueue_style( 'olympus-google-fonts', $url, array(), OGF_VERSION );
|
20 |
|
olympus-google-fonts.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* Plugin Name: Fonts Plugin | Google Fonts Typography
|
6 |
* Plugin URI: https://wordpress.org/plugins/olympus-google-fonts/
|
7 |
* Description: The easiest to use Google Fonts typography plugin. No coding required. 900+ font choices.
|
8 |
-
* Version: 2.
|
9 |
* Author: Fonts Plugin
|
10 |
* Author URI: https://fontsplugin.com/?utm_source=wporg&utm_medium=readme&utm_campaign=description
|
11 |
* Text Domain: olympus-google-fonts
|
@@ -18,13 +18,13 @@
|
|
18 |
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
19 |
*/
|
20 |
|
21 |
-
define( 'OGF_VERSION', '2.
|
22 |
define( 'OGF_DIR_PATH', plugin_dir_path( __FILE__ ) );
|
23 |
define( 'OGF_DIR_URL', plugin_dir_url( __FILE__ ) );
|
24 |
|
25 |
require OGF_DIR_PATH . 'class-olympus-google-fonts.php';
|
26 |
require OGF_DIR_PATH . 'blocks/init.php';
|
27 |
-
require OGF_DIR_PATH . 'admin/welcome.php';
|
28 |
|
29 |
$gfwp = new Olympus_Google_Fonts();
|
30 |
|
5 |
* Plugin Name: Fonts Plugin | Google Fonts Typography
|
6 |
* Plugin URI: https://wordpress.org/plugins/olympus-google-fonts/
|
7 |
* Description: The easiest to use Google Fonts typography plugin. No coding required. 900+ font choices.
|
8 |
+
* Version: 2.2.0
|
9 |
* Author: Fonts Plugin
|
10 |
* Author URI: https://fontsplugin.com/?utm_source=wporg&utm_medium=readme&utm_campaign=description
|
11 |
* Text Domain: olympus-google-fonts
|
18 |
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
19 |
*/
|
20 |
|
21 |
+
define( 'OGF_VERSION', '2.2.0' );
|
22 |
define( 'OGF_DIR_PATH', plugin_dir_path( __FILE__ ) );
|
23 |
define( 'OGF_DIR_URL', plugin_dir_url( __FILE__ ) );
|
24 |
|
25 |
require OGF_DIR_PATH . 'class-olympus-google-fonts.php';
|
26 |
require OGF_DIR_PATH . 'blocks/init.php';
|
27 |
+
require OGF_DIR_PATH . 'admin/class-ogf-welcome-screen.php';
|
28 |
|
29 |
$gfwp = new Olympus_Google_Fonts();
|
30 |
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Donate link: https://fontsplugin.com/#pricing
|
|
5 |
Requires at least: 4.0
|
6 |
Tested up to: 5.5
|
7 |
License: GPLv2 or later
|
8 |
-
Stable tag: 2.
|
9 |
|
10 |
The easiest to use Google Fonts Typography Plugin. No coding required. 900+ font choices.
|
11 |
|
5 |
Requires at least: 4.0
|
6 |
Tested up to: 5.5
|
7 |
License: GPLv2 or later
|
8 |
+
Stable tag: 2.2.0
|
9 |
|
10 |
The easiest to use Google Fonts Typography Plugin. No coding required. 900+ font choices.
|
11 |
|