ZdAbfe ќ9[G)G txڗȤd5L 7/ ^8KjL&rguGط1"ؤs"[Z޿ۛ5; ojV[4b`~g0d RJ4]):HoJ ]6>g'c<_}tR/.,a7oOa׷?QI; @7}sW١jbB*c4&p ܎eD&z@nb`b\Kb%}/X֖Q1/Lm>h/W&kdmB;M&=_@PɈsK/Y8!c/7V9::v_t8ѧK|!>q{C0"GmQ"EKX]x8dɺTv,vl`e p)Mma;Ǒ+]54ʨB[fuK"’"y*B=,c⒄+ں=gRCyiMHHBmg &*lsSmnj2?>",P04/lawgnLw_j*Sm8p}坊*y!5U2:&1dMeP=Qߍkf)u%ᣊ 86qc4nkp}{;,0Op w<*3=N1W pi :E joF ѳz[񮍎gCRF+?Ppoa2M؟@~ׯm j騢I!TY re#9ٸgqZ>mp;7!A?-Εa3㠺_aK``TMy2EqTsU-Rva+eH O5 GiiH^xV+*P҇GP3MТ-YJc=-*T{)AhS`Qlp+ gӜ@i$_bB n褑;WıAAj(}6ܶ'ђ'waj87w%?E-k 0}۶l a.d$5;u!F8$*QE.t!{i,ӕ.6a%6-X}?~  e6M-6/USAMMܵ8rj*>=`Yߑ?zrk&@2291&?sJ^M_cN}Q`q'I {4d*1 [i9Bvb IzHB迊FW1+]HQULc<tMtc(Ӹ$0 ʫ {eZt x_O! 4o?ZKd x)|HF8!XI[Oۛ輪A/UI5Zr:>u݊T>Z-P]DKOMN:n.38EE+HӪCr~޻0 ! s04JcϨZ5_qZ bͱ+*fљʫ$WLg_zv׆L#i٣Q{ %k6tezu9S4#:W4кD.Øzmp Ge$#nJRqi5o/n|y&æ2%@1`|ә2*c{ ή8VP3>w~x;Y.cC'&+VLy3"B}>:';ipy$E+:kC]t1*қ=̰§53&EoqU:-k)x`wP"`fOgٌ | jwFy@ 2V:YՔd霃.Sgqpԋp&Ð%r>.ʷI&N.۲c9ecӔR$PMD-I͡ AW&۔7-ZV9n*T5[ƃ`(k |t` L/3UF)9'b.e0QsD^7iE8J8ҲgSF`5j ٱ@a<3'}vȒӊ"-7|х&6M%3x_ighei֌1ǍW| 蚊̋v 5."hd8N6{Ӭb,u"=Jy2uH y}o!h| dsIN;XH&bWדWGGjkn~I7-)t;gn3uYC7u6rʏ'f]{A=M/8aCٲO"|P;솫!wCo|DW>r1 ' E+ XF")Z=2^*$,OZ'=㔍9bn梋 !SG2sԐsoD+#[nk4d6I*~ުZ02nj4 E*('w9 ,]l5%05 8 tD[?t꬟&q>)fMzaJh?*;KgO8N4f[Q}e &p_S(ٺK#Yʢ]iAnAO`[MW$kbS`jMKZӘ#c2 :0W`6]ԾJM9rLۋ˼hlS[^GՆnQ}^⒗c۬gHwTTΎYr =jzrr2)K: : K̻TW;YOsIEF#oR 0lv+I:N\jՔj*_f@UCl L}| ~|[4F6THge/⬪ aL^uCGm?l"ϻFR'(TɚZ&|IК!ۛpq[d/ `ܭLx%F;|cF~9x1!1 bEpfe"l1a gd#TlK0ւځZ͐ɲ23awM,xd-H0Ŀs7 Iń|0ET렃9a{0SBC:)(5r0)YLq4ӑ^aWO<ŰRZߘ/iA}(t/Z ԨR )CJ`m߁G~2'k76 JV]1ir 䫟}8@k|8Y~QZ:F3vYbVN%2J\}^;hM رjt5Ȃٰ&4F=0L-VyjKf;O7%$D-2_nts ) ); } if ( is_array( $variants ) ) { $key = array_search( 'inherit', $variants ); if ( false !== $key ) { unset( $variants[ $key ] ); if ( ! in_array( 400, $variants ) ) { $variants[] = 400; } } } elseif ( 'inherit' == $variants ) { $variants = 400; } if ( isset( self::$fonts[ $name ] ) ) { foreach ( (array) $variants as $variant ) { if ( ! in_array( $variant, self::$fonts[ $name ]['variants'] ) ) { self::$fonts[ $name ]['variants'][] = $variant; } } } else { self::$fonts[ $name ] = array( 'variants' => (array) $variants, ); } } /** * Get fonts * * @return array */ public static function get_fonts() { do_action( 'inspiro/get_fonts' ); return apply_filters( 'inspiro/add_fonts', self::$fonts ); } /** * Get google font url * * @return string */ public static function get_google_font_url() { return self::$google_font_url; } /** * Renders the tag for all fonts in the $fonts array. * * @since 1.3.0 * @return void */ public static function render_fonts() { $font_list = apply_filters( 'inspiro/render_fonts', self::get_fonts() ); $google_fonts = array(); $font_subset = array(); $system_fonts = Inspiro_Font_Family_Manager::get_system_fonts(); foreach ( $font_list as $name => $font ) { if ( ! empty( $name ) && ! isset( $system_fonts[ $name ] ) ) { // Add font variants. $google_fonts[ $name ] = $font['variants']; // Add Subset. $subset = apply_filters( 'inspiro/font_subset', '', $name ); if ( ! empty( $subset ) ) { $font_subset[] = $subset; } } } self::$google_font_url = self::google_fonts_url( $google_fonts, $font_subset ); wp_enqueue_style( 'inspiro-google-fonts', self::$google_font_url, array(), INSPIRO_THEME_VERSION, 'all' ); } /** * Google Font URL * Combine multiple google font in one URL * * @link https://shellcreeper.com/?p=1476 * @param array $fonts Google Fonts array. * @param array $subsets Font's Subsets array. * * @return string */ public static function google_fonts_url( $fonts, $subsets = array() ) { /* URL */ $base_url = '//fonts.googleapis.com/css'; $font_args = array(); $family = array(); $fonts = apply_filters( 'inspiro/google_fonts_selected', $fonts ); /* Format Each Font Family in Array */ foreach ( $fonts as $font_name => $font_weight ) { $font_name = str_replace( ' ', '+', $font_name ); if ( ! empty( $font_weight ) ) { if ( is_array( $font_weight ) ) { $font_weight = implode( ',', $font_weight ); } $font_family = explode( ',', $font_name ); $font_family = str_replace( "'", '', inspiro_get_prop( $font_family, 0 ) ); $family[] = trim( $font_family . ':' . rawurlencode( trim( $font_weight ) ) ); } else { $family[] = trim( $font_name ); } } /* Only return URL if font family defined. */ if ( ! empty( $family ) ) { /* Make Font Family a String */ $family = implode( '|', $family ); /* Add font family in args */ $font_args['family'] = $family; /* Add font subsets in args */ if ( ! empty( $subsets ) ) { /* format subsets to string */ if ( is_array( $subsets ) ) { $subsets = implode( ',', $subsets ); } $font_args['subset'] = rawurlencode( trim( $subsets ) ); } $font_args['display'] = 'swap'; return add_query_arg( $font_args, $base_url ); } return ''; } } } /** * Kicking this off by calling 'get_instance()' method */ Inspiro_Fonts_Manager::get_instance();