diff --git a/src/wp-includes/fonts/class-wp-font-face.php b/src/wp-includes/fonts/class-wp-font-face.php index 07cd3d6de9002..3dc4ab405e0dd 100644 --- a/src/wp-includes/fonts/class-wp-font-face.php +++ b/src/wp-includes/fonts/class-wp-font-face.php @@ -362,13 +362,7 @@ private function build_font_face_css( array $font_face ) { * Wrap font-family in quotes if it contains spaces * and is not already wrapped in quotes. */ - if ( - str_contains( $font_face['font-family'], ' ' ) && - ! str_contains( $font_face['font-family'], '"' ) && - ! str_contains( $font_face['font-family'], "'" ) - ) { - $font_face['font-family'] = '"' . $font_face['font-family'] . '"'; - } + $font_face['font-family'] = WP_Font_Utils::normalize_css_font_family_name( $font_face['font-family'] ); foreach ( $font_face as $key => $value ) { // Compile the "src" parameter. diff --git a/src/wp-includes/fonts/class-wp-font-utils.php b/src/wp-includes/fonts/class-wp-font-utils.php index 0ec36abc3f64b..df75c8983bb2d 100644 --- a/src/wp-includes/fonts/class-wp-font-utils.php +++ b/src/wp-includes/fonts/class-wp-font-utils.php @@ -29,7 +29,7 @@ class WP_Font_Utils { * @param string $item A font family name. * @return string The font family name with surrounding quotes, if necessary. */ - private static function maybe_add_quotes( $item ) { + public static function normalize_css_font_family_name( $item ) { // Matches strings that are not exclusively alphabetic characters or hyphens, and do not exactly follow the pattern generic(alphabetic characters or hyphens). $regex = '/^(?!generic\([a-zA-Z\-]+\)$)(?!^[a-zA-Z\-]+$).+/'; $item = trim( $item ); @@ -67,14 +67,14 @@ public static function sanitize_font_family( $font_family ) { if ( str_contains( $output, ',' ) ) { $items = explode( ',', $output ); foreach ( $items as $item ) { - $formatted_item = self::maybe_add_quotes( $item ); + $formatted_item = self::normalize_css_font_family_name( $item ); if ( ! empty( $formatted_item ) ) { $formatted_items[] = $formatted_item; } } return implode( ', ', $formatted_items ); } - return self::maybe_add_quotes( $output ); + return self::normalize_css_font_family_name( $output ); } /**