UP3dUP6p`UP6tU6<U`6U`@7+U`8>dUP;p`UP;tU;<U`;U`<.|U <EU`P<BPU<mU<4@eU@<+U`=>U``?.tU`(?mU?4@eU?+|U0@EdU`8@pU@<`UP@2|UH@E UP@UP@tPU @`U `@2PU0@AU0@>xU@EU@P`ERUPxEpdUPEpU`E<`U`PE2`U`FtUpE<UppEpUp@Js@eU`J+ UpKQUK>pUpMs@eUM+ UpNQU`N|UOEU`POBPUO@eU`O+U`P>UO*tU`Q@eUQ+|UREdU`RpUR<`UPR2|URE URUPRtPU R`U `R2PU0RAU0R>U U>p@p@f@p@p@QA8A8A؝@@`A&A8&Ap@PZ@xZ@`$A$A@A@<@5@ @@Hͷ@ ͷ@K^f@f@QAQA8A8A؝@@`A&A8&Ap@PZ@xZ@`$A$A@A@<@@0tUPH?0tU`H?cUG`IRUPIpUI<hU@I.ЇU(JpcUp0K8JRUPJpUJ<U`JpUJ<`UPJ2UJ<mUJ4@eUJ+cUhQ@pLRU0LpUL<UM>UI*cU2PRUPpUPPPBU``PBoUPdjUʡKp P^` U pPoUPdjUʡK 0P^` U0PU@P<ic' => __( '900 Italic', 'inspiro' ), ); } return apply_filters( 'inspiro/font-weight', self::$font_weight ); } /** * Get font weight for selected Font Family passed by setting key * * @param string $setting_key The setting key name for Font Family control. * @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager. * @return array */ public static function get_font_family_weight( $setting_key, $wp_customize ) { $font_family_weight = array( '' => __( 'Inherit', 'inspiro' ), ); if ( ! is_object( $wp_customize->get_setting( $setting_key ) ) ) { return $font_family_weight; } $default = $wp_customize->get_setting( $setting_key )->default; $select_font_family = get_theme_mod( $setting_key, $default ); $font_family = self::clean_google_fonts( $select_font_family ); $all_font_weight = self::get_all_font_weight(); if ( isset( self::$google_fonts[ $font_family ][0] ) && is_array( self::$google_fonts[ $font_family ][0] ) ) { foreach ( self::$google_fonts[ $font_family ][0] as $font_weight ) { // Skip font variants (italic, i). if ( strpos( $font_weight, 'italic' ) === false || strpos( $font_weight, 'i' ) === false ) { $font_family_weight[ $font_weight ] = $all_font_weight[ $font_weight ]; } } } return $font_family_weight; } /** * Get font presets * * @return array Array of all font presets for Inspiro theme */ public static function get_font_presets() { if ( empty( self::$font_presets ) ) { self::$font_presets = array( array( 'name' => 'Default', 'image' => 'system.png', 'mods' => array( 'body-font-family' => '', 'body-font-size' => '16', 'body-font-weight' => '400', 'body-text-transform' => '', 'body-line-height' => '1.8', // TODO: add all settings here. ), ), ); // TODO: add font presets. } return apply_filters( 'inspiro/font-presets', self::$font_presets ); } /** * Clean font name. * * Google Fonts are saved as {'Font Name', Category}. This function cleanes this up to retreive only the {Font Name}. * * @since 1.3.0 * @param string $font_value Name of the font. * * @return string Font name where commas and inverted commas are removed if the font is a Google Font. */ public static function clean_google_fonts( $font_value ) { // Bail if fontVAlue does not contain a comma. if ( strpos( $font_value, ',' ) === false ) { return $font_value; } $split_font = explode( ',', $font_value ); $google_font_value = str_replace( "'", '', $split_font[0] ); // Check if the cleaned font exists in the Google fonts array. $google_fonts = self::get_google_fonts(); if ( isset( $google_fonts[ $google_font_value ] ) ) { $font_value = $google_font_value; } return $font_value; } } }