PluginProbe ʕ •ᴥ•ʔ
Elementor Website Builder – more than just a page builder / 3.20.0-beta4
Elementor Website Builder – more than just a page builder v3.20.0-beta4
4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 3.22.0-dev1 4.0.0-beta3 3.22.0-dev2 4.0.0-beta4 3.22.0-dev3 4.0.0-beta5 3.22.0-dev4 4.0.0-dev1 3.22.0-dev5 4.0.0-dev2 3.22.0-dev6 4.0.0-dev3 3.22.1 4.0.0-dev4 3.22.2 4.0.0-dev5 3.22.3 4.0.1 3.23.0 4.0.2 3.23.0-beta1 3.23.0-beta2 3.23.0-beta3 3.23.0-beta4 3.23.0-beta5 3.23.0-beta6 3.23.0-dev1 3.23.0-dev2 3.23.0-dev3 3.23.0-dev4 3.23.0-dev5 3.23.0-dev6 3.23.1 3.23.2 3.23.3 3.23.4 3.24.0 3.24.0-beta1 3.24.0-beta2 3.24.0-beta3 3.24.0-dev1 3.24.0-dev2 3.24.0-dev3 3.24.1 3.24.2 3.24.3 3.24.4 3.24.5 3.24.6 3.24.7 3.24.8 3.25.0 3.25.0-beta1 3.25.0-beta2 3.25.0-beta3 3.25.0-dev1 3.25.0-dev2 3.25.0-dev3 3.25.1 3.25.10 3.25.11 3.25.2 3.25.3 3.25.4 3.25.5 3.25.6 3.25.7 3.25.8 3.25.9 3.26.0 3.26.0-beta1 3.26.0-beta2 3.26.0-beta3 3.26.0-beta4 3.26.0-beta5 3.26.0-dev1 3.26.0-dev2 3.26.0-dev3 3.26.0-dev4 3.26.0-dev5 3.26.1 3.26.2 3.26.3 3.26.4 3.26.5 3.27.0 3.27.0-beta1 3.27.0-beta2 3.27.0-dev1 3.27.0-dev2 3.27.1 3.27.2 3.27.3 3.27.4 3.27.5 3.27.6 3.27.7 3.28.0 3.28.0-beta1 3.28.0-beta2 3.28.0-beta3 3.28.0-dev1 3.28.0-dev2 3.28.0-dev3 3.28.1 3.28.2 3.28.3 3.28.4 3.29.0 3.29.0-beta1 trunk 3.29.0-beta2 3.0.0 3.29.0-beta3 3.0.1 3.29.0-beta4 3.0.10 3.29.0-dev1 3.0.11 3.29.0-dev2 3.0.12 3.29.0-dev3 3.0.13 3.29.0-dev4 3.0.14 3.29.1 3.0.15 3.29.2 3.0.16 3.3.0 3.0.2 3.3.1 3.0.3 3.30.0 3.0.4 3.30.0-beta1 3.0.5 3.30.0-beta2 3.0.6 3.30.0-beta3 3.0.7 3.30.0-dev1 3.0.8 3.30.0-dev2 3.0.8.1 3.30.0-dev3 3.0.9 3.30.1 3.1.0 3.30.2 3.1.0-beta1 3.30.3 3.1.0-beta2 3.30.4 3.1.0-beta3 3.31.0 3.1.0-beta4 3.31.0-beta1 3.1.0-dev1 3.31.0-beta2 3.1.0-dev2 3.31.0-dev1 3.1.0-dev3 3.31.0-dev2 3.1.1 3.31.1 3.1.2 3.31.2 3.1.3 3.31.3 3.1.4 3.31.4 3.10.0 3.31.5 3.10.0-dev1 3.32.0 3.10.1 3.32.0-beta1 3.10.2 3.32.0-beta2 3.11.0 3.32.0-beta3 3.11.0-beta1 3.32.0-dev1 3.11.0-beta2 3.32.0-dev2 3.11.0-beta3 3.32.0-dev3 3.11.0-dev1 3.32.1 3.11.0-dev2 3.32.2 3.11.0-dev3 3.32.3 3.11.1 3.32.4 3.11.2 3.32.5 3.11.3 3.33.0 3.11.4 3.33.0-beta1 3.11.5 3.33.0-beta2 3.12.0 3.33.0-beta3 3.12.1 3.33.0-beta4 3.12.2 3.33.0-dev1 3.13.0 3.33.0-dev2 3.13.0-beta1 3.33.0-dev3 3.13.0-beta2 3.33.0-dev4 3.13.0-beta3 3.33.1 3.13.0-dev3 3.33.2 3.13.0-dev4 3.33.3 3.13.1 3.33.4 3.13.2 3.33.5 3.13.3 3.33.6 3.13.4 3.34.0 3.14.0 3.34.0-beta1 3.14.0-beta1 3.34.0-beta2 3.14.0-beta2 3.34.0-beta3 3.14.0-beta3 3.34.0-dev1 3.14.0-beta4 3.34.0-dev2 3.14.0-beta5 3.34.1 3.14.1 3.34.2 3.15.0 3.34.3 3.15.1 3.34.4 3.15.2 3.35.0 3.15.3 3.35.0-beta1 3.16.0 3.35.0-beta2 3.16.0-beta3 3.35.0-beta3 3.16.0-beta4 3.35.0-beta4 3.16.0-dev1 3.35.0-dev1 3.16.0-dev2 3.35.0-dev2 3.16.1 3.35.0-dev3 3.16.2 3.35.0-dev4 3.16.3 3.35.1 3.16.4 3.35.2 3.16.5 3.35.3 3.16.6 3.35.4 3.17.0 3.35.5 3.17.0-dev2 3.35.6 3.17.0-dev3 3.35.7 3.17.0-dev4 3.35.8 3.17.1 3.35.9 3.17.2 3.4.0 3.17.3 3.4.0-dev7 3.18.0 3.4.0-dev8 3.18.0-beta1 3.4.0-dev9 3.18.0-beta2 3.4.1 3.18.0-beta3 3.4.2 3.18.0-beta4 3.4.3 3.18.0-dev1 3.4.4 3.18.1 3.4.5 3.18.2 3.4.6 3.18.3 3.4.7 3.19.0 3.4.8 3.19.0-beta1 3.5.0 3.19.0-beta2 3.5.0-beta1 3.19.0-beta3 3.5.0-beta2 3.19.0-beta4 3.5.0-beta3 3.19.0-beta5 3.5.0-beta4 3.19.0-beta6 3.5.0-beta5 3.19.0-dev1 3.5.0-beta7 3.19.0-dev2 3.5.0-beta8 3.19.0-dev3 3.5.0-dev8 3.19.0-dev4 3.5.0-dev9 3.19.0-dev5 3.5.1 3.19.0-dev6 3.5.2 3.19.1 3.5.3 3.19.2 3.5.4 3.19.3 3.5.5 3.19.4 3.5.6 3.2.0 3.6.0 3.2.1 3.6.0-beta1 3.2.2 3.6.0-beta2 3.2.3 3.6.0-beta3 3.2.4 3.6.0-beta4 3.2.5 3.6.0-beta5 3.20.0 3.6.0-dev1 3.20.0-beta1 3.6.0-dev10 3.20.0-beta2 3.6.1 3.20.0-beta3 3.6.2 3.20.0-beta4 3.6.3 3.20.0-dev1 3.6.4 3.20.0-dev2 3.6.5 3.20.0-dev3 3.6.6 3.20.0-dev4 3.6.7 3.20.1 3.6.8 3.20.2 3.7.0 3.20.3 3.7.0-beta1 3.20.4 3.7.0-beta2 3.21.0 3.7.0-beta3 3.21.0-beta1 3.7.0-beta4 3.21.0-beta2 3.7.0-dev1 3.21.0-beta3 3.7.1 3.21.0-dev1 3.7.2 3.21.0-dev2 3.7.3 3.21.0-dev3 3.7.4 3.21.1 3.7.5 3.21.2 3.7.6 3.21.3 3.7.7 3.21.4 3.7.8 3.21.5 3.8.0 3.21.6 3.8.0-beta1 3.21.7 3.8.0-beta2 3.21.8 3.8.0-beta3 3.22.0 3.8.1 3.22.0-beta1 3.9.0 3.22.0-beta2 3.9.1 3.22.0-beta3 3.9.2 3.22.0-beta4 4.0.0 3.22.0-beta5 4.0.0-beta1 3.22.0-beta6 4.0.0-beta2
elementor / includes / fonts.php
elementor / includes Last commit date
admin-templates 3 years ago base 2 years ago controls 2 years ago editor-templates 2 years ago elements 2 years ago interfaces 3 years ago libraries 3 years ago managers 2 years ago settings 2 years ago template-library 2 years ago widgets 2 years ago api.php 2 years ago autoloader.php 3 years ago beta-testers.php 3 years ago compatibility.php 3 years ago conditions.php 3 years ago db.php 2 years ago embed.php 2 years ago fonts.php 3 years ago frontend.php 2 years ago heartbeat.php 3 years ago maintenance-mode.php 2 years ago maintenance.php 3 years ago plugin.php 2 years ago preview.php 2 years ago rollback.php 3 years ago shapes.php 3 years ago stylesheet.php 3 years ago tracker.php 3 years ago user.php 2 years ago utils.php 2 years ago
fonts.php
1717 lines
1 <?php
2 namespace Elementor;
3
4 use Elementor\Core\Upgrade\Manager as Upgrade_Manager;
5
6 if ( ! defined( 'ABSPATH' ) ) {
7 exit; // Exit if accessed directly.
8 }
9
10 /**
11 * Elementor fonts.
12 *
13 * Elementor fonts handler class is responsible for registering the supported
14 * fonts used by Elementor.
15 *
16 * @since 1.0.0
17 */
18 class Fonts {
19
20 /**
21 * The system font name.
22 */
23 const SYSTEM = 'system';
24
25 /**
26 * The google font name.
27 */
28 const GOOGLE = 'googlefonts';
29
30 /**
31 * The google early access font name.
32 */
33 const EARLYACCESS = 'earlyaccess';
34
35 /**
36 * The local font name.
37 */
38 const LOCAL = 'local';
39
40 private static $fonts;
41
42 /**
43 * Font groups.
44 *
45 * Used to hold font types/groups.
46 *
47 * @since 1.9.4
48 * @access private
49 * @static
50 *
51 * @var null|array
52 */
53 private static $font_groups;
54
55 private static $is_google_fonts_enabled = null;
56
57 /**
58 * Get font Groups.
59 *
60 * Retrieve the list of font groups.
61 *
62 * @since 1.9.4
63 * @access public
64 * @static
65 *
66 * @return array Supported font groups/types.
67 */
68 public static function get_font_groups() {
69 if ( null === self::$font_groups ) {
70 $font_groups = [
71 self::SYSTEM => esc_html__( 'System', 'elementor' ),
72 ];
73
74 if ( static::is_google_fonts_enabled() ) {
75 $font_groups = array_merge( $font_groups, [
76 self::GOOGLE => esc_html__( 'Google', 'elementor' ),
77 self::EARLYACCESS => esc_html__( 'Google (Early Access)', 'elementor' ),
78 ] );
79 }
80
81 /**
82 * Font groups.
83 *
84 * Filters the fonts groups used by Elementor.
85 *
86 * @since 1.9.4
87 *
88 * @param array $font_groups Font groups.
89 */
90 $font_groups = apply_filters( 'elementor/fonts/groups', $font_groups );
91
92 self::$font_groups = $font_groups;
93 }
94
95 return self::$font_groups;
96 }
97
98 /**
99 * Get fonts.
100 *
101 * Retrieve the list of supported fonts.
102 *
103 * @since 1.0.0
104 * @access public
105 * @static
106 *
107 * @return array Supported fonts.
108 */
109 public static function get_fonts() {
110 if ( null === self::$fonts ) {
111 $additional_fonts = [];
112
113 /**
114 * Additional fonts.
115 *
116 * Filters the fonts used by Elementor to add additional fonts.
117 *
118 * @since 1.9.4
119 *
120 * @param array $additional_fonts Additional Elementor fonts.
121 */
122 $additional_fonts = apply_filters( 'elementor/fonts/additional_fonts', $additional_fonts );
123
124 self::$fonts = array_replace( self::get_native_fonts(), $additional_fonts );
125 }
126
127 return self::$fonts;
128 }
129
130 /**
131 * Get Elementor native fonts.
132 *
133 * Retrieve the list of supported fonts.
134 *
135 * @since 1.9.4
136 * @access private
137 * @static
138 *
139 * @return array Supported fonts.
140 */
141 private static function get_native_fonts() {
142 $fonts = [
143 // System fonts.
144 'Arial' => self::SYSTEM,
145 'Tahoma' => self::SYSTEM,
146 'Verdana' => self::SYSTEM,
147 'Helvetica' => self::SYSTEM,
148 'Times New Roman' => self::SYSTEM,
149 'Trebuchet MS' => self::SYSTEM,
150 'Georgia' => self::SYSTEM,
151 ];
152
153 if ( static::is_google_fonts_enabled() ) {
154 $fonts = array_merge( $fonts, [
155 // Google Fonts (last update: 19/01/2023).
156 'ABeeZee' => self::GOOGLE,
157 'Abel' => self::GOOGLE,
158 'Abhaya Libre' => self::GOOGLE,
159 'Aboreto' => self::GOOGLE,
160 'Abril Fatface' => self::GOOGLE,
161 'Abyssinica SIL' => self::GOOGLE,
162 'Aclonica' => self::GOOGLE,
163 'Acme' => self::GOOGLE,
164 'Actor' => self::GOOGLE,
165 'Adamina' => self::GOOGLE,
166 'Advent Pro' => self::GOOGLE,
167 'Aguafina Script' => self::GOOGLE,
168 'Akaya Kanadaka' => self::GOOGLE,
169 'Akaya Telivigala' => self::GOOGLE,
170 'Akronim' => self::GOOGLE,
171 'Akshar' => self::GOOGLE,
172 'Aladin' => self::GOOGLE,
173 'Alata' => self::GOOGLE,
174 'Alatsi' => self::GOOGLE,
175 'Albert Sans' => self::GOOGLE,
176 'Aldrich' => self::GOOGLE,
177 'Alef' => self::GOOGLE,
178 'Alef Hebrew' => self::EARLYACCESS, // Hack for Google Early Access.
179 'Alegreya' => self::GOOGLE,
180 'Alegreya SC' => self::GOOGLE,
181 'Alegreya Sans' => self::GOOGLE,
182 'Alegreya Sans SC' => self::GOOGLE,
183 'Aleo' => self::GOOGLE,
184 'Alex Brush' => self::GOOGLE,
185 'Alexandria' => self::GOOGLE,
186 'Alfa Slab One' => self::GOOGLE,
187 'Alice' => self::GOOGLE,
188 'Alike' => self::GOOGLE,
189 'Alike Angular' => self::GOOGLE,
190 'Alkalami' => self::GOOGLE,
191 'Allan' => self::GOOGLE,
192 'Allerta' => self::GOOGLE,
193 'Allerta Stencil' => self::GOOGLE,
194 'Allison' => self::GOOGLE,
195 'Allura' => self::GOOGLE,
196 'Almarai' => self::GOOGLE,
197 'Almendra' => self::GOOGLE,
198 'Almendra Display' => self::GOOGLE,
199 'Almendra SC' => self::GOOGLE,
200 'Alumni Sans' => self::GOOGLE,
201 'Alumni Sans Collegiate One' => self::GOOGLE,
202 'Alumni Sans Inline One' => self::GOOGLE,
203 'Alumni Sans Pinstripe' => self::GOOGLE,
204 'Amarante' => self::GOOGLE,
205 'Amaranth' => self::GOOGLE,
206 'Amatic SC' => self::GOOGLE,
207 'Amethysta' => self::GOOGLE,
208 'Amiko' => self::GOOGLE,
209 'Amiri' => self::GOOGLE,
210 'Amiri Quran' => self::GOOGLE,
211 'Amita' => self::GOOGLE,
212 'Anaheim' => self::GOOGLE,
213 'Andada Pro' => self::GOOGLE,
214 'Andika' => self::GOOGLE,
215 'Anek Bangla' => self::GOOGLE,
216 'Anek Devanagari' => self::GOOGLE,
217 'Anek Gujarati' => self::GOOGLE,
218 'Anek Gurmukhi' => self::GOOGLE,
219 'Anek Kannada' => self::GOOGLE,
220 'Anek Latin' => self::GOOGLE,
221 'Anek Malayalam' => self::GOOGLE,
222 'Anek Odia' => self::GOOGLE,
223 'Anek Tamil' => self::GOOGLE,
224 'Anek Telugu' => self::GOOGLE,
225 'Angkor' => self::GOOGLE,
226 'Annie Use Your Telescope' => self::GOOGLE,
227 'Anonymous Pro' => self::GOOGLE,
228 'Antic' => self::GOOGLE,
229 'Antic Didone' => self::GOOGLE,
230 'Antic Slab' => self::GOOGLE,
231 'Anton' => self::GOOGLE,
232 'Antonio' => self::GOOGLE,
233 'Anybody' => self::GOOGLE,
234 'Arapey' => self::GOOGLE,
235 'Arbutus' => self::GOOGLE,
236 'Arbutus Slab' => self::GOOGLE,
237 'Architects Daughter' => self::GOOGLE,
238 'Archivo' => self::GOOGLE,
239 'Archivo Black' => self::GOOGLE,
240 'Archivo Narrow' => self::GOOGLE,
241 'Are You Serious' => self::GOOGLE,
242 'Aref Ruqaa' => self::GOOGLE,
243 'Aref Ruqaa Ink' => self::GOOGLE,
244 'Arima' => self::GOOGLE,
245 'Arima Madurai' => self::GOOGLE,
246 'Arimo' => self::GOOGLE,
247 'Arizonia' => self::GOOGLE,
248 'Armata' => self::GOOGLE,
249 'Arsenal' => self::GOOGLE,
250 'Artifika' => self::GOOGLE,
251 'Arvo' => self::GOOGLE,
252 'Arya' => self::GOOGLE,
253 'Asap' => self::GOOGLE,
254 'Asap Condensed' => self::GOOGLE,
255 'Asar' => self::GOOGLE,
256 'Asset' => self::GOOGLE,
257 'Assistant' => self::GOOGLE,
258 'Astloch' => self::GOOGLE,
259 'Asul' => self::GOOGLE,
260 'Athiti' => self::GOOGLE,
261 'Atkinson Hyperlegible' => self::GOOGLE,
262 'Atma' => self::GOOGLE,
263 'Atomic Age' => self::GOOGLE,
264 'Aubrey' => self::GOOGLE,
265 'Audiowide' => self::GOOGLE,
266 'Autour One' => self::GOOGLE,
267 'Average' => self::GOOGLE,
268 'Average Sans' => self::GOOGLE,
269 'Averia Gruesa Libre' => self::GOOGLE,
270 'Averia Libre' => self::GOOGLE,
271 'Averia Sans Libre' => self::GOOGLE,
272 'Averia Serif Libre' => self::GOOGLE,
273 'Azeret Mono' => self::GOOGLE,
274 'B612' => self::GOOGLE,
275 'B612 Mono' => self::GOOGLE,
276 'BIZ UDGothic' => self::GOOGLE,
277 'BIZ UDMincho' => self::GOOGLE,
278 'BIZ UDPGothic' => self::GOOGLE,
279 'BIZ UDPMincho' => self::GOOGLE,
280 'Babylonica' => self::GOOGLE,
281 'Bad Script' => self::GOOGLE,
282 'Bahiana' => self::GOOGLE,
283 'Bahianita' => self::GOOGLE,
284 'Bai Jamjuree' => self::GOOGLE,
285 'Bakbak One' => self::GOOGLE,
286 'Ballet' => self::GOOGLE,
287 'Baloo 2' => self::GOOGLE,
288 'Baloo Bhai 2' => self::GOOGLE,
289 'Baloo Bhaijaan 2' => self::GOOGLE,
290 'Baloo Bhaina 2' => self::GOOGLE,
291 'Baloo Chettan 2' => self::GOOGLE,
292 'Baloo Da 2' => self::GOOGLE,
293 'Baloo Paaji 2' => self::GOOGLE,
294 'Baloo Tamma 2' => self::GOOGLE,
295 'Baloo Tammudu 2' => self::GOOGLE,
296 'Baloo Thambi 2' => self::GOOGLE,
297 'Balsamiq Sans' => self::GOOGLE,
298 'Balthazar' => self::GOOGLE,
299 'Bangers' => self::GOOGLE,
300 'Barlow' => self::GOOGLE,
301 'Barlow Condensed' => self::GOOGLE,
302 'Barlow Semi Condensed' => self::GOOGLE,
303 'Barriecito' => self::GOOGLE,
304 'Barrio' => self::GOOGLE,
305 'Basic' => self::GOOGLE,
306 'Baskervville' => self::GOOGLE,
307 'Battambang' => self::GOOGLE,
308 'Baumans' => self::GOOGLE,
309 'Bayon' => self::GOOGLE,
310 'Be Vietnam Pro' => self::GOOGLE,
311 'Beau Rivage' => self::GOOGLE,
312 'Bebas Neue' => self::GOOGLE,
313 'Belgrano' => self::GOOGLE,
314 'Bellefair' => self::GOOGLE,
315 'Belleza' => self::GOOGLE,
316 'Bellota' => self::GOOGLE,
317 'Bellota Text' => self::GOOGLE,
318 'BenchNine' => self::GOOGLE,
319 'Benne' => self::GOOGLE,
320 'Bentham' => self::GOOGLE,
321 'Berkshire Swash' => self::GOOGLE,
322 'Besley' => self::GOOGLE,
323 'Beth Ellen' => self::GOOGLE,
324 'Bevan' => self::GOOGLE,
325 'BhuTuka Expanded One' => self::GOOGLE,
326 'Big Shoulders Display' => self::GOOGLE,
327 'Big Shoulders Inline Display' => self::GOOGLE,
328 'Big Shoulders Inline Text' => self::GOOGLE,
329 'Big Shoulders Stencil Display' => self::GOOGLE,
330 'Big Shoulders Stencil Text' => self::GOOGLE,
331 'Big Shoulders Text' => self::GOOGLE,
332 'Bigelow Rules' => self::GOOGLE,
333 'Bigshot One' => self::GOOGLE,
334 'Bilbo' => self::GOOGLE,
335 'Bilbo Swash Caps' => self::GOOGLE,
336 'BioRhyme' => self::GOOGLE,
337 'BioRhyme Expanded' => self::GOOGLE,
338 'Birthstone' => self::GOOGLE,
339 'Birthstone Bounce' => self::GOOGLE,
340 'Biryani' => self::GOOGLE,
341 'Bitter' => self::GOOGLE,
342 'Black And White Picture' => self::GOOGLE,
343 'Black Han Sans' => self::GOOGLE,
344 'Black Ops One' => self::GOOGLE,
345 'Blaka' => self::GOOGLE,
346 'Blaka Hollow' => self::GOOGLE,
347 'Blaka Ink' => self::GOOGLE,
348 'Blinker' => self::GOOGLE,
349 'Bodoni Moda' => self::GOOGLE,
350 'Bokor' => self::GOOGLE,
351 'Bona Nova' => self::GOOGLE,
352 'Bonbon' => self::GOOGLE,
353 'Bonheur Royale' => self::GOOGLE,
354 'Boogaloo' => self::GOOGLE,
355 'Bowlby One' => self::GOOGLE,
356 'Bowlby One SC' => self::GOOGLE,
357 'Brawler' => self::GOOGLE,
358 'Bree Serif' => self::GOOGLE,
359 'Brygada 1918' => self::GOOGLE,
360 'Bubblegum Sans' => self::GOOGLE,
361 'Bubbler One' => self::GOOGLE,
362 'Buda' => self::GOOGLE,
363 'Buenard' => self::GOOGLE,
364 'Bungee' => self::GOOGLE,
365 'Bungee Hairline' => self::GOOGLE,
366 'Bungee Inline' => self::GOOGLE,
367 'Bungee Outline' => self::GOOGLE,
368 'Bungee Shade' => self::GOOGLE,
369 'Bungee Spice' => self::GOOGLE,
370 'Butcherman' => self::GOOGLE,
371 'Butterfly Kids' => self::GOOGLE,
372 'Cabin' => self::GOOGLE,
373 'Cabin Condensed' => self::GOOGLE,
374 'Cabin Sketch' => self::GOOGLE,
375 'Caesar Dressing' => self::GOOGLE,
376 'Cagliostro' => self::GOOGLE,
377 'Cairo' => self::GOOGLE,
378 'Cairo Play' => self::GOOGLE,
379 'Caladea' => self::GOOGLE,
380 'Calistoga' => self::GOOGLE,
381 'Calligraffitti' => self::GOOGLE,
382 'Cambay' => self::GOOGLE,
383 'Cambo' => self::GOOGLE,
384 'Candal' => self::GOOGLE,
385 'Cantarell' => self::GOOGLE,
386 'Cantata One' => self::GOOGLE,
387 'Cantora One' => self::GOOGLE,
388 'Capriola' => self::GOOGLE,
389 'Caramel' => self::GOOGLE,
390 'Carattere' => self::GOOGLE,
391 'Cardo' => self::GOOGLE,
392 'Carme' => self::GOOGLE,
393 'Carrois Gothic' => self::GOOGLE,
394 'Carrois Gothic SC' => self::GOOGLE,
395 'Carter One' => self::GOOGLE,
396 'Castoro' => self::GOOGLE,
397 'Catamaran' => self::GOOGLE,
398 'Caudex' => self::GOOGLE,
399 'Caveat' => self::GOOGLE,
400 'Caveat Brush' => self::GOOGLE,
401 'Cedarville Cursive' => self::GOOGLE,
402 'Ceviche One' => self::GOOGLE,
403 'Chakra Petch' => self::GOOGLE,
404 'Changa' => self::GOOGLE,
405 'Changa One' => self::GOOGLE,
406 'Chango' => self::GOOGLE,
407 'Charis SIL' => self::GOOGLE,
408 'Charm' => self::GOOGLE,
409 'Charmonman' => self::GOOGLE,
410 'Chathura' => self::GOOGLE,
411 'Chau Philomene One' => self::GOOGLE,
412 'Chela One' => self::GOOGLE,
413 'Chelsea Market' => self::GOOGLE,
414 'Chenla' => self::GOOGLE,
415 'Cherish' => self::GOOGLE,
416 'Cherry Cream Soda' => self::GOOGLE,
417 'Cherry Swash' => self::GOOGLE,
418 'Chewy' => self::GOOGLE,
419 'Chicle' => self::GOOGLE,
420 'Chilanka' => self::GOOGLE,
421 'Chivo' => self::GOOGLE,
422 'Chivo Mono' => self::GOOGLE,
423 'Chonburi' => self::GOOGLE,
424 'Cinzel' => self::GOOGLE,
425 'Cinzel Decorative' => self::GOOGLE,
426 'Clicker Script' => self::GOOGLE,
427 'Coda' => self::GOOGLE,
428 'Coda Caption' => self::GOOGLE,
429 'Codystar' => self::GOOGLE,
430 'Coiny' => self::GOOGLE,
431 'Combo' => self::GOOGLE,
432 'Comfortaa' => self::GOOGLE,
433 'Comforter' => self::GOOGLE,
434 'Comforter Brush' => self::GOOGLE,
435 'Comic Neue' => self::GOOGLE,
436 'Coming Soon' => self::GOOGLE,
437 'Commissioner' => self::GOOGLE,
438 'Concert One' => self::GOOGLE,
439 'Condiment' => self::GOOGLE,
440 'Content' => self::GOOGLE,
441 'Contrail One' => self::GOOGLE,
442 'Convergence' => self::GOOGLE,
443 'Cookie' => self::GOOGLE,
444 'Copse' => self::GOOGLE,
445 'Corben' => self::GOOGLE,
446 'Corinthia' => self::GOOGLE,
447 'Cormorant' => self::GOOGLE,
448 'Cormorant Garamond' => self::GOOGLE,
449 'Cormorant Infant' => self::GOOGLE,
450 'Cormorant SC' => self::GOOGLE,
451 'Cormorant Unicase' => self::GOOGLE,
452 'Cormorant Upright' => self::GOOGLE,
453 'Courgette' => self::GOOGLE,
454 'Courier Prime' => self::GOOGLE,
455 'Cousine' => self::GOOGLE,
456 'Coustard' => self::GOOGLE,
457 'Covered By Your Grace' => self::GOOGLE,
458 'Crafty Girls' => self::GOOGLE,
459 'Creepster' => self::GOOGLE,
460 'Crete Round' => self::GOOGLE,
461 'Crimson Pro' => self::GOOGLE,
462 'Crimson Text' => self::GOOGLE,
463 'Croissant One' => self::GOOGLE,
464 'Crushed' => self::GOOGLE,
465 'Cuprum' => self::GOOGLE,
466 'Cute Font' => self::GOOGLE,
467 'Cutive' => self::GOOGLE,
468 'Cutive Mono' => self::GOOGLE,
469 'DM Mono' => self::GOOGLE,
470 'DM Sans' => self::GOOGLE,
471 'DM Serif Display' => self::GOOGLE,
472 'DM Serif Text' => self::GOOGLE,
473 'Damion' => self::GOOGLE,
474 'Dancing Script' => self::GOOGLE,
475 'Dangrek' => self::GOOGLE,
476 'Darker Grotesque' => self::GOOGLE,
477 'David Libre' => self::GOOGLE,
478 'Dawning of a New Day' => self::GOOGLE,
479 'Days One' => self::GOOGLE,
480 'Dekko' => self::GOOGLE,
481 'Dela Gothic One' => self::GOOGLE,
482 'Delius' => self::GOOGLE,
483 'Delius Swash Caps' => self::GOOGLE,
484 'Delius Unicase' => self::GOOGLE,
485 'Della Respira' => self::GOOGLE,
486 'Denk One' => self::GOOGLE,
487 'Devonshire' => self::GOOGLE,
488 'Dhurjati' => self::GOOGLE,
489 'Didact Gothic' => self::GOOGLE,
490 'Diplomata' => self::GOOGLE,
491 'Diplomata SC' => self::GOOGLE,
492 'Do Hyeon' => self::GOOGLE,
493 'Dokdo' => self::GOOGLE,
494 'Domine' => self::GOOGLE,
495 'Donegal One' => self::GOOGLE,
496 'Dongle' => self::GOOGLE,
497 'Doppio One' => self::GOOGLE,
498 'Dorsa' => self::GOOGLE,
499 'Dosis' => self::GOOGLE,
500 'DotGothic16' => self::GOOGLE,
501 'Dr Sugiyama' => self::GOOGLE,
502 'Droid Arabic Kufi' => self::EARLYACCESS, // Hack for Google Early Access.
503 'Droid Arabic Naskh' => self::EARLYACCESS, // Hack for Google Early Access.
504 'Duru Sans' => self::GOOGLE,
505 'DynaPuff' => self::GOOGLE,
506 'Dynalight' => self::GOOGLE,
507 'EB Garamond' => self::GOOGLE,
508 'Eagle Lake' => self::GOOGLE,
509 'East Sea Dokdo' => self::GOOGLE,
510 'Eater' => self::GOOGLE,
511 'Economica' => self::GOOGLE,
512 'Eczar' => self::GOOGLE,
513 'Edu NSW ACT Foundation' => self::GOOGLE,
514 'Edu QLD Beginner' => self::GOOGLE,
515 'Edu SA Beginner' => self::GOOGLE,
516 'Edu TAS Beginner' => self::GOOGLE,
517 'Edu VIC WA NT Beginner' => self::GOOGLE,
518 'El Messiri' => self::GOOGLE,
519 'Electrolize' => self::GOOGLE,
520 'Elsie' => self::GOOGLE,
521 'Elsie Swash Caps' => self::GOOGLE,
522 'Emblema One' => self::GOOGLE,
523 'Emilys Candy' => self::GOOGLE,
524 'Encode Sans' => self::GOOGLE,
525 'Encode Sans Condensed' => self::GOOGLE,
526 'Encode Sans Expanded' => self::GOOGLE,
527 'Encode Sans SC' => self::GOOGLE,
528 'Encode Sans Semi Condensed' => self::GOOGLE,
529 'Encode Sans Semi Expanded' => self::GOOGLE,
530 'Engagement' => self::GOOGLE,
531 'Englebert' => self::GOOGLE,
532 'Enriqueta' => self::GOOGLE,
533 'Ephesis' => self::GOOGLE,
534 'Epilogue' => self::GOOGLE,
535 'Erica One' => self::GOOGLE,
536 'Esteban' => self::GOOGLE,
537 'Estonia' => self::GOOGLE,
538 'Euphoria Script' => self::GOOGLE,
539 'Ewert' => self::GOOGLE,
540 'Exo' => self::GOOGLE,
541 'Exo 2' => self::GOOGLE,
542 'Expletus Sans' => self::GOOGLE,
543 'Explora' => self::GOOGLE,
544 'Fahkwang' => self::GOOGLE,
545 'Familjen Grotesk' => self::GOOGLE,
546 'Fanwood Text' => self::GOOGLE,
547 'Farro' => self::GOOGLE,
548 'Farsan' => self::GOOGLE,
549 'Fascinate' => self::GOOGLE,
550 'Fascinate Inline' => self::GOOGLE,
551 'Faster One' => self::GOOGLE,
552 'Fasthand' => self::GOOGLE,
553 'Fauna One' => self::GOOGLE,
554 'Faustina' => self::GOOGLE,
555 'Federant' => self::GOOGLE,
556 'Federo' => self::GOOGLE,
557 'Felipa' => self::GOOGLE,
558 'Fenix' => self::GOOGLE,
559 'Festive' => self::GOOGLE,
560 'Figtree' => self::GOOGLE,
561 'Finger Paint' => self::GOOGLE,
562 'Finlandica' => self::GOOGLE,
563 'Fira Code' => self::GOOGLE,
564 'Fira Mono' => self::GOOGLE,
565 'Fira Sans' => self::GOOGLE,
566 'Fira Sans Condensed' => self::GOOGLE,
567 'Fira Sans Extra Condensed' => self::GOOGLE,
568 'Fjalla One' => self::GOOGLE,
569 'Fjord One' => self::GOOGLE,
570 'Flamenco' => self::GOOGLE,
571 'Flavors' => self::GOOGLE,
572 'Fleur De Leah' => self::GOOGLE,
573 'Flow Block' => self::GOOGLE,
574 'Flow Circular' => self::GOOGLE,
575 'Flow Rounded' => self::GOOGLE,
576 'Fondamento' => self::GOOGLE,
577 'Fontdiner Swanky' => self::GOOGLE,
578 'Forum' => self::GOOGLE,
579 'Fragment Mono' => self::GOOGLE,
580 'Francois One' => self::GOOGLE,
581 'Frank Ruhl Libre' => self::GOOGLE,
582 'Fraunces' => self::GOOGLE,
583 'Freckle Face' => self::GOOGLE,
584 'Fredericka the Great' => self::GOOGLE,
585 'Fredoka' => self::GOOGLE,
586 'Fredoka One' => self::GOOGLE,
587 'Freehand' => self::GOOGLE,
588 'Fresca' => self::GOOGLE,
589 'Frijole' => self::GOOGLE,
590 'Fruktur' => self::GOOGLE,
591 'Fugaz One' => self::GOOGLE,
592 'Fuggles' => self::GOOGLE,
593 'Fuzzy Bubbles' => self::GOOGLE,
594 'GFS Didot' => self::GOOGLE,
595 'GFS Neohellenic' => self::GOOGLE,
596 'Gabriela' => self::GOOGLE,
597 'Gaegu' => self::GOOGLE,
598 'Gafata' => self::GOOGLE,
599 'Galada' => self::GOOGLE,
600 'Galdeano' => self::GOOGLE,
601 'Galindo' => self::GOOGLE,
602 'Gamja Flower' => self::GOOGLE,
603 'Gantari' => self::GOOGLE,
604 'Gayathri' => self::GOOGLE,
605 'Gelasio' => self::GOOGLE,
606 'Gemunu Libre' => self::GOOGLE,
607 'Genos' => self::GOOGLE,
608 'Gentium Book Basic' => self::GOOGLE,
609 'Gentium Book Plus' => self::GOOGLE,
610 'Gentium Plus' => self::GOOGLE,
611 'Geo' => self::GOOGLE,
612 'Georama' => self::GOOGLE,
613 'Geostar' => self::GOOGLE,
614 'Geostar Fill' => self::GOOGLE,
615 'Germania One' => self::GOOGLE,
616 'Gideon Roman' => self::GOOGLE,
617 'Gidugu' => self::GOOGLE,
618 'Gilda Display' => self::GOOGLE,
619 'Girassol' => self::GOOGLE,
620 'Give You Glory' => self::GOOGLE,
621 'Glass Antiqua' => self::GOOGLE,
622 'Glegoo' => self::GOOGLE,
623 'Gloria Hallelujah' => self::GOOGLE,
624 'Glory' => self::GOOGLE,
625 'Gluten' => self::GOOGLE,
626 'Goblin One' => self::GOOGLE,
627 'Gochi Hand' => self::GOOGLE,
628 'Goldman' => self::GOOGLE,
629 'Gorditas' => self::GOOGLE,
630 'Gothic A1' => self::GOOGLE,
631 'Gotu' => self::GOOGLE,
632 'Goudy Bookletter 1911' => self::GOOGLE,
633 'Gowun Batang' => self::GOOGLE,
634 'Gowun Dodum' => self::GOOGLE,
635 'Graduate' => self::GOOGLE,
636 'Grand Hotel' => self::GOOGLE,
637 'Grandstander' => self::GOOGLE,
638 'Grape Nuts' => self::GOOGLE,
639 'Gravitas One' => self::GOOGLE,
640 'Great Vibes' => self::GOOGLE,
641 'Grechen Fuemen' => self::GOOGLE,
642 'Grenze' => self::GOOGLE,
643 'Grenze Gotisch' => self::GOOGLE,
644 'Grey Qo' => self::GOOGLE,
645 'Griffy' => self::GOOGLE,
646 'Gruppo' => self::GOOGLE,
647 'Gudea' => self::GOOGLE,
648 'Gugi' => self::GOOGLE,
649 'Gulzar' => self::GOOGLE,
650 'Gupter' => self::GOOGLE,
651 'Gurajada' => self::GOOGLE,
652 'Gwendolyn' => self::GOOGLE,
653 'Habibi' => self::GOOGLE,
654 'Hachi Maru Pop' => self::GOOGLE,
655 'Hahmlet' => self::GOOGLE,
656 'Halant' => self::GOOGLE,
657 'Hammersmith One' => self::GOOGLE,
658 'Hanalei' => self::GOOGLE,
659 'Hanalei Fill' => self::GOOGLE,
660 'Handlee' => self::GOOGLE,
661 'Hanken Grotesk' => self::GOOGLE,
662 'Hanuman' => self::GOOGLE,
663 'Happy Monkey' => self::GOOGLE,
664 'Harmattan' => self::GOOGLE,
665 'Headland One' => self::GOOGLE,
666 'Heebo' => self::GOOGLE,
667 'Henny Penny' => self::GOOGLE,
668 'Hepta Slab' => self::GOOGLE,
669 'Herr Von Muellerhoff' => self::GOOGLE,
670 'Hi Melody' => self::GOOGLE,
671 'Hina Mincho' => self::GOOGLE,
672 'Hind' => self::GOOGLE,
673 'Hind Guntur' => self::GOOGLE,
674 'Hind Madurai' => self::GOOGLE,
675 'Hind Siliguri' => self::GOOGLE,
676 'Hind Vadodara' => self::GOOGLE,
677 'Holtwood One SC' => self::GOOGLE,
678 'Homemade Apple' => self::GOOGLE,
679 'Homenaje' => self::GOOGLE,
680 'Hubballi' => self::GOOGLE,
681 'Hurricane' => self::GOOGLE,
682 'IBM Plex Mono' => self::GOOGLE,
683 'IBM Plex Sans' => self::GOOGLE,
684 'IBM Plex Sans Arabic' => self::GOOGLE,
685 'IBM Plex Sans Condensed' => self::GOOGLE,
686 'IBM Plex Sans Devanagari' => self::GOOGLE,
687 'IBM Plex Sans Hebrew' => self::GOOGLE,
688 'IBM Plex Sans JP' => self::GOOGLE,
689 'IBM Plex Sans KR' => self::GOOGLE,
690 'IBM Plex Sans Thai' => self::GOOGLE,
691 'IBM Plex Sans Thai Looped' => self::GOOGLE,
692 'IBM Plex Serif' => self::GOOGLE,
693 'IM Fell DW Pica' => self::GOOGLE,
694 'IM Fell DW Pica SC' => self::GOOGLE,
695 'IM Fell Double Pica' => self::GOOGLE,
696 'IM Fell Double Pica SC' => self::GOOGLE,
697 'IM Fell English' => self::GOOGLE,
698 'IM Fell English SC' => self::GOOGLE,
699 'IM Fell French Canon' => self::GOOGLE,
700 'IM Fell French Canon SC' => self::GOOGLE,
701 'IM Fell Great Primer' => self::GOOGLE,
702 'IM Fell Great Primer SC' => self::GOOGLE,
703 'Ibarra Real Nova' => self::GOOGLE,
704 'Iceberg' => self::GOOGLE,
705 'Iceland' => self::GOOGLE,
706 'Imbue' => self::GOOGLE,
707 'Imperial Script' => self::GOOGLE,
708 'Imprima' => self::GOOGLE,
709 'Inconsolata' => self::GOOGLE,
710 'Inder' => self::GOOGLE,
711 'Indie Flower' => self::GOOGLE,
712 'Ingrid Darling' => self::GOOGLE,
713 'Inika' => self::GOOGLE,
714 'Inknut Antiqua' => self::GOOGLE,
715 'Inria Sans' => self::GOOGLE,
716 'Inria Serif' => self::GOOGLE,
717 'Inspiration' => self::GOOGLE,
718 'Inter' => self::GOOGLE,
719 'Inter Tight' => self::GOOGLE,
720 'Irish Grover' => self::GOOGLE,
721 'Island Moments' => self::GOOGLE,
722 'Istok Web' => self::GOOGLE,
723 'Italiana' => self::GOOGLE,
724 'Italianno' => self::GOOGLE,
725 'Itim' => self::GOOGLE,
726 'Jacques Francois' => self::GOOGLE,
727 'Jacques Francois Shadow' => self::GOOGLE,
728 'Jaldi' => self::GOOGLE,
729 'JetBrains Mono' => self::GOOGLE,
730 'Jim Nightshade' => self::GOOGLE,
731 'Joan' => self::GOOGLE,
732 'Jockey One' => self::GOOGLE,
733 'Jolly Lodger' => self::GOOGLE,
734 'Jomhuria' => self::GOOGLE,
735 'Jomolhari' => self::GOOGLE,
736 'Josefin Sans' => self::GOOGLE,
737 'Josefin Slab' => self::GOOGLE,
738 'Jost' => self::GOOGLE,
739 'Joti One' => self::GOOGLE,
740 'Jua' => self::GOOGLE,
741 'Judson' => self::GOOGLE,
742 'Julee' => self::GOOGLE,
743 'Julius Sans One' => self::GOOGLE,
744 'Junge' => self::GOOGLE,
745 'Jura' => self::GOOGLE,
746 'Just Another Hand' => self::GOOGLE,
747 'Just Me Again Down Here' => self::GOOGLE,
748 'K2D' => self::GOOGLE,
749 'Kadwa' => self::GOOGLE,
750 'Kaisei Decol' => self::GOOGLE,
751 'Kaisei HarunoUmi' => self::GOOGLE,
752 'Kaisei Opti' => self::GOOGLE,
753 'Kaisei Tokumin' => self::GOOGLE,
754 'Kalam' => self::GOOGLE,
755 'Kameron' => self::GOOGLE,
756 'Kanit' => self::GOOGLE,
757 'Kantumruy' => self::GOOGLE,
758 'Kantumruy Pro' => self::GOOGLE,
759 'Karantina' => self::GOOGLE,
760 'Karla' => self::GOOGLE,
761 'Karma' => self::GOOGLE,
762 'Katibeh' => self::GOOGLE,
763 'Kaushan Script' => self::GOOGLE,
764 'Kavivanar' => self::GOOGLE,
765 'Kavoon' => self::GOOGLE,
766 'Kdam Thmor Pro' => self::GOOGLE,
767 'Keania One' => self::GOOGLE,
768 'Kelly Slab' => self::GOOGLE,
769 'Kenia' => self::GOOGLE,
770 'Khand' => self::GOOGLE,
771 'Khmer' => self::GOOGLE,
772 'Khula' => self::GOOGLE,
773 'Kings' => self::GOOGLE,
774 'Kirang Haerang' => self::GOOGLE,
775 'Kite One' => self::GOOGLE,
776 'Kiwi Maru' => self::GOOGLE,
777 'Klee One' => self::GOOGLE,
778 'Knewave' => self::GOOGLE,
779 'KoHo' => self::GOOGLE,
780 'Kodchasan' => self::GOOGLE,
781 'Koh Santepheap' => self::GOOGLE,
782 'Kolker Brush' => self::GOOGLE,
783 'Kosugi' => self::GOOGLE,
784 'Kosugi Maru' => self::GOOGLE,
785 'Kotta One' => self::GOOGLE,
786 'Koulen' => self::GOOGLE,
787 'Kranky' => self::GOOGLE,
788 'Kreon' => self::GOOGLE,
789 'Kristi' => self::GOOGLE,
790 'Krona One' => self::GOOGLE,
791 'Krub' => self::GOOGLE,
792 'Kufam' => self::GOOGLE,
793 'Kulim Park' => self::GOOGLE,
794 'Kumar One' => self::GOOGLE,
795 'Kumar One Outline' => self::GOOGLE,
796 'Kumbh Sans' => self::GOOGLE,
797 'Kurale' => self::GOOGLE,
798 'La Belle Aurore' => self::GOOGLE,
799 'Lacquer' => self::GOOGLE,
800 'Laila' => self::GOOGLE,
801 'Lakki Reddy' => self::GOOGLE,
802 'Lalezar' => self::GOOGLE,
803 'Lancelot' => self::GOOGLE,
804 'Langar' => self::GOOGLE,
805 'Lateef' => self::GOOGLE,
806 'Lato' => self::GOOGLE,
807 'Lavishly Yours' => self::GOOGLE,
808 'League Gothic' => self::GOOGLE,
809 'League Script' => self::GOOGLE,
810 'League Spartan' => self::GOOGLE,
811 'Leckerli One' => self::GOOGLE,
812 'Ledger' => self::GOOGLE,
813 'Lekton' => self::GOOGLE,
814 'Lemon' => self::GOOGLE,
815 'Lemonada' => self::GOOGLE,
816 'Lexend' => self::GOOGLE,
817 'Lexend Deca' => self::GOOGLE,
818 'Lexend Exa' => self::GOOGLE,
819 'Lexend Giga' => self::GOOGLE,
820 'Lexend Mega' => self::GOOGLE,
821 'Lexend Peta' => self::GOOGLE,
822 'Lexend Tera' => self::GOOGLE,
823 'Lexend Zetta' => self::GOOGLE,
824 'Libre Barcode 128' => self::GOOGLE,
825 'Libre Barcode 128 Text' => self::GOOGLE,
826 'Libre Barcode 39' => self::GOOGLE,
827 'Libre Barcode 39 Extended' => self::GOOGLE,
828 'Libre Barcode 39 Extended Text' => self::GOOGLE,
829 'Libre Barcode 39 Text' => self::GOOGLE,
830 'Libre Barcode EAN13 Text' => self::GOOGLE,
831 'Libre Baskerville' => self::GOOGLE,
832 'Libre Bodoni' => self::GOOGLE,
833 'Libre Caslon Display' => self::GOOGLE,
834 'Libre Caslon Text' => self::GOOGLE,
835 'Libre Franklin' => self::GOOGLE,
836 'Licorice' => self::GOOGLE,
837 'Life Savers' => self::GOOGLE,
838 'Lilita One' => self::GOOGLE,
839 'Lily Script One' => self::GOOGLE,
840 'Limelight' => self::GOOGLE,
841 'Linden Hill' => self::GOOGLE,
842 'Literata' => self::GOOGLE,
843 'Liu Jian Mao Cao' => self::GOOGLE,
844 'Livvic' => self::GOOGLE,
845 'Lobster' => self::GOOGLE,
846 'Lobster Two' => self::GOOGLE,
847 'Londrina Outline' => self::GOOGLE,
848 'Londrina Shadow' => self::GOOGLE,
849 'Londrina Sketch' => self::GOOGLE,
850 'Londrina Solid' => self::GOOGLE,
851 'Long Cang' => self::GOOGLE,
852 'Lora' => self::GOOGLE,
853 'Love Light' => self::GOOGLE,
854 'Love Ya Like A Sister' => self::GOOGLE,
855 'Loved by the King' => self::GOOGLE,
856 'Lovers Quarrel' => self::GOOGLE,
857 'Luckiest Guy' => self::GOOGLE,
858 'Lusitana' => self::GOOGLE,
859 'Lustria' => self::GOOGLE,
860 'Luxurious Roman' => self::GOOGLE,
861 'Luxurious Script' => self::GOOGLE,
862 'M PLUS 1' => self::GOOGLE,
863 'M PLUS 1 Code' => self::GOOGLE,
864 'M PLUS 1p' => self::GOOGLE,
865 'M PLUS 2' => self::GOOGLE,
866 'M PLUS Code Latin' => self::GOOGLE,
867 'M PLUS Rounded 1c' => self::GOOGLE,
868 'Ma Shan Zheng' => self::GOOGLE,
869 'Macondo' => self::GOOGLE,
870 'Macondo Swash Caps' => self::GOOGLE,
871 'Mada' => self::GOOGLE,
872 'Magra' => self::GOOGLE,
873 'Maiden Orange' => self::GOOGLE,
874 'Maitree' => self::GOOGLE,
875 'Major Mono Display' => self::GOOGLE,
876 'Mako' => self::GOOGLE,
877 'Mali' => self::GOOGLE,
878 'Mallanna' => self::GOOGLE,
879 'Mandali' => self::GOOGLE,
880 'Manjari' => self::GOOGLE,
881 'Manrope' => self::GOOGLE,
882 'Mansalva' => self::GOOGLE,
883 'Manuale' => self::GOOGLE,
884 'Marcellus' => self::GOOGLE,
885 'Marcellus SC' => self::GOOGLE,
886 'Marck Script' => self::GOOGLE,
887 'Margarine' => self::GOOGLE,
888 'Marhey' => self::GOOGLE,
889 'Markazi Text' => self::GOOGLE,
890 'Marko One' => self::GOOGLE,
891 'Marmelad' => self::GOOGLE,
892 'Martel' => self::GOOGLE,
893 'Martel Sans' => self::GOOGLE,
894 'Martian Mono' => self::GOOGLE,
895 'Marvel' => self::GOOGLE,
896 'Mate' => self::GOOGLE,
897 'Mate SC' => self::GOOGLE,
898 'Maven Pro' => self::GOOGLE,
899 'McLaren' => self::GOOGLE,
900 'Mea Culpa' => self::GOOGLE,
901 'Meddon' => self::GOOGLE,
902 'MedievalSharp' => self::GOOGLE,
903 'Medula One' => self::GOOGLE,
904 'Meera Inimai' => self::GOOGLE,
905 'Megrim' => self::GOOGLE,
906 'Meie Script' => self::GOOGLE,
907 'Meow Script' => self::GOOGLE,
908 'Merienda' => self::GOOGLE,
909 'Merienda One' => self::GOOGLE,
910 'Merriweather' => self::GOOGLE,
911 'Merriweather Sans' => self::GOOGLE,
912 'Metal' => self::GOOGLE,
913 'Metal Mania' => self::GOOGLE,
914 'Metamorphous' => self::GOOGLE,
915 'Metrophobic' => self::GOOGLE,
916 'Michroma' => self::GOOGLE,
917 'Milonga' => self::GOOGLE,
918 'Miltonian' => self::GOOGLE,
919 'Miltonian Tattoo' => self::GOOGLE,
920 'Mina' => self::GOOGLE,
921 'Mingzat' => self::GOOGLE,
922 'Miniver' => self::GOOGLE,
923 'Miriam Libre' => self::GOOGLE,
924 'Mirza' => self::GOOGLE,
925 'Miss Fajardose' => self::GOOGLE,
926 'Mitr' => self::GOOGLE,
927 'Mochiy Pop One' => self::GOOGLE,
928 'Mochiy Pop P One' => self::GOOGLE,
929 'Modak' => self::GOOGLE,
930 'Modern Antiqua' => self::GOOGLE,
931 'Mogra' => self::GOOGLE,
932 'Mohave' => self::GOOGLE,
933 'Molengo' => self::GOOGLE,
934 'Molle' => self::GOOGLE,
935 'Monda' => self::GOOGLE,
936 'Monofett' => self::GOOGLE,
937 'Monoton' => self::GOOGLE,
938 'Monsieur La Doulaise' => self::GOOGLE,
939 'Montaga' => self::GOOGLE,
940 'Montagu Slab' => self::GOOGLE,
941 'MonteCarlo' => self::GOOGLE,
942 'Montez' => self::GOOGLE,
943 'Montserrat' => self::GOOGLE,
944 'Montserrat Alternates' => self::GOOGLE,
945 'Montserrat Subrayada' => self::GOOGLE,
946 'Moo Lah Lah' => self::GOOGLE,
947 'Moon Dance' => self::GOOGLE,
948 'Moul' => self::GOOGLE,
949 'Moulpali' => self::GOOGLE,
950 'Mountains of Christmas' => self::GOOGLE,
951 'Mouse Memoirs' => self::GOOGLE,
952 'Mr Bedfort' => self::GOOGLE,
953 'Mr Dafoe' => self::GOOGLE,
954 'Mr De Haviland' => self::GOOGLE,
955 'Mrs Saint Delafield' => self::GOOGLE,
956 'Mrs Sheppards' => self::GOOGLE,
957 'Ms Madi' => self::GOOGLE,
958 'Mukta' => self::GOOGLE,
959 'Mukta Mahee' => self::GOOGLE,
960 'Mukta Malar' => self::GOOGLE,
961 'Mukta Vaani' => self::GOOGLE,
962 'Mulish' => self::GOOGLE,
963 'Murecho' => self::GOOGLE,
964 'MuseoModerno' => self::GOOGLE,
965 'My Soul' => self::GOOGLE,
966 'Mystery Quest' => self::GOOGLE,
967 'NTR' => self::GOOGLE,
968 'Nabla' => self::GOOGLE,
969 'Nanum Brush Script' => self::GOOGLE,
970 'Nanum Gothic' => self::GOOGLE,
971 'Nanum Gothic Coding' => self::GOOGLE,
972 'Nanum Myeongjo' => self::GOOGLE,
973 'Nanum Pen Script' => self::GOOGLE,
974 'Neonderthaw' => self::GOOGLE,
975 'Nerko One' => self::GOOGLE,
976 'Neucha' => self::GOOGLE,
977 'Neuton' => self::GOOGLE,
978 'New Rocker' => self::GOOGLE,
979 'New Tegomin' => self::GOOGLE,
980 'News Cycle' => self::GOOGLE,
981 'Newsreader' => self::GOOGLE,
982 'Niconne' => self::GOOGLE,
983 'Niramit' => self::GOOGLE,
984 'Nixie One' => self::GOOGLE,
985 'Nobile' => self::GOOGLE,
986 'Nokora' => self::GOOGLE,
987 'Norican' => self::GOOGLE,
988 'Nosifer' => self::GOOGLE,
989 'Notable' => self::GOOGLE,
990 'Nothing You Could Do' => self::GOOGLE,
991 'Noticia Text' => self::GOOGLE,
992 'Noto Color Emoji' => self::GOOGLE,
993 'Noto Emoji' => self::GOOGLE,
994 'Noto Kufi Arabic' => self::EARLYACCESS, // Hack for Google Early Access.
995 'Noto Music' => self::GOOGLE,
996 'Noto Naskh Arabic' => self::EARLYACCESS, // Hack for Google Early Access.
997 'Noto Nastaliq Urdu' => self::GOOGLE,
998 'Noto Rashi Hebrew' => self::GOOGLE,
999 'Noto Sans' => self::GOOGLE,
1000 'Noto Sans Adlam' => self::GOOGLE,
1001 'Noto Sans Adlam Unjoined' => self::GOOGLE,
1002 'Noto Sans Anatolian Hieroglyphs' => self::GOOGLE,
1003 'Noto Sans Arabic' => self::GOOGLE,
1004 'Noto Sans Armenian' => self::GOOGLE,
1005 'Noto Sans Avestan' => self::GOOGLE,
1006 'Noto Sans Balinese' => self::GOOGLE,
1007 'Noto Sans Bamum' => self::GOOGLE,
1008 'Noto Sans Bassa Vah' => self::GOOGLE,
1009 'Noto Sans Batak' => self::GOOGLE,
1010 'Noto Sans Bengali' => self::GOOGLE,
1011 'Noto Sans Bhaiksuki' => self::GOOGLE,
1012 'Noto Sans Brahmi' => self::GOOGLE,
1013 'Noto Sans Buginese' => self::GOOGLE,
1014 'Noto Sans Buhid' => self::GOOGLE,
1015 'Noto Sans Canadian Aboriginal' => self::GOOGLE,
1016 'Noto Sans Carian' => self::GOOGLE,
1017 'Noto Sans Caucasian Albanian' => self::GOOGLE,
1018 'Noto Sans Chakma' => self::GOOGLE,
1019 'Noto Sans Cham' => self::GOOGLE,
1020 'Noto Sans Cherokee' => self::GOOGLE,
1021 'Noto Sans Coptic' => self::GOOGLE,
1022 'Noto Sans Cuneiform' => self::GOOGLE,
1023 'Noto Sans Cypriot' => self::GOOGLE,
1024 'Noto Sans Deseret' => self::GOOGLE,
1025 'Noto Sans Devanagari' => self::GOOGLE,
1026 'Noto Sans Display' => self::GOOGLE,
1027 'Noto Sans Duployan' => self::GOOGLE,
1028 'Noto Sans Egyptian Hieroglyphs' => self::GOOGLE,
1029 'Noto Sans Elbasan' => self::GOOGLE,
1030 'Noto Sans Elymaic' => self::GOOGLE,
1031 'Noto Sans Ethiopic' => self::GOOGLE,
1032 'Noto Sans Georgian' => self::GOOGLE,
1033 'Noto Sans Glagolitic' => self::GOOGLE,
1034 'Noto Sans Gothic' => self::GOOGLE,
1035 'Noto Sans Grantha' => self::GOOGLE,
1036 'Noto Sans Gujarati' => self::GOOGLE,
1037 'Noto Sans Gunjala Gondi' => self::GOOGLE,
1038 'Noto Sans Gurmukhi' => self::GOOGLE,
1039 'Noto Sans HK' => self::GOOGLE,
1040 'Noto Sans Hanifi Rohingya' => self::GOOGLE,
1041 'Noto Sans Hanunoo' => self::GOOGLE,
1042 'Noto Sans Hatran' => self::GOOGLE,
1043 'Noto Sans Hebrew' => self::EARLYACCESS, // Hack for Google Early Access.
1044 'Noto Sans Imperial Aramaic' => self::GOOGLE,
1045 'Noto Sans Indic Siyaq Numbers' => self::GOOGLE,
1046 'Noto Sans Inscriptional Pahlavi' => self::GOOGLE,
1047 'Noto Sans Inscriptional Parthian' => self::GOOGLE,
1048 'Noto Sans JP' => self::GOOGLE,
1049 'Noto Sans Javanese' => self::GOOGLE,
1050 'Noto Sans KR' => self::GOOGLE,
1051 'Noto Sans Kaithi' => self::GOOGLE,
1052 'Noto Sans Kannada' => self::GOOGLE,
1053 'Noto Sans Kayah Li' => self::GOOGLE,
1054 'Noto Sans Kharoshthi' => self::GOOGLE,
1055 'Noto Sans Khmer' => self::GOOGLE,
1056 'Noto Sans Khojki' => self::GOOGLE,
1057 'Noto Sans Khudawadi' => self::GOOGLE,
1058 'Noto Sans Lao' => self::GOOGLE,
1059 'Noto Sans Lao Looped' => self::GOOGLE,
1060 'Noto Sans Lepcha' => self::GOOGLE,
1061 'Noto Sans Limbu' => self::GOOGLE,
1062 'Noto Sans Linear A' => self::GOOGLE,
1063 'Noto Sans Linear B' => self::GOOGLE,
1064 'Noto Sans Lisu' => self::GOOGLE,
1065 'Noto Sans Lycian' => self::GOOGLE,
1066 'Noto Sans Lydian' => self::GOOGLE,
1067 'Noto Sans Mahajani' => self::GOOGLE,
1068 'Noto Sans Malayalam' => self::GOOGLE,
1069 'Noto Sans Mandaic' => self::GOOGLE,
1070 'Noto Sans Manichaean' => self::GOOGLE,
1071 'Noto Sans Marchen' => self::GOOGLE,
1072 'Noto Sans Masaram Gondi' => self::GOOGLE,
1073 'Noto Sans Math' => self::GOOGLE,
1074 'Noto Sans Mayan Numerals' => self::GOOGLE,
1075 'Noto Sans Medefaidrin' => self::GOOGLE,
1076 'Noto Sans Meetei Mayek' => self::GOOGLE,
1077 'Noto Sans Mende Kikakui' => self::GOOGLE,
1078 'Noto Sans Meroitic' => self::GOOGLE,
1079 'Noto Sans Miao' => self::GOOGLE,
1080 'Noto Sans Modi' => self::GOOGLE,
1081 'Noto Sans Mongolian' => self::GOOGLE,
1082 'Noto Sans Mono' => self::GOOGLE,
1083 'Noto Sans Mro' => self::GOOGLE,
1084 'Noto Sans Multani' => self::GOOGLE,
1085 'Noto Sans Myanmar' => self::GOOGLE,
1086 'Noto Sans N Ko' => self::GOOGLE,
1087 'Noto Sans Nabataean' => self::GOOGLE,
1088 'Noto Sans New Tai Lue' => self::GOOGLE,
1089 'Noto Sans Newa' => self::GOOGLE,
1090 'Noto Sans Nushu' => self::GOOGLE,
1091 'Noto Sans Ogham' => self::GOOGLE,
1092 'Noto Sans Ol Chiki' => self::GOOGLE,
1093 'Noto Sans Old Hungarian' => self::GOOGLE,
1094 'Noto Sans Old Italic' => self::GOOGLE,
1095 'Noto Sans Old North Arabian' => self::GOOGLE,
1096 'Noto Sans Old Permic' => self::GOOGLE,
1097 'Noto Sans Old Persian' => self::GOOGLE,
1098 'Noto Sans Old Sogdian' => self::GOOGLE,
1099 'Noto Sans Old South Arabian' => self::GOOGLE,
1100 'Noto Sans Old Turkic' => self::GOOGLE,
1101 'Noto Sans Oriya' => self::GOOGLE,
1102 'Noto Sans Osage' => self::GOOGLE,
1103 'Noto Sans Osmanya' => self::GOOGLE,
1104 'Noto Sans Pahawh Hmong' => self::GOOGLE,
1105 'Noto Sans Palmyrene' => self::GOOGLE,
1106 'Noto Sans Pau Cin Hau' => self::GOOGLE,
1107 'Noto Sans Phags Pa' => self::GOOGLE,
1108 'Noto Sans Phoenician' => self::GOOGLE,
1109 'Noto Sans Psalter Pahlavi' => self::GOOGLE,
1110 'Noto Sans Rejang' => self::GOOGLE,
1111 'Noto Sans Runic' => self::GOOGLE,
1112 'Noto Sans SC' => self::GOOGLE,
1113 'Noto Sans Samaritan' => self::GOOGLE,
1114 'Noto Sans Saurashtra' => self::GOOGLE,
1115 'Noto Sans Sharada' => self::GOOGLE,
1116 'Noto Sans Shavian' => self::GOOGLE,
1117 'Noto Sans Siddham' => self::GOOGLE,
1118 'Noto Sans SignWriting' => self::GOOGLE,
1119 'Noto Sans Sinhala' => self::GOOGLE,
1120 'Noto Sans Sogdian' => self::GOOGLE,
1121 'Noto Sans Sora Sompeng' => self::GOOGLE,
1122 'Noto Sans Soyombo' => self::GOOGLE,
1123 'Noto Sans Sundanese' => self::GOOGLE,
1124 'Noto Sans Syloti Nagri' => self::GOOGLE,
1125 'Noto Sans Symbols' => self::GOOGLE,
1126 'Noto Sans Symbols 2' => self::GOOGLE,
1127 'Noto Sans Syriac' => self::GOOGLE,
1128 'Noto Sans TC' => self::GOOGLE,
1129 'Noto Sans Tagalog' => self::GOOGLE,
1130 'Noto Sans Tagbanwa' => self::GOOGLE,
1131 'Noto Sans Tai Le' => self::GOOGLE,
1132 'Noto Sans Tai Tham' => self::GOOGLE,
1133 'Noto Sans Tai Viet' => self::GOOGLE,
1134 'Noto Sans Takri' => self::GOOGLE,
1135 'Noto Sans Tamil' => self::GOOGLE,
1136 'Noto Sans Tamil Supplement' => self::GOOGLE,
1137 'Noto Sans Tangsa' => self::GOOGLE,
1138 'Noto Sans Telugu' => self::GOOGLE,
1139 'Noto Sans Thaana' => self::GOOGLE,
1140 'Noto Sans Thai' => self::GOOGLE,
1141 'Noto Sans Thai Looped' => self::GOOGLE,
1142 'Noto Sans Tifinagh' => self::GOOGLE,
1143 'Noto Sans Tirhuta' => self::GOOGLE,
1144 'Noto Sans Ugaritic' => self::GOOGLE,
1145 'Noto Sans Vai' => self::GOOGLE,
1146 'Noto Sans Wancho' => self::GOOGLE,
1147 'Noto Sans Warang Citi' => self::GOOGLE,
1148 'Noto Sans Yi' => self::GOOGLE,
1149 'Noto Sans Zanabazar Square' => self::GOOGLE,
1150 'Noto Serif' => self::GOOGLE,
1151 'Noto Serif Ahom' => self::GOOGLE,
1152 'Noto Serif Armenian' => self::GOOGLE,
1153 'Noto Serif Balinese' => self::GOOGLE,
1154 'Noto Serif Bengali' => self::GOOGLE,
1155 'Noto Serif Devanagari' => self::GOOGLE,
1156 'Noto Serif Display' => self::GOOGLE,
1157 'Noto Serif Dogra' => self::GOOGLE,
1158 'Noto Serif Ethiopic' => self::GOOGLE,
1159 'Noto Serif Georgian' => self::GOOGLE,
1160 'Noto Serif Grantha' => self::GOOGLE,
1161 'Noto Serif Gujarati' => self::GOOGLE,
1162 'Noto Serif Gurmukhi' => self::GOOGLE,
1163 'Noto Serif HK' => self::GOOGLE,
1164 'Noto Serif Hebrew' => self::GOOGLE,
1165 'Noto Serif JP' => self::GOOGLE,
1166 'Noto Serif KR' => self::GOOGLE,
1167 'Noto Serif Kannada' => self::GOOGLE,
1168 'Noto Serif Khmer' => self::GOOGLE,
1169 'Noto Serif Khojki' => self::GOOGLE,
1170 'Noto Serif Lao' => self::GOOGLE,
1171 'Noto Serif Malayalam' => self::GOOGLE,
1172 'Noto Serif Myanmar' => self::GOOGLE,
1173 'Noto Serif NP Hmong' => self::GOOGLE,
1174 'Noto Serif Nyiakeng Puachue Hmong' => self::GOOGLE,
1175 'Noto Serif Oriya' => self::GOOGLE,
1176 'Noto Serif SC' => self::GOOGLE,
1177 'Noto Serif Sinhala' => self::GOOGLE,
1178 'Noto Serif TC' => self::GOOGLE,
1179 'Noto Serif Tamil' => self::GOOGLE,
1180 'Noto Serif Tangut' => self::GOOGLE,
1181 'Noto Serif Telugu' => self::GOOGLE,
1182 'Noto Serif Thai' => self::GOOGLE,
1183 'Noto Serif Tibetan' => self::GOOGLE,
1184 'Noto Serif Toto' => self::GOOGLE,
1185 'Noto Serif Yezidi' => self::GOOGLE,
1186 'Noto Traditional Nushu' => self::GOOGLE,
1187 'Nova Cut' => self::GOOGLE,
1188 'Nova Flat' => self::GOOGLE,
1189 'Nova Mono' => self::GOOGLE,
1190 'Nova Oval' => self::GOOGLE,
1191 'Nova Round' => self::GOOGLE,
1192 'Nova Script' => self::GOOGLE,
1193 'Nova Slim' => self::GOOGLE,
1194 'Nova Square' => self::GOOGLE,
1195 'Numans' => self::GOOGLE,
1196 'Nunito' => self::GOOGLE,
1197 'Nunito Sans' => self::GOOGLE,
1198 'Nuosu SIL' => self::GOOGLE,
1199 'Odibee Sans' => self::GOOGLE,
1200 'Odor Mean Chey' => self::GOOGLE,
1201 'Offside' => self::GOOGLE,
1202 'Oi' => self::GOOGLE,
1203 'Old Standard TT' => self::GOOGLE,
1204 'Oldenburg' => self::GOOGLE,
1205 'Ole' => self::GOOGLE,
1206 'Oleo Script' => self::GOOGLE,
1207 'Oleo Script Swash Caps' => self::GOOGLE,
1208 'Oooh Baby' => self::GOOGLE,
1209 'Open Sans' => self::GOOGLE,
1210 'Open Sans Hebrew' => self::EARLYACCESS, // Hack for Google Early Access.
1211 'Open Sans Hebrew Condensed' => self::EARLYACCESS, // Hack for Google Early Access.
1212 'Oranienbaum' => self::GOOGLE,
1213 'Orbitron' => self::GOOGLE,
1214 'Oregano' => self::GOOGLE,
1215 'Orelega One' => self::GOOGLE,
1216 'Orienta' => self::GOOGLE,
1217 'Original Surfer' => self::GOOGLE,
1218 'Oswald' => self::GOOGLE,
1219 'Outfit' => self::GOOGLE,
1220 'Over the Rainbow' => self::GOOGLE,
1221 'Overlock' => self::GOOGLE,
1222 'Overlock SC' => self::GOOGLE,
1223 'Overpass' => self::GOOGLE,
1224 'Overpass Mono' => self::GOOGLE,
1225 'Ovo' => self::GOOGLE,
1226 'Oxanium' => self::GOOGLE,
1227 'Oxygen' => self::GOOGLE,
1228 'Oxygen Mono' => self::GOOGLE,
1229 'PT Mono' => self::GOOGLE,
1230 'PT Sans' => self::GOOGLE,
1231 'PT Sans Caption' => self::GOOGLE,
1232 'PT Sans Narrow' => self::GOOGLE,
1233 'PT Serif' => self::GOOGLE,
1234 'PT Serif Caption' => self::GOOGLE,
1235 'Pacifico' => self::GOOGLE,
1236 'Padauk' => self::GOOGLE,
1237 'Padyakke Expanded One' => self::GOOGLE,
1238 'Palanquin' => self::GOOGLE,
1239 'Palanquin Dark' => self::GOOGLE,
1240 'Pangolin' => self::GOOGLE,
1241 'Paprika' => self::GOOGLE,
1242 'Parisienne' => self::GOOGLE,
1243 'Passero One' => self::GOOGLE,
1244 'Passion One' => self::GOOGLE,
1245 'Passions Conflict' => self::GOOGLE,
1246 'Pathway Gothic One' => self::GOOGLE,
1247 'Patrick Hand' => self::GOOGLE,
1248 'Patrick Hand SC' => self::GOOGLE,
1249 'Pattaya' => self::GOOGLE,
1250 'Patua One' => self::GOOGLE,
1251 'Pavanam' => self::GOOGLE,
1252 'Paytone One' => self::GOOGLE,
1253 'Peddana' => self::GOOGLE,
1254 'Peralta' => self::GOOGLE,
1255 'Permanent Marker' => self::GOOGLE,
1256 'Petemoss' => self::GOOGLE,
1257 'Petit Formal Script' => self::GOOGLE,
1258 'Petrona' => self::GOOGLE,
1259 'Philosopher' => self::GOOGLE,
1260 'Piazzolla' => self::GOOGLE,
1261 'Piedra' => self::GOOGLE,
1262 'Pinyon Script' => self::GOOGLE,
1263 'Pirata One' => self::GOOGLE,
1264 'Plaster' => self::GOOGLE,
1265 'Play' => self::GOOGLE,
1266 'Playball' => self::GOOGLE,
1267 'Playfair Display' => self::GOOGLE,
1268 'Playfair Display SC' => self::GOOGLE,
1269 'Plus Jakarta Sans' => self::GOOGLE,
1270 'Podkova' => self::GOOGLE,
1271 'Poiret One' => self::GOOGLE,
1272 'Poller One' => self::GOOGLE,
1273 'Poly' => self::GOOGLE,
1274 'Pompiere' => self::GOOGLE,
1275 'Pontano Sans' => self::GOOGLE,
1276 'Poor Story' => self::GOOGLE,
1277 'Poppins' => self::GOOGLE,
1278 'Port Lligat Sans' => self::GOOGLE,
1279 'Port Lligat Slab' => self::GOOGLE,
1280 'Potta One' => self::GOOGLE,
1281 'Pragati Narrow' => self::GOOGLE,
1282 'Praise' => self::GOOGLE,
1283 'Prata' => self::GOOGLE,
1284 'Preahvihear' => self::GOOGLE,
1285 'Press Start 2P' => self::GOOGLE,
1286 'Pridi' => self::GOOGLE,
1287 'Princess Sofia' => self::GOOGLE,
1288 'Prociono' => self::GOOGLE,
1289 'Prompt' => self::GOOGLE,
1290 'Prosto One' => self::GOOGLE,
1291 'Proza Libre' => self::GOOGLE,
1292 'Public Sans' => self::GOOGLE,
1293 'Puppies Play' => self::GOOGLE,
1294 'Puritan' => self::GOOGLE,
1295 'Purple Purse' => self::GOOGLE,
1296 'Qahiri' => self::GOOGLE,
1297 'Quando' => self::GOOGLE,
1298 'Quantico' => self::GOOGLE,
1299 'Quattrocento' => self::GOOGLE,
1300 'Quattrocento Sans' => self::GOOGLE,
1301 'Questrial' => self::GOOGLE,
1302 'Quicksand' => self::GOOGLE,
1303 'Quintessential' => self::GOOGLE,
1304 'Qwigley' => self::GOOGLE,
1305 'Qwitcher Grypen' => self::GOOGLE,
1306 'Racing Sans One' => self::GOOGLE,
1307 'Radio Canada' => self::GOOGLE,
1308 'Radley' => self::GOOGLE,
1309 'Rajdhani' => self::GOOGLE,
1310 'Rakkas' => self::GOOGLE,
1311 'Raleway' => self::GOOGLE,
1312 'Raleway Dots' => self::GOOGLE,
1313 'Ramabhadra' => self::GOOGLE,
1314 'Ramaraja' => self::GOOGLE,
1315 'Rambla' => self::GOOGLE,
1316 'Rammetto One' => self::GOOGLE,
1317 'Rampart One' => self::GOOGLE,
1318 'Ranchers' => self::GOOGLE,
1319 'Rancho' => self::GOOGLE,
1320 'Ranga' => self::GOOGLE,
1321 'Rasa' => self::GOOGLE,
1322 'Rationale' => self::GOOGLE,
1323 'Ravi Prakash' => self::GOOGLE,
1324 'Readex Pro' => self::GOOGLE,
1325 'Recursive' => self::GOOGLE,
1326 'Red Hat Display' => self::GOOGLE,
1327 'Red Hat Mono' => self::GOOGLE,
1328 'Red Hat Text' => self::GOOGLE,
1329 'Red Rose' => self::GOOGLE,
1330 'Redacted' => self::GOOGLE,
1331 'Redacted Script' => self::GOOGLE,
1332 'Redressed' => self::GOOGLE,
1333 'Reem Kufi' => self::GOOGLE,
1334 'Reem Kufi Fun' => self::GOOGLE,
1335 'Reem Kufi Ink' => self::GOOGLE,
1336 'Reenie Beanie' => self::GOOGLE,
1337 'Reggae One' => self::GOOGLE,
1338 'Revalia' => self::GOOGLE,
1339 'Rhodium Libre' => self::GOOGLE,
1340 'Ribeye' => self::GOOGLE,
1341 'Ribeye Marrow' => self::GOOGLE,
1342 'Righteous' => self::GOOGLE,
1343 'Risque' => self::GOOGLE,
1344 'Road Rage' => self::GOOGLE,
1345 'Roboto' => self::GOOGLE,
1346 'Roboto Condensed' => self::GOOGLE,
1347 'Roboto Flex' => self::GOOGLE,
1348 'Roboto Mono' => self::GOOGLE,
1349 'Roboto Serif' => self::GOOGLE,
1350 'Roboto Slab' => self::GOOGLE,
1351 'Rochester' => self::GOOGLE,
1352 'Rock Salt' => self::GOOGLE,
1353 'RocknRoll One' => self::GOOGLE,
1354 'Rokkitt' => self::GOOGLE,
1355 'Romanesco' => self::GOOGLE,
1356 'Ropa Sans' => self::GOOGLE,
1357 'Rosario' => self::GOOGLE,
1358 'Rosarivo' => self::GOOGLE,
1359 'Rouge Script' => self::GOOGLE,
1360 'Rowdies' => self::GOOGLE,
1361 'Rozha One' => self::GOOGLE,
1362 'Rubik' => self::GOOGLE,
1363 'Rubik 80s Fade' => self::GOOGLE,
1364 'Rubik Beastly' => self::GOOGLE,
1365 'Rubik Bubbles' => self::GOOGLE,
1366 'Rubik Burned' => self::GOOGLE,
1367 'Rubik Dirt' => self::GOOGLE,
1368 'Rubik Distressed' => self::GOOGLE,
1369 'Rubik Gemstones' => self::GOOGLE,
1370 'Rubik Glitch' => self::GOOGLE,
1371 'Rubik Iso' => self::GOOGLE,
1372 'Rubik Marker Hatch' => self::GOOGLE,
1373 'Rubik Maze' => self::GOOGLE,
1374 'Rubik Microbe' => self::GOOGLE,
1375 'Rubik Mono One' => self::GOOGLE,
1376 'Rubik Moonrocks' => self::GOOGLE,
1377 'Rubik Puddles' => self::GOOGLE,
1378 'Rubik Spray Paint' => self::GOOGLE,
1379 'Rubik Storm' => self::GOOGLE,
1380 'Rubik Vinyl' => self::GOOGLE,
1381 'Rubik Wet Paint' => self::GOOGLE,
1382 'Ruda' => self::GOOGLE,
1383 'Rufina' => self::GOOGLE,
1384 'Ruge Boogie' => self::GOOGLE,
1385 'Ruluko' => self::GOOGLE,
1386 'Rum Raisin' => self::GOOGLE,
1387 'Ruslan Display' => self::GOOGLE,
1388 'Russo One' => self::GOOGLE,
1389 'Ruthie' => self::GOOGLE,
1390 'Rye' => self::GOOGLE,
1391 'STIX Two Text' => self::GOOGLE,
1392 'Sacramento' => self::GOOGLE,
1393 'Sahitya' => self::GOOGLE,
1394 'Sail' => self::GOOGLE,
1395 'Saira' => self::GOOGLE,
1396 'Saira Condensed' => self::GOOGLE,
1397 'Saira Extra Condensed' => self::GOOGLE,
1398 'Saira Semi Condensed' => self::GOOGLE,
1399 'Saira Stencil One' => self::GOOGLE,
1400 'Salsa' => self::GOOGLE,
1401 'Sanchez' => self::GOOGLE,
1402 'Sancreek' => self::GOOGLE,
1403 'Sansita' => self::GOOGLE,
1404 'Sansita Swashed' => self::GOOGLE,
1405 'Sarabun' => self::GOOGLE,
1406 'Sarala' => self::GOOGLE,
1407 'Sarina' => self::GOOGLE,
1408 'Sarpanch' => self::GOOGLE,
1409 'Sassy Frass' => self::GOOGLE,
1410 'Satisfy' => self::GOOGLE,
1411 'Sawarabi Gothic' => self::GOOGLE,
1412 'Sawarabi Mincho' => self::GOOGLE,
1413 'Scada' => self::GOOGLE,
1414 'Scheherazade New' => self::GOOGLE,
1415 'Schoolbell' => self::GOOGLE,
1416 'Scope One' => self::GOOGLE,
1417 'Seaweed Script' => self::GOOGLE,
1418 'Secular One' => self::GOOGLE,
1419 'Sedgwick Ave' => self::GOOGLE,
1420 'Sedgwick Ave Display' => self::GOOGLE,
1421 'Sen' => self::GOOGLE,
1422 'Send Flowers' => self::GOOGLE,
1423 'Sevillana' => self::GOOGLE,
1424 'Seymour One' => self::GOOGLE,
1425 'Shadows Into Light' => self::GOOGLE,
1426 'Shadows Into Light Two' => self::GOOGLE,
1427 'Shalimar' => self::GOOGLE,
1428 'Shanti' => self::GOOGLE,
1429 'Share' => self::GOOGLE,
1430 'Share Tech' => self::GOOGLE,
1431 'Share Tech Mono' => self::GOOGLE,
1432 'Shippori Antique' => self::GOOGLE,
1433 'Shippori Antique B1' => self::GOOGLE,
1434 'Shippori Mincho' => self::GOOGLE,
1435 'Shippori Mincho B1' => self::GOOGLE,
1436 'Shojumaru' => self::GOOGLE,
1437 'Short Stack' => self::GOOGLE,
1438 'Shrikhand' => self::GOOGLE,
1439 'Siemreap' => self::GOOGLE,
1440 'Sigmar One' => self::GOOGLE,
1441 'Signika' => self::GOOGLE,
1442 'Signika Negative' => self::GOOGLE,
1443 'Silkscreen' => self::GOOGLE,
1444 'Simonetta' => self::GOOGLE,
1445 'Single Day' => self::GOOGLE,
1446 'Sintony' => self::GOOGLE,
1447 'Sirin Stencil' => self::GOOGLE,
1448 'Six Caps' => self::GOOGLE,
1449 'Skranji' => self::GOOGLE,
1450 'Slabo 13px' => self::GOOGLE,
1451 'Slabo 27px' => self::GOOGLE,
1452 'Slackey' => self::GOOGLE,
1453 'Smokum' => self::GOOGLE,
1454 'Smooch' => self::GOOGLE,
1455 'Smooch Sans' => self::GOOGLE,
1456 'Smythe' => self::GOOGLE,
1457 'Sniglet' => self::GOOGLE,
1458 'Snippet' => self::GOOGLE,
1459 'Snowburst One' => self::GOOGLE,
1460 'Sofadi One' => self::GOOGLE,
1461 'Sofia' => self::GOOGLE,
1462 'Sofia Sans' => self::GOOGLE,
1463 'Sofia Sans Condensed' => self::GOOGLE,
1464 'Sofia Sans Extra Condensed' => self::GOOGLE,
1465 'Sofia Sans Semi Condensed' => self::GOOGLE,
1466 'Solitreo' => self::GOOGLE,
1467 'Solway' => self::GOOGLE,
1468 'Song Myung' => self::GOOGLE,
1469 'Sono' => self::GOOGLE,
1470 'Sonsie One' => self::GOOGLE,
1471 'Sora' => self::GOOGLE,
1472 'Sorts Mill Goudy' => self::GOOGLE,
1473 'Source Code Pro' => self::GOOGLE,
1474 'Source Sans 3' => self::GOOGLE,
1475 'Source Sans Pro' => self::GOOGLE,
1476 'Source Serif 4' => self::GOOGLE,
1477 'Source Serif Pro' => self::GOOGLE,
1478 'Space Grotesk' => self::GOOGLE,
1479 'Space Mono' => self::GOOGLE,
1480 'Special Elite' => self::GOOGLE,
1481 'Spectral' => self::GOOGLE,
1482 'Spectral SC' => self::GOOGLE,
1483 'Spicy Rice' => self::GOOGLE,
1484 'Spinnaker' => self::GOOGLE,
1485 'Spirax' => self::GOOGLE,
1486 'Splash' => self::GOOGLE,
1487 'Spline Sans' => self::GOOGLE,
1488 'Spline Sans Mono' => self::GOOGLE,
1489 'Squada One' => self::GOOGLE,
1490 'Square Peg' => self::GOOGLE,
1491 'Sree Krushnadevaraya' => self::GOOGLE,
1492 'Sriracha' => self::GOOGLE,
1493 'Srisakdi' => self::GOOGLE,
1494 'Staatliches' => self::GOOGLE,
1495 'Stalemate' => self::GOOGLE,
1496 'Stalinist One' => self::GOOGLE,
1497 'Stardos Stencil' => self::GOOGLE,
1498 'Stick' => self::GOOGLE,
1499 'Stick No Bills' => self::GOOGLE,
1500 'Stint Ultra Condensed' => self::GOOGLE,
1501 'Stint Ultra Expanded' => self::GOOGLE,
1502 'Stoke' => self::GOOGLE,
1503 'Strait' => self::GOOGLE,
1504 'Style Script' => self::GOOGLE,
1505 'Stylish' => self::GOOGLE,
1506 'Sue Ellen Francisco' => self::GOOGLE,
1507 'Suez One' => self::GOOGLE,
1508 'Sulphur Point' => self::GOOGLE,
1509 'Sumana' => self::GOOGLE,
1510 'Sunflower' => self::GOOGLE,
1511 'Sunshiney' => self::GOOGLE,
1512 'Supermercado One' => self::GOOGLE,
1513 'Sura' => self::GOOGLE,
1514 'Suranna' => self::GOOGLE,
1515 'Suravaram' => self::GOOGLE,
1516 'Suwannaphum' => self::GOOGLE,
1517 'Swanky and Moo Moo' => self::GOOGLE,
1518 'Syncopate' => self::GOOGLE,
1519 'Syne' => self::GOOGLE,
1520 'Syne Mono' => self::GOOGLE,
1521 'Syne Tactile' => self::GOOGLE,
1522 'Tai Heritage Pro' => self::GOOGLE,
1523 'Tajawal' => self::GOOGLE,
1524 'Tangerine' => self::GOOGLE,
1525 'Tapestry' => self::GOOGLE,
1526 'Taprom' => self::GOOGLE,
1527 'Tauri' => self::GOOGLE,
1528 'Taviraj' => self::GOOGLE,
1529 'Teko' => self::GOOGLE,
1530 'Telex' => self::GOOGLE,
1531 'Tenali Ramakrishna' => self::GOOGLE,
1532 'Tenor Sans' => self::GOOGLE,
1533 'Text Me One' => self::GOOGLE,
1534 'Texturina' => self::GOOGLE,
1535 'Thasadith' => self::GOOGLE,
1536 'The Girl Next Door' => self::GOOGLE,
1537 'The Nautigal' => self::GOOGLE,
1538 'Tienne' => self::GOOGLE,
1539 'Tillana' => self::GOOGLE,
1540 'Timmana' => self::GOOGLE,
1541 'Tinos' => self::GOOGLE,
1542 'Tiro Bangla' => self::GOOGLE,
1543 'Tiro Devanagari Hindi' => self::GOOGLE,
1544 'Tiro Devanagari Marathi' => self::GOOGLE,
1545 'Tiro Devanagari Sanskrit' => self::GOOGLE,
1546 'Tiro Gurmukhi' => self::GOOGLE,
1547 'Tiro Kannada' => self::GOOGLE,
1548 'Tiro Tamil' => self::GOOGLE,
1549 'Tiro Telugu' => self::GOOGLE,
1550 'Titan One' => self::GOOGLE,
1551 'Titillium Web' => self::GOOGLE,
1552 'Tomorrow' => self::GOOGLE,
1553 'Tourney' => self::GOOGLE,
1554 'Trade Winds' => self::GOOGLE,
1555 'Train One' => self::GOOGLE,
1556 'Trirong' => self::GOOGLE,
1557 'Trispace' => self::GOOGLE,
1558 'Trocchi' => self::GOOGLE,
1559 'Trochut' => self::GOOGLE,
1560 'Truculenta' => self::GOOGLE,
1561 'Trykker' => self::GOOGLE,
1562 'Tulpen One' => self::GOOGLE,
1563 'Turret Road' => self::GOOGLE,
1564 'Twinkle Star' => self::GOOGLE,
1565 'Ubuntu' => self::GOOGLE,
1566 'Ubuntu Condensed' => self::GOOGLE,
1567 'Ubuntu Mono' => self::GOOGLE,
1568 'Uchen' => self::GOOGLE,
1569 'Ultra' => self::GOOGLE,
1570 'Unbounded' => self::GOOGLE,
1571 'Uncial Antiqua' => self::GOOGLE,
1572 'Underdog' => self::GOOGLE,
1573 'Unica One' => self::GOOGLE,
1574 'UnifrakturCook' => self::GOOGLE,
1575 'UnifrakturMaguntia' => self::GOOGLE,
1576 'Unkempt' => self::GOOGLE,
1577 'Unlock' => self::GOOGLE,
1578 'Unna' => self::GOOGLE,
1579 'Updock' => self::GOOGLE,
1580 'Urbanist' => self::GOOGLE,
1581 'VT323' => self::GOOGLE,
1582 'Vampiro One' => self::GOOGLE,
1583 'Varela' => self::GOOGLE,
1584 'Varela Round' => self::GOOGLE,
1585 'Varta' => self::GOOGLE,
1586 'Vast Shadow' => self::GOOGLE,
1587 'Vazirmatn' => self::GOOGLE,
1588 'Vesper Libre' => self::GOOGLE,
1589 'Viaoda Libre' => self::GOOGLE,
1590 'Vibes' => self::GOOGLE,
1591 'Vibur' => self::GOOGLE,
1592 'Vidaloka' => self::GOOGLE,
1593 'Viga' => self::GOOGLE,
1594 'Voces' => self::GOOGLE,
1595 'Volkhov' => self::GOOGLE,
1596 'Vollkorn' => self::GOOGLE,
1597 'Vollkorn SC' => self::GOOGLE,
1598 'Voltaire' => self::GOOGLE,
1599 'Vujahday Script' => self::GOOGLE,
1600 'Waiting for the Sunrise' => self::GOOGLE,
1601 'Wallpoet' => self::GOOGLE,
1602 'Walter Turncoat' => self::GOOGLE,
1603 'Warnes' => self::GOOGLE,
1604 'Water Brush' => self::GOOGLE,
1605 'Waterfall' => self::GOOGLE,
1606 'Wellfleet' => self::GOOGLE,
1607 'Wendy One' => self::GOOGLE,
1608 'Whisper' => self::GOOGLE,
1609 'WindSong' => self::GOOGLE,
1610 'Wire One' => self::GOOGLE,
1611 'Work Sans' => self::GOOGLE,
1612 'Xanh Mono' => self::GOOGLE,
1613 'Yaldevi' => self::GOOGLE,
1614 'Yanone Kaffeesatz' => self::GOOGLE,
1615 'Yantramanav' => self::GOOGLE,
1616 'Yatra One' => self::GOOGLE,
1617 'Yellowtail' => self::GOOGLE,
1618 'Yeon Sung' => self::GOOGLE,
1619 'Yeseva One' => self::GOOGLE,
1620 'Yesteryear' => self::GOOGLE,
1621 'Yomogi' => self::GOOGLE,
1622 'Yrsa' => self::GOOGLE,
1623 'Yuji Boku' => self::GOOGLE,
1624 'Yuji Mai' => self::GOOGLE,
1625 'Yuji Syuku' => self::GOOGLE,
1626 'Yusei Magic' => self::GOOGLE,
1627 'ZCOOL KuaiLe' => self::GOOGLE,
1628 'ZCOOL QingKe HuangYou' => self::GOOGLE,
1629 'ZCOOL XiaoWei' => self::GOOGLE,
1630 'Zen Antique' => self::GOOGLE,
1631 'Zen Antique Soft' => self::GOOGLE,
1632 'Zen Dots' => self::GOOGLE,
1633 'Zen Kaku Gothic Antique' => self::GOOGLE,
1634 'Zen Kaku Gothic New' => self::GOOGLE,
1635 'Zen Kurenaido' => self::GOOGLE,
1636 'Zen Loop' => self::GOOGLE,
1637 'Zen Maru Gothic' => self::GOOGLE,
1638 'Zen Old Mincho' => self::GOOGLE,
1639 'Zen Tokyo Zoo' => self::GOOGLE,
1640 'Zeyada' => self::GOOGLE,
1641 'Zhi Mang Xing' => self::GOOGLE,
1642 'Zilla Slab' => self::GOOGLE,
1643 'Zilla Slab Highlight' => self::GOOGLE,
1644 ] );
1645 }
1646
1647 return $fonts;
1648 }
1649
1650 /**
1651 * Get font type.
1652 *
1653 * Retrieve the font type for a given font.
1654 *
1655 * @since 1.0.0
1656 * @access public
1657 * @static
1658 *
1659 * @param string $name Font name.
1660 *
1661 * @return string|false Font type, or false if font doesn't exist.
1662 */
1663 public static function get_font_type( $name ) {
1664 $fonts = self::get_fonts();
1665
1666 if ( empty( $fonts[ $name ] ) ) {
1667 return false;
1668 }
1669
1670 return $fonts[ $name ];
1671 }
1672
1673 /**
1674 * Get fonts by group.
1675 *
1676 * Retrieve all the fonts belong to specific group.
1677 *
1678 * @since 1.0.0
1679 * @access public
1680 * @static
1681 *
1682 * @param array $groups Optional. Font group. Default is an empty array.
1683 *
1684 * @return array Font type, or false if font doesn't exist.
1685 */
1686 public static function get_fonts_by_groups( $groups = [] ) {
1687 return array_filter( self::get_fonts(), function( $font ) use ( $groups ) {
1688 return in_array( $font, $groups );
1689 } );
1690 }
1691
1692 public static function is_google_fonts_enabled() : bool {
1693 if ( null === static::$is_google_fonts_enabled ) {
1694 $default_value = '1';
1695
1696 // TODO: For future use, using for new installs.
1697 //$is_new_site = Upgrade_Manager::install_compare( '3.10.0', '>=' );
1698 //$default_value = $is_new_site ? '0' : '1';
1699
1700 $option = get_option( 'elementor_google_font', $default_value );
1701
1702 static::$is_google_fonts_enabled = '1' === $option;
1703 }
1704
1705 return static::$is_google_fonts_enabled;
1706 }
1707
1708 public static function get_font_display_setting() {
1709 return get_option( 'elementor_font_display', 'auto' );
1710 }
1711
1712 public static function reset_local_cache() {
1713 static::$is_google_fonts_enabled = null;
1714 static::$font_groups = null;
1715 }
1716 }
1717